《程序是怎样跑起来的》——第12章 让计算机“思考”

一、作为 工具”的程序和为了“思考”的程序
1、程序就如同是由计算机执行的各种指令罗列起来的文章。计算机内部的 CPU,通过对该文章的内容进行解析和运行,来控制连接到计算机的各种外围设备。具体来说,控制就是指CPU 和各种设备之间配合进行数据的输入输出处理。
2、程序的使用目的大体可以划分为两类。一类是大家作为工具来使用的程序。另外一个使用目的是用程序来代替执行人类的思考过程。
示例:电饭煲中内置的微计算机代替执行了人类的思考过程

二、用程序来表示人类的思考方式
1、用程序来实现人类的思考过程

用随机数决定出拳的方式,同随意而定的思考方式是相同的。通常所说的随机数指的是统一随机数。统一随机数指的是在一定数值范围内各数出现频率相同的随机数形式。C语言中的rand)函数的返回值就是统一随机数。
随意决定出拳的猜拳游戏程序示例:


运行结果:

运行结果和计算机的出拳信息:

2、用程序来表示人类的思考习惯:真正的计算机并不具有习惯,只是运行了具有的习惯的程序。
具有习惯的猜拳游戏程序示例:

运行结果和计算机的出拳信息:

三、随机数
1、程序生成随机数的方法:在编写游戏程序时,以及在计算机模拟等情况下,经常使用随机数。随机数也是用程序来表示人类的直觉及念头的一种方法。
随机数色子“是用来产生随机数的一种工具,每个色子有20面。晃动随机数色子后,出现在正面的数字就是随机数。由于计算机没法晃动随机数色子,因此程序一般会通过生成类似于随机数的数值公式来得到随机数。在C语言中,虽然该公式的实体是隐藏的,但只要调用rand)函数,就可以得到结果(随机数)。不过,由于借助公式产生的随机数具有一定的规律性,因此并不是真正的随机数,通常称为伪随机数。不过,虽然是伪随机数,仍然十分有用。
2、(1)计算机模拟指的是利用计算机模拟实际试验的方式。经常被用于建筑物的耐震实验等实际难以进行的实验中。使用随机数的计算机模拟有时也称为“蒙特卡洛法”,来源于因赌博而闻名的城市--蒙特卡洛。
(2)随机数色子的各面上都标有120(或110每两个面为同一个数值)的数值。晃动随机数色子后,就可以得到120(或110)的一个随机数。
(3)除了线性同余法以外,还有其他获取伪随机数的方法。如可以获得更接近“真实随机数”的“乘同余法”、“M系法”以及能够快速生成随机数的“Knuth减算法”等。
3、用线性同余法获得的随机数具有周期性

四、用程序来表示人类的思考方式
1、思考方式:我们已经用程序表示了直觉、想法、习惯以及经验等。不过,除此之外,人类还有一个思考方式。思考方式是思考方法的节奏。具有节奏感的短语,人类会在此基础上做出判断,这就是思考方式。
2、人工智能:人工智能是用计算机来实现人类智能的尝试。从计算机诞生之初的1950年代开始,关于人工智能的研究就层出不穷,到现在已经有了大量成果。不过,计算机本身并不智能,它只是运行了表现人类思考方式的程序而已。也就是说,开发程序的程序员,赋予了计算机这些智能。程序只是将人类的想法在计算机上进行了重现。

posted @ 2024-02-24 16:27  加克  阅读(3)  评论(0编辑  收藏  举报