控制就是指 CPU 和各种设备之间配合进行数据的输入输出处理。程序的使用目的大体可以划分为两类。一类是大家作为工具来使用的程序。例如,文字处理器这个程序,大家是将其作为文档处理的工具来使用的。虽然用笔及尺子等也可以作成文档,不过用文字处理器会更有效率。这种情况可以说是程序替代了现有的工具。另外一个使用目的是用程序来代替执行人类的思考过程。
通常所说的随机数指的是统一随机数。统一随机数指的是在一定数值范围内各数出现频率相同的随机数形式。C 语言中的 rand() 函数的返回值就是统一随机数。
习惯也是人类的思考方式。而如果要用程序来表示人类的习惯,就需要对习惯进行定量表现。
随机数色子是用来产生随机数的一种工具,每个色子有 20 面。晃动随机数色子后,出现在正面的数字就是随机数。由于计算机没法晃动随机数色子,因此程序一般会通过生成类似于随机数的数值公式来得到随机数。在 C 语言中,虽然该公式的实体是隐藏的,但只要调用 rand() 函数,就可以得到结果(随机数)。不过,由于借助公式产生的随机数具有一定的规律性,因此并不是真正的随机数,通常称为伪随机数。不过,虽然是伪随机数,仍然十分有用。作为参考,这里向大家介绍一个获取伪随机数的公式。该公式称为线性同余法[5]。如果把 Ri 作为当前随机数的话,那么下一个出现的随机数 Ri + 1 就可以用下面的公式来获取。
Ri+ 1 = (a × Ri + b) mod c
公式中出现的 mod,是整除后取余的意思。同 C 语言的 % 运算符的功能是一样的。C 语言的 rand() 函数中,也肯定通过某些公式生成了伪随机数。
人类的日常判断通常是根据直觉和经验做出的。直觉并不仅仅是简单的任意思考,通常还带有一些个人的思维习惯。通过借助随机数,思考习惯等也是可以表示的。而如果在此基础上再加上经验(记忆)元素的话,想必就可以作成更接近人类思考的程序了。单纯就记忆能力来说,计算机要比人类强大得多。不过,如果太过于强大的话,可能又会不像人类的思考方式了。
人工智能是用计算机来实现人类智能的尝试。从计算机诞生之初的 1950 年代开始,关于人工智能的研究就层出不穷,到现在已经有了大量成果。不过,计算机本身并不智能,它只是运行了表现人类思考方式的程序而已。也就是说,开发程序的程序员,赋予了计算机这些智能。程序只是将人类的想法在计算机上进行了重现。