1.1 从计算机到人工智能
人类是勤劳和智慧的,自进入文明社会开始,人类一直在发明新的工具,以替代人类更好地工作。如原始社会的弓箭、石斧,奴隶社会的青铜器,封建社会的铁制农具,工业社会的机器等。1946年世界上第一台可编程电子计算机(Computer)诞生了,其只认识“0”“1”数值,“0”和“1”的不同组合代表了人类可以识别的不同的数字、语言、图像等符号,如“0011 0001”代表ASCⅡ码的字符“1”,“0011 0010”代表ASCⅡ码的字符“2”等,这些8位的二进制编码被称为计算机可以直接识别的机器码。这个机器码是最低级的编程语言(Programming Language),目前全世界能熟练使用它的人非常少。
自然,人们还是喜欢用容易理解的符号来编程,如用英文来编程,只要熟悉基本的英语单词,那么无论是阅读代码还是编写代码,人们会感觉比较轻松。不过计算机不能直接识别并执行这些人类可以直接阅读的高级语言,需要通过中间工具把它们转换为机器语言,才能被执行。这个中间工具就是编译器或解释器。编译器是把所编写的代码一次性翻译成机器码,这种方式需要耗费编译时间,但执行速度快;解释器好比是现场翻译员,写一行代码,翻译并执行一行代码。这种带有中间翻译功能的对人类阅读友好的编程语言被称为高级编程语言。图1.1所示的为高级编程语言转换为机器语言并被执行的过程。
(https://www.daowen.com)
图1.1 高级编程语言转换为机器语言并被执行的过程
目前,世界范围最流行的高级编程语言包括Python、C、C++、Java等。本书选择最容易学习而且使用范围最广,可以跟大数据、人工智能直接接触的编程语言——Python语言,作为本书的主要学习内容。
1950年10月,英国人图灵指出:如果第三者无法辨别人类和机器反应的差别,则可以认为该机器具有人工智能(Artificial Intelligence,AI)。由此可以认为,如果计算机通过编程,能代替人类做加减乘除运算,能判断事务的真假,能进行数学统计,能识别声音、图像等,则这样的计算机就是智能的。