第二百零九章 计算的本质(下)(1 / 2)
笔趣阁 最快更新电脑附身 !
杨林呵呵一笑,说道:“这是书籍上关于计算机的定义。但是在我看来,这种定义实在是太过刻板了。何谓计算机,计算机的本质就是一个加法器(仅会1+1)和一个搬运工。”
众人不由得微微一愣。
杨林道:“减法用补码加,乘法多次算,除法转乘法,这是计算;8位一字节,128个ascii码,数字就成了字母;字母组单词单词做指令,数可以代表指令也可以代表运算部件,指令有操作码和操作数,指挥加法器操作数,这就是汇编。”
“图像rgb三元色256灰度,声音44.1khz采样,汉字两字节unicode。于是我们经常听到的声音就变成二进制01代码。有了这些,我便可以用单片机控制led显示屏,我传1你就亮,这是开关。当我128*64个液晶一起,这是128*64液晶显示屏。”
“怎么现实矩阵数码这几个字?怎么使用键盘扫描a这个字母?怎么打开wifi模块?怎么写驱动?这都是c语言在干的。这就是驱动。”
“驱动出来了,处理器改怎么分配时间,内存怎4,he怎么分,进程何时用,外设驱动怎么处理,等等,这些写好了就是简易操作系统。”
“屏幕可以任意显示了,音响可以随意响了,有os做底层支撑了,然后我让屏幕显示一把枪。我定义它为一个物体,定义一些操作。比如扣动扳机。再定义一些人物,场景。定义一些规则,这就是cs。这里枪只是一个枪,我不会去管它怎么画怎么显,我只要知道他是一个东西,我可以用它。这就是面向对象编程。”
杨林不疾不徐地说着,整个会议室静得针落可闻,他的声音却仿佛带着一种奇特的韵律,虽然说的都是众所周知的一些基础,但再结合刚才的那份矩阵语言资料。所有人都有种醍醐灌顶的感觉。
杨林顿了顿,继续道:“从计算机诞生之初到现在,我们所编写的所有程序的运算过程就是在不停地做数学题,即使所谓编写游戏,也就是把游戏的规则和游戏的效果转化为数学题。”
“电脑上fps 游戏的本质活动就是不停地求三维座标系下的多面体经过变换之后在二维平面上的投影,不停地判断两个多面体是否彼此重叠,以及不停地寻找两个顶点之间的最短路径,最终达到让怪物冲到你面前咬你一口的目的。不止游戏如此,其他软件也都差不多。每一个细节都是某种数学题。我们浏览的网络页面顶端的蓝色导航条背景,就是css描述的一个浅蓝到深蓝的渐变。渐变是怎么回事呢?给出两个数字分别代表两种颜色,以及第三个数字代表一段距离,求一系列颜色的数值以及次序。使得这段距离中两种相邻颜色之间的变化最小。”
“所以说,一切编程语言最终都只能做数学题,根据给定的数据。算出另一些数据,算出更多的数据。然后存贮、发送或者呈现算出的数据。”
“但是对人工智能而言,里面很多有技术都需要用到随机运算和决策。这和计算机按照既定程序按部就班运行形成了矛盾。目前我们常用的基于c/c++的rand 等函数实现随机运算决策,当然也有吊炸天的boost库可以实现各种伪随机,但这些函数的应用范围非常有限,属于极为初级的人工智能函数语言。正因为如此,我一直在思考,能不能设计出一款全新的计算机语言,能够让那些普通的程序员也能设计出具备人工智能功能的程序,这就是我设计矩阵语言的初衷。”
“因此,在矩阵语言中,我加入了许多全新的模糊算法函数,并且使得计算机在决策过程中实现类似于模糊决策的能力。这样以来,即使普通的程序员,也能够通过矩阵语言完成人工智能的软件设计工作。更重要的是,这款矩阵语言开发工具是为我们的matrixos量身定制的,通过它设计的程序可以和我们的matrixos操作系统完美兼容。”