《哥德尔·艾舍尔·巴赫》

一本空前的奇书,以精心设计的巧妙笔法介绍了数理逻辑、可计算理论、人工智能等领域的艰深理论,是计算机领域的科普入门书


即使记录了一些笔记,但绝不代表自己真的看懂这本书!

GEB

EGB

人工智能研究中的一个重大问题,就是要指出如何跨越两种描述的鸿沟,即如何构造这个系统,使它可以接收一个层次上的描述,然后从中生成另一个层次上的描述

自我认知时的混乱,是因为我们本身由许多层次构成,同时我们用重叠的语言在所有层次上描述自己
计算机系统也有许多层次的描述共存。计算机程序在运行的时候,可以在若干个层次上观察它
在低层次,描述复杂的就像对电视屏幕上光点的描述一样,但就某些目的而言,这是最重要的视角,在最高层次,描述极大程度地组块化

存储器被分为若干称为字的物理上分离的单元,一个字可以分为计算机科学的原子的东西:位。一个位不过是一个开关,但是就像钱可以有各种不同的用途,32位组成的字也可以解释成不同的功能

汇编语言的主要意义不在于它和机器语言并不显著的区别,而是一个关键想法,程序完全可以在不同的层次上编制

任何程序都是在机器语言层次运行,但是用汇编语言来考虑同样合理,没有理由排斥一个以更好层次观点进行的事物描述

计算机靠自己把程序从高层次翻译到了低层次

把高级语言翻译成低级语言的过程就像从应用题传换成方程式一样复杂

50年代,编译程序被编制出来,同时解释程序被发明出来,这两者就像同声翻译和书面翻译

不妨把Lisp语句只看成一条条数据,它们被连续送到一个不停运行的机器语言程序即Lisp解释程序

第一个编译程序是用汇编程序书写的。随着复杂度升高,人们意识到,一个部分完成了的编译程序可以对其他部分进行编译,这称为自举。就像刚学会母语的幼儿,可以利用语言取得新的语言,因而语言能力飞速增长

程序在出毛病的时候,能够在不同的层次上思考才变得重要起来。报告程序出错的说明往往低于程序书写该程序的层次

对于编写编译程序、解释程序的程序员,最大的问题就是想办法编写差错子程序,以便给那些程序出错的用户提供高层而非底层的问题描述说明

实际上,大脑中一定存在着某种类似操作系统的事件,同时控制多重刺激,决定哪一种优先于其他,优先权保持多久,紧急情况和偶发事件造成的中断,等等

理解和构造智能的关键之一就存在于语言的不断开发和改进之中

程序员在使用那种语言时,就被引入程序空间的那些区域,因而为程序员做某些事情提供便利

使用不同的语言编程就像使用不同的调式作曲,每个调式都有独特的感情色彩

软件和硬件的区别到底是什么?就像我们自身,我们不能期望长出任何颜色的头发,但我们能为我们的心智重新编程。这意味着我们不能让大脑的神经元兴奋一些或慢一点,不能重建他们的内部结构,但我们仍能够控制自己的思维方式。但我们的心智不能让我们快速学会一门语言,思考好几件事情,这就是大脑结构也就是硬件导致的缺陷

例如球队中的球员,他们在成为更大的系统的一部分时,自身的个性已经改变,这种系统称为几乎可分解系统,物理学中的原子结构就印证了这一点,但是物理中也有其反例,系统中包含的极强的相互作用,使得其成分被系统吞没,丧失部分或全部个性。例如夸克,它是一种假象的粒子,它能帮助理解质子和中子的某些性质,但自身的存在可能永远无法被单独确认,这种系统称为几乎不可分解系统

在科学的层次结构中,层次间总是有些渗透的,因此化学家无法完全不考虑低层的物理学,生物学家无法不考虑化学,但是两个相距较远的层次间几乎没有渗漏

一个人所需的一切不过是一个关于最高层活动方式的模型??

编程序的语言层次越高,越无法确切知道你让计算机干的事。计算机只能做你告诉它去做的事

旁效现象:类似于量变引起质变,就像运动员100米能跑10秒,这个时间是他的身体构造和反应时间的一个结果,但这个值却没有存储在体内的任何地方。又如,操作系统也许只能应付35个以内的用户,超过35个反应时间就会变得很慢,这个数值也并没有烧录在计算机内部,但是整个系统组织一个可以看见的结果