【待整理】计算的本质

计算范式:

 http://www.absolutely-free-hosting.com/free_hosts_01.php

在计算这个问题上有两种范式,一种是计算理论的研究,侧重于从数学角度证明表达能力和正确性,比较典型的图灵机、lambda演算、pi演算这些都属于这个范畴。

另一种是计算模型的研究,侧重于对真实系统的建模和刻画,比如冯诺伊曼模型、BSP模型、LogP模型等等。

编程语言的切入点不同,同时可能会是两种范式之一或混合,比如 Lisp 更侧重于前者,C 更注重后者,而更多的语言都在寻求某种折衷。

题主可以看一看皮亚诺的自然数公理体系,最好结合着lambda演算一起看,很简单普适的模型,可以从这个角度去看计算。

另,在这个公理体系的基础上1+1=2,1+2=3是可以被证明的,皮亚诺给出了详细证明,邱奇数可以看作是在lambda演算的基础上建立起来的一个具体实现。

计算到底是什么,目前没有准确说法,人们连数学是什么也还有争论。就计算来讲,从图灵机和lambda算子看过去,就已经是两个世界了,更何况完备的计算模型远不止这两个。

计算模型:

  1. 图灵机
  2. Lambda算子

除了图灵机以外,人们还发明了很多其它的计算模型。包括:

机械计算的本质:

  数学基础或者逻辑基础:  布尔代数  0,1  

  任何有规律的输入,能够出现既定的输出。就可以作为计算设计的基础。

  比如电路  可以利用电子管晶体管集成电路实现

  那是否可以利用其他的物质     脑波、神经波、DNA状态转换、细胞状态变化…..   量子状态变化   其他自然现象等

  只要按照固定规律进行变化,给定相同的输入,一定出相同的输出。那是否就可以作为计算的基础。

四位计算机的原理及其实现

计算能力:

   但是计算能力最多等价于图灵机,能否超越图灵机?

多项式时间英语Polynomial time)在计算复杂度理论中,指的是一个问题的计算时间不大于问题大小的多项式倍数。任何抽象机器都拥有一复杂度类,此类包括可于此机器以多项式时间求解的问题。

以数学描述的话,则可说O,此为一常数值(依问题而定)。

http://zh.wikipedia.org/zh-cn/多項式時間

NP问题

   能否解决NR-hard的问题?解决的本质问题是什么

需要多项式时间内解决的

http://en.wikipedia.org/wiki/NP-hard

重要的复杂度类完整列表

易解复杂度类

DLOGTIME · AC0英语AC0 ·ACC0英语ACC0 ·L ·SL英语SL (complexity) ·RL ·NL ·NC英语NC (complexity) ·SC ·PP-完全 ·ZPP ·RP ·BPP ·BQP ·PolyL

怀疑难解复杂度类

UP · NPNP完全 ·NP困难 ·NP ·NP完全英语co-NP-complete ·AM英语Arthur–Merlin protocol ·PH ·PP ·#P#P-完全英语Sharp-P-complete ·IP ·PSPACEPSPACE完全英语PSPACE-complete

难解复杂度类

EXPTIME · NEXPTIME ·EXPSPACE ·ELEMENTARY ·PR ·R ·RE ·ALL

复杂度类的谱系

多项式谱系英语Polynomial hierarchy · 指数谱系 ·Grzegorczyk谱系英语Grzegorczyk hierarchy ·算术谱系

相关复杂度族

DTIME · NTIME ·DSPACE英语DSPACE ·NSPACE ·可能性核对证明英语Probabilistically checkable proof ·交互式证明系统

人工智能:

作为丹尼尔·丹内特的粉丝,我针对这个话题推荐《意识的解释》和《达尔文的危险思想》两本书。前者直接讨论了AI的问题,后者则从演化的角度讨论了我们人脑这个“AI”的诞生为何是可以想象的。但如果只想走马观花看看他的观点,《直觉泵及其他思考工具》很不错。

来自物理学角度针对AI的讨论则有彭罗斯的《皇帝新脑》,虽然我不太赞同他的观点,但他讲了很多有趣的东西。

如果你对侯世达的路线有兴趣,《集异璧》当然是必推的作品,他的后续作品同样值得一看。

与他的中文名字同样精彩的,是侯世达的成名作“Gödel, Escher, Bach: an Eternal Golden Braid”的译名——《哥德尔、埃舍尔、巴赫:集异璧之大成》。侯世达的这本书在英文世界里被简称为“GEB——取哥德尔(Gödel)、埃舍尔(Escher)、巴赫(Bach)的首字母,而中文则以“集异璧”应对。

有了图灵机的组合,我们就能够从最简单的图灵机开始构造复杂的图灵机。那么最简单的图灵机是什么呢?我们知道最简单的信息就是01而最简单的计算就是对01进行布尔运算。而布尔运算本质上其实就三种:与、或、非。从最简单的逻辑运算操作最简单的二进制信息出发我们其实可以构造任意的图灵机!这点不难理解:任何图灵机都可以把输入、输出信息进行01的编码,而任何一个变换也可以最终分解为对01编码的变换,而对01编码的所有计算都可分解成前面说的三种运算。也许,现在你明白了为什么研究计算机的人都要去研究基本的布尔电路。奥秘就在于,用布尔电路可以组合出任意的图灵机!

历史上有哪些智商逆天的天才?

http://www.zhihu.com/question/23228706

细胞自动机

http://zh.wikipedia.org/wiki/%E7%B4%B0%E8%83%9E%E8%87%AA%E5%8B%95%E6%A9%9F

康威生命游戏

http://zh.wikipedia.org/wiki/%E5%BA%B7%E5%A8%81%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F

Showcase your language one vote at a time [experimental challenge]

http://codegolf.stackexchange.com/questions/44680/showcase-your-language-one-vote-at-a-time-experimental-challenge

Mathematica 到底有多厉害?

http://www.zhihu.com/question/27834147/answer/38337425

Wolfram Alpha

http://zh.wikipedia.org/wiki/Wolfram_Alpha

http://www.zhihu.com/question/21726594

发表评论

电子邮件地址不会被公开。 必填项已用*标注