Quantcast
Channel: 看雪安全论坛
Viewing all articles
Browse latest Browse all 9556

【分享】计算的本质----笔记

$
0
0
不敢说是自己,是自己看别人讲。C来的。认为很经典。别喷我。:eek::eek::eek:

------------------------------分割线------------------------------------------


计算的本质是什么  

人类计算能力的极限在哪里  

计算和计算机的关系是啥  

原来程序员不需要懂正则表达式也能编程…  

计算本质的最好解释  

就是图灵机  
 
早在计算机和程序发明前  
 
就有很多探索 什么是计算  

最后发现 很多计算的模型 其能力都是等价的 极限也是共同的  

比如 四则运算 其实和程序语言基本等价  
 
人类语言 按照语言学家兼计算专家乔姆斯基的文法分类 也是一种计算机  

从正则表达式讲起  

乔姆斯基把人类语言分析成四个级别  

正则语言 上下文有关语言 上下文无关语言 最后一级我忘了…  

每一级语言都由最基础的几个语法构成  

就好像四则运算  
 
基本穷尽了人类的代数计算能力  

但其本质就只有加减乘除四种  

但四则运算是对数字的 而语法是对文字的计算 正则表达式呢 就是只不过三种最基本的  

文字计算法则:  
 
顺序 选择 重复  
 
和编程语言很像哈 因为编程语言基本就是按照语言学家 乔姆斯基老爷爷的语法规则建立起来的  

所以艺术和人文和计算也是相同的  
 
乔姆斯基老爷子似乎还活着  

是个美国愤青  

一直抨击美国政府和世界各国政府来着  

说回来 各种语言 工具里的正则表达式 都有各自规定的特性 很烦  

但本质就那三种文字计算法则  

很好记的哈 如果谁说正则很不好学  

那就是他的老师也不懂计算  

我怀疑正则语法 和四则运算 都用了则字 是跟四则运算学的  
 
好 正则语法是文字的最低一种计算方法 它的能力是有限的  

就是它能表达的语言是有限的  

好比四则运算没法做微积分  

正则能表达各种有一定规律的较短的文字  

但复杂一点的不行 我现在找不出好例子 就直接讲下一级语法  

上下文有关文法  
 
比正则高级 好比四则代数运算升级到了高等数学微积分  

所有编程语言 基本都是上下文有关文法  
 
其特点是 能够用数十条基本的文法  从头开始 推导出任何一个程序来  

每个编程语言 用数十条文法来定义就够了   

上下文有关 就是比如你写一个 =  

必然说明它左边是个变量 右边就是个表达式  

不可能石头里蹦出一个 = 来 必然是和上下文要配合的  

更高一层文字的计算能力 就是上下文无关文法  

因为编程语言 显然也还有局限 不能表达更丰富细腻的意思  

好 文字的计算 被乔姆斯基老爷子给定义了 大约是1930年左右吧  
 
但这还挺不简单的 要脑子很复杂才能对付  

图灵小伙子这时候提出了图灵机模型  
 
用一种全新的机械方法 来定义计算  
 
而乔姆斯基是用文字方法  

乔姆斯基是语言学家  

不是搞计算机的  

图灵开辟了机械的计算定义  

碰巧 机械计算也有级别  

最低的有限状态自动机  
 
好比街上的饮料自动机  
 
或者火车卖票机  

根据它当前状态和用户输入来决定下一个状态  
 
再高点到无限状态自动机  
 
到最高的图灵机  
 
都是用非常少的几个基本操作  
 
来处理输入 产生输出  
 
跟随图灵机的机械定义 后来就发展为计算机了 也有输入输出 也有内存状态  
 
本质是个高级图灵机  

但重点是  
 
人们发现  
 
有限自动机能计算的输入输出 正好对应于正则表达式  

大约也对应于四则运算对数字的计算  
 
数字 文字 都是计算的对象 本质一样  
 
而图灵机的能力  

也对应于最高级那个语法的  

人们就怀疑  
 
这些模型 本质都是计算 能力都一样  
 
换句话  

人类的计算能力有极限  

后来还有麦卡锡老头  

提出数学的计算模型能居然也等价于图灵机的计算能力  
 
后来发展成lisp语言了  
 
就是lisp创始人那老头  

花了十几年 数学家语言学家逻辑学家等 证明了这些计算模型都等价  

于是把最容易建造 理解的图灵机  

作为计算的标准模型  

你看不懂计算本质也能写程序 程序就是过程 炒菜也是计算过程  

所以过程式语言最好学了  

最高级的计算 比正则或有限自动机的多出来的基本计算  

就是递归  

人们还证明了  

超越图灵机的计算能力不存在  
 
就是人类的计算极限就是图灵机  

这下子 研究计算就有依据了  

图灵机能算的 别的模型也能算 人就能算  
 
图灵不能算的 人类就别想了  
 
图灵花指数时间算的 别人也要花指数时间  

所以时间空间复杂度 也能通过图灵机来研究了  

研究计算过程中 还有个人物 哥德尔  
 
提出一个理论 几乎摧毁了现代数学  

那理论很难精确领会 很容易变成忽悠  

大约是说  

一个理论体系 只要包括了代数系统 就必定是自相矛盾的  

大约是说 图灵机能计算四则运算吧 那么图灵机必定有无法计算 会死机的时候  

当时数学界哗然  

四则运算都被质疑了  

说明了人类计算能力 逻辑能力是有极限的  
 
只要包含了最基本的代数四则运算 这理论最后必定会遇到让自己崩溃的地方  

这是否说明人类数学理论本质上是错误的? 
 
唉 所以说这条哥德儿定理  

容易让人忽悠 崩溃  

众说纷纭  

这定理被各种模型反复证明了 但有人拼命维护数学基础  

有人就宣扬上帝  

一团乱麻  

对我们有用的是 这说明程序死机是不可避免的  

这个要研究下

图灵同性恋 乔姆斯基愤青 哥德尔隐士  

都是奇人  

那时代 计算机还没诞生  

图灵机和算盘类似 都是机械的  

但跟着这条路 发展出来电子计算机了  

又跟着乔姆斯基语法理论  

发明了编程语言  

和lisp这种数学语言  

因为他们遵循的计算模型不同 但都等价  
 
图灵很伟大 但在那个时代 同级别其实不少  

但他的模型最容易建造 理解 演算  

后来计算机就奉他为鼻祖  

要突破计算极限 假如人类能够  
 
就要回到计算本质去研究  
 
程序是局限在编程语言内部的  
 
没希望跨越计算极限  

没了 剩下都是野史了  

所以从最原始的计算 信息本质学起来的  

计算本质后 学的是计算复杂性  

就是计算让人知道计算有极限  
 
复杂性开始学 在人类能力范围内  

有什么是现实的 有什么是不现实的 能算你也别去算  

就是指数复杂度这种  

比如一个算法 我知道必定能算出来  

但等算出来人类都毁灭几百回了  

人类能算而且有现实可行性的 基本就是多项式复杂度的  

那个顶级数学家  
 
希尔伯特  
 
提出十大世纪难题  

排第一那个  

就是咱计算领域的  

np=p?  

就是说 多项式复杂度和指数复杂度能等价吗?  

一百年了 既不能证明 也不能反证  

人们找了很多经典题目 有的是人类不能算的 有的是指数可算的 有的是多项式可算的  

比如那个威尼斯七桥问题的复杂版 似乎是指数可算  

只要某人能找出一个指数能算问题等价于一个多项式能算问题  

此人拿计算机界图灵奖 和数学界界大奖 两个奖就没跑了  

意义极其深远  

现代加密解密算法都要推翻重来了

Viewing all articles
Browse latest Browse all 9556

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>