数字革命又被称之为第三次工业革命,是指计算机技术的运用对各行各业造成的冲击层面。在早期,以核能、航太、资讯工业等领域为主要,而在个人电脑及网际网络兴起后,更加的普及于民生,而此一阶段又被称为资讯革命,诞生了许多支撑现代社会运行的算法。它们的基本特征就是能够让机器更迅速及有效率的实现人类的智力活动,促成了人类社会从经济及文化的根本变革。

其实算法这门学问看似艰涩冷门,但本质上仍是为了解决人类面临的现实困难。像行程安排,就是每个人生活中常见的问题。就曾有数学教授利用算法推算出高铁要如何分段买票才最便宜,并以此来向学生科普算法在日常上的应用。

何谓算法?

算法是计算机科学中非常重要的基础科目,常用于计算、资料处理和自动推理。更精确地说,算法是一个有限长度的具体计算步骤,以清晰定义指令来使输入资料经过连续的计算过程后产生一个输出结果。简单来讲,算法就是电脑科学家为了解决问题,而设计出的一连串数学公式,以得到其想要的解答。

之所以需要算法是因为很多看似简单的生活问题其实比想像中复杂。虽然如行程规划若仅限于少数站点,其实许多人无须借助计算机,就可以得出答案。但若要替一个想环游世界的旅客量身打造最短时间的旅游行程就没那么容易,这件工作出乎意料的困难。 在假定已知每个城市间的距离,在不重复访问同一个城市下,如何求出最快速的行程组合,这就已经是电脑科学中著名的难解问题,又被称为旅行推销员问题(Travelling salesman problem, TSP)。事实上,不要说环游世界这种可能多达数十个站点的行程安排,光个位数城市的行程,不用更有效率的算法及计算机来处理,就非常繁杂。 Nearestneighbor ▲ 有效运算 7 个节点的 TSP 算法过程,若用穷举法会有数百种组合。(Source:By Saurabh.harsh (Own work) [CC BY-SA 3.0 or GFDL], via Wikimedia Commons)

而解决这些问题的算法,其用途当然也不仅是能得知怎么旅游比较有效益而已,背后数学本质的探讨与突破,有更广泛的用途。像这样的线性规划算法,早已被应用在物流、生产制程、甚至是 DNA 测序等各方面。简而言之,为了面对越来越复杂的经济及生活问题,数学及电脑科学在现代经济中,扮演的角色越来越重要。

计算的复杂性

历史上最早的算法被认为是欧几里德算法(Euclidean Algorithm),又称辗转相除法,在基础教育中其实就已提到过,是为了求得最大公因数的一种递回算法,每一步计算的输出值就是下一步计算时的输入值。这样的算法在处理大数时非常高效,也是计算复杂性理论(Computational Complexity Theory)的开端,让后来科学家进一步探讨如何运用资源进行有效计算的学问。

2000px-Complexity_subsets_pspace.svg_-e1502436573106 ▲ 在计算复杂性理论中,以时间及空间需求对问题复杂程度进行分类,前文举例的 TSP 问题就是 NP 问题中最难的一种。(Source:By Hand drawn in Inkscape Qef [Public domain], via Wikimedia Commons)

如果一个问题被认为是可计算问题,那么就表示可被一连串的机械数学步骤所解决,亦即是能被计算机处理的问题。然而现实中计算机的算力是有限的,如果一个问题的求解需要太多资源,则被认为是难解的问题。简而言之,计算复杂性理论的作用就是在研究可解问题的实际限制。

然而还有一种问题对于算法的发展更为重要,也就是不可解,不仅是资源有限,而是在数理上不可解。若有一天算法能突破原先被认为不可解的问题或许就是计算机迈向真正人工智能的一大步。所以说,虽然摩尔定律非常重要,实现了计算机的普及,而网际网络则加速了资料的传递,但算法的进步才真正发挥数位革命的影响力,也是计算机的威力所在。

算法的极限

算法的进步,简单来讲,就是让计算节点增加,但计算步骤不会呈指数式的爆发,就代表算法更有效率,也能做到更多的事。而现今的算法已能让机械高度自动化,将所有制造流程以及机械动作写进程序里,在少数人力,甚至完全不需要人力的情况下完成生产过程,还能自我检测及修正错误,这些已并非科幻。除错程序本身就是一种伟大的算法发明。

不仅如此,现今算法已经能完成一些高度复杂的工作,甚至胜任超越人类的智力活动,但还是不会将这些算法,称之为真正的人工智能,就像在围棋上战胜世界冠军的 Alpha Go 其显现的高度智力几乎已无人可及。尽管异常复杂,但围棋规则毕竟有限,所以也只是难解问题,而非真的不可解。

所以不管是多么高度自动化的系统 ,虽然在一般运行上可以完全不仰赖人力,但往往还是需要工程师进行监控,这件事却从未改变。因为真正的万能除错程序,早已被人工智能之父—图灵(Alan Turing),证明为不可解。

早在 1936 年,图灵在名为《论可计算数字及其在判定性问题中的应用》的划时代论文中即已提到,我们能不能在数学上给“可计算”(Computable)下一个精确定义,然后用数学手段来研究万事万物的可计算性?。在那个年代,其实仍未有现代个人电脑的概念,电脑(Computer)之意即为“计算者”。

而图灵发展出了图灵机(Turing machine)的概念,试图利用机器来模拟人类纸笔计算的过程,之后更证明了停机问题(Halting problem)就是一种不可解问题。简单来讲,不存在一个万能的除错算法,能够预测自己因反证法产生的错误,而这就是算法的极限之一。他更在二战期间造出解密计算机,成功破解德军的加密机(Enigma),改变了世界大战的进程。 Bombe-rebuild ▲ 图灵在二战期间建造的解密计算机 Bombe 的仿造品。(Source:by Tom Yates [CC BY 3.0], via Wikimedia Commons)

大脑与人工智能

虽然在实务上,不可解问题并没有真的造成多少应用上的困扰,例如,尽管数理上不会有完美的除错算法,但仍可能造出发现大部分程序漏洞的程序,而这已能给予人类相当大的帮助。因为少数不可解问题并不会对人类大脑造成困扰,而能很好的弥补了机器的不足之处,毕竟应该没有人的大脑会因为违背数学公理以及无限计算而当机,这点造就了大脑与机器的差距,以及互补性。

尽管如此,就如同图灵在 1950 年发布的论文《计算机与智慧》中的提问,机器到底能不能思考?仍然是许多电脑科学家亟欲解决的课题。而为了克服这样的问题,科学家甚至开始想要造出类似于人类大脑的机器。但在当时,电脑算力有限,甚至还无法有效执行图灵所写的西洋棋程序,所以这必然成为一个难解问题。 20170527-kejie-alphago-1 ▲ 现代已能战胜人类围棋冠军的 AlphaGo 棋弈程序。(Source:翻摄自 YouTube)

不过在现今医学及神经科学的进展下,这已并非完全是幻想,随着人类对自己大脑的运作方式越来越了解,令电脑科学家设计出类神经网络(Artificial Neural Network)的算法。类神经网络利用神经细胞传递资讯的方式赋予机器学习(Machine Learning)的能力,虽然后来技术发展遇到瓶颈,多层神经网络(Multi-Layer Artificial Neural Networks)被认为没有效率。

但如今,随着半导体技术的蓬勃发展,电脑算力一日千里,尤其是图像处理器(GPU)的出现,令多层神经网络以深度学习(Deep Learnig)之名再度复出,并突破了早期被认为神经网络所不能处理的“异或难题”(XOR Gate)。而其能够消化大量数据并得到准确预测,成为了“人工智能”显学,未来将广泛应用到商业技术当中。

马斯克与扎克伯格

然而这些都还称不上是真正的人工智能,离图灵时代所想像的还差之甚远。就如同前文所述,这仍无法突破算法的极限。且许多从事 AI 研究的实务专家出来澄清,人类的技术发展蓝图尚未能对如何达成真正的 AI 做出想像。但仍然无法停止许多人对未来人工智能发展及影响作出辩论。

近期最广为人知的就是著名科技创业家马斯克(Elon Musk)及扎克伯格(Mark Zuckerberg),虽然两人都不能算是专业的电脑科学家,但其象徵着对人工智能发展观点的两极。马斯克长期以来对人工智能抱持着较为悲观的态度,甚至认为人工智能的发展,可能导致人类的灭亡。他强调,人工智能最危险的地方,就在网络本身,它能制造假新闻、骇入每个人的电邮,操控资讯,甚至使战争爆发,使人类文明面对极大风险。

而扎克伯格表示,马斯克的言论是很不负责任的,他认为人工智能技术将大幅改善人类生活品质,并强调有些人不断散播 AI 是个巨大威胁是很牵强的,因为其带来灾难的可能性远比疾病和暴力还小。而针对这番话,马斯克认为扎克伯格对 AI 所知甚少。事实上,也有不少名人发布过 AI 威胁论,如著名物理学家霍金及微软创办人比尔·盖兹,基本上同意马斯克所言。

这样的辩论在企业家之间发生有另一番意义,因为就算不是电脑专家,也体悟到了 AI 的潜在威力。人工智能可能是自数位革命以来,对人类而言,影响最大的技术,不亚于网际网络。事实上,两人所陈述的观点都相当合理。长远来看,若证明机械真的能如同人类般诞生意识及思考,那么物理本质上的差异,将使得人类在效率上全面落于下风,再加上目前迹象显示,AI 的逻辑与人类截然不同,那么可能真的会引发“文明冲突”。

但从另一面来讲,机械与人类的不同,也使两者未必不能相容,只要机械一天仍然拥有算法的极限,那么有些事物就无法超越人类,但其超高的计算能力,将可让人类摆脱生物的局限,迈向更先进的经济及生活方式。虽然同样也会带来更多的社会问题,但这与网际网络的诞生也没有什么不同,原本就是人类自己应该去克服的障碍。所以马斯克与扎克伯格的想法差异就在于机械与人类之间的新关系到底是什么?而算法的极限将会是现阶段数位革命的关键。 20170916-talk-with-ai_o ▲ 著名动画《攻壳机动队》中,人类与人工智能对话的一幕。(Source:Flickr/Tim Douglas CC BY 2.0)

EETC wechat barcode


关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”。