人工智能时代,程序员要不要精通算法?

1.如何入门算法?需要学习哪些基础知识,请分享你的经验与建议。

入门算法其实很简单,拿生活中的很多现实问题来解决就可以了。比如商场打折问题(是打折划算还是满减划算),百钱买百鸡、猴子分桃、鸡兔同笼等有趣的问题。如果这些问题能够结合具体的编程语言实现就更好了。入门算法阶段主要是锻炼逻辑思维能力和思考问题、分析问题、解决问题的能力,不一定要去先把计算机专业课程《数据结构》上一遍或者枯燥的数学知识学习一遍,再去学算法。算法其实离我们并不遥远,它就在我们每个人的身边。

2.如何成为一名优秀算法工程师?需要系统掌握哪些技能?请分享你的经验与心得。

要成为优秀的算法工程师(注意这里是优秀),首先要熟练的掌握数学知识,比如大学里面学习高等数学、线性代数、概率统计、离散数学、组合数学、矩阵论等课程,就为我们成为算法工程师打下了坚实的数学基础。其次要学好《数据结构》这门课程,比如里面的链表、矩阵、树、图等各种典型的数据结构以及常用的查找和排序算法(比如二分查找、冒泡排序、快速排序、希尔排序等,并熟悉各自算法的时间复杂度)。对于通用型的算法思想,比如递归、递推、贪心、分治、动态规划等算法策略要熟记于心并能灵活运用。总之成为一名优秀的算法工程师,离不开深厚的数学功底。要能灵活的使用上述各种知识,解决实际生活中的问题。有个简单的途径就是参加ACM竞赛。通过简化生活中的实际问题,使用算法去实现,这种成就感非常强。 此外就是熟练掌握各种开发工具和开源框架(比如Caffe、TensorFlow等),能够使用编程语言(比如python或c++等)实现和验证自己的算法。

3.算法工程师有哪些分类?不同的算法工程师有什么特殊要求?请分享你的观点与看法。

算法工程师有哪些分类,这个可以根据具体的应用领域来划分。 比如: 1)图像识别 2)语音识别 3)自然语言处理 4)推荐系统 5)...

4.算法工程师的前景如何,程序员要不要精通算法?

计算机的终极应用是人工智能,人工智能的核心是机器学习,而机器学习的核心就是算法。而且随着IT信息技术的快速发展,算法不会像那些具体的IT技术一样迅速的过时(算法思想永恒),所以算法工程师的前景非常好。对于应用型程序员来说,它关注的是怎么利用各种工具、技术实现功能,快速的完成产品的开发,核心的算法并不需要去了解(比如图像识别直接调用某厂商、公司的封装好的SDK就可以了)。但要成为高级程序员如果懂点算法、知道实现的原理,就有价值的多。所以我们程序员在人工智能时代,并不一定要求精通算法,但一定要懂点算法,这样才能够跟上这个时代的步伐,不被迅速淘汰掉。

5.算法是否真的能够像科幻电影中那样预知未来?请分享你的想法。

这个未来太笼统了,如果具体化些则可行性更高一点。比如我们现在的天气预报就是根据算法来预测未来几天的天气情况的,比如AlphaGo就能够根据当前棋盘的情况,计算出最终的胜负,从而确定下一步的最佳落子方案。所以我的观点是,算法会在越来越多的领域逐渐的深入应用,从而达到“智能”的效果,但还是在人类的控制之下。

0 推荐
暂无评论,快来抢沙发哦~
guwei4037
guwei4037 V2

江苏 扬州

51经验值

http://blog.csdn.net/guwei4037

架构师,微软MVP

更多>>

相关文章