分享
 
 
 

有趣的算法世界---算法之根(2)

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

很高兴又和大家见面,我们继续我们的”有趣的算法世界”之旅.

既然文章的题目为”算法之根”,当然我希望能带您来看看算法世界的本源------开始形式化的地方.上次提到了丘奇-图灵论题:

算法的直觉概念 等于 图灵机算法

这是我们本篇文章的根本.可是匆匆的,我们还没有对这个”图灵机算法”详细解说,就结束了上次之旅.这次我们详细的继续上次的风景.

宽泛的讲,图灵机是个代数结构(或代数系统).虽然经过上次,您也知道了什么是代数结构,可是,咱们先不马上就说图灵机的定义.因为上次还遗留个题目呢,那个自动窗的问题.

分析一下,这个问题可不难哦.

首先您注意到,窗子时刻只能处于两个状态之一: 关 或 开! 它改变状态的途径,也就是收集环境信息,再根据一定的控制变换决定是保持现在的状态还是改变它.这个控制变换是最为关键的,我们可以把它表示为一张表,如果假设:

a: 白天 且 天气允许 ,

b: 黑夜 或 天气不允许 .

则表为:

| a | b

关 | 开 关

开 | 开 关

由此您不难想象自动窗工作的原理.我们把它描述如下:

q为状态信号,取值为”关”或”开”,x为环境变量,取值为a或b(a,b定义如上).

(1) 置初始状态 q←窗子的状态(关或开);

(2) x←获得环境变量;

(3) 如果 x为a,做

(3.1) 如果 q为关,发送”开”信号, q←开,转(2);

(3.2) 如果 q为开,转(2);

(4) 如果 x为b,做

(4.1) 如果 q为关,转(2);

(4.2) 如果 q为开,发送”关”信号, q←关,转(2).

之所以讨论这个问题,因为它也是个模型,有穷自动机模型.它也是用来计算的,虽然它的能力远远不如图灵机;考虑到它的状态只有有限个(比如自动窗中),显然它是做不了计算机的模型的.

尽管如此,在编译原理的文法分析中,在很多单片机控制的电子产品中,它是很有所作为的.

在讨论它时,更多的是利用它的状态图,比如本例子中的状态图为:

同样,如果把它形式化,您也可以把它看作一种代数结构(想一想,把环境变量a和b看作运算).但我们不再做这项工作,我们来看更为强大的模型:图灵机.

图灵机与有穷自动机是相似的,但图灵机有一个无限的存储.它能做实际计算机能做的所有事情.作为计算机的通用模型,在1936年由图灵提出.至今我们还没有突破此模型.(虽然我是如此的希望在有生之年看到改进的计算机基本模型:)

图灵机模型用一个无限长的带子作为无限存储,它还有一个读写头,这个读写头能在带子上读,写和移动.如下图:

开始时,带子上只有输入串,其它地方都是空的.当它需要保存信息时,读写头就把信息写在带子上.为了读某个输入或写下的信息,带子可能将读写头往回移动到这个信息所在的地方.这样读,写和移动,机器不停的计算,直到产生输出为止.机器实现设置了两种状态: 接受或拒绝 状态.如果进入这两种状态,就产生输出 接受或拒绝;否则机器就继续执行下去,永不停机.

我们来看个图灵机的例子,呵呵,或许只有如此您才认可丽人魅力呢.

e.g. 玩一个小游戏,用您的数字小键盘0键随意输入一个串,如果: 0个数为2的方幂(即为2^n),那么您将被打一次手心. J

则我们可以描述一个图灵机TM M,它将胜任这项监测工作(而打手心的事由我负责J).

M=” 对输入的字符串 w:

1) 从左往右扫描整个带子,隔一个消去一个0.

2) 如果在第一步之后,带子上只剩下唯一的一个0,则接受.

3) 如果在第一步之后,带子上包含不止一个0,并且0的个数是奇数,则拒绝.

4) 让读写头回到带子的最左端.

5) 转到第一步. “

这即是一个图灵机,而且您可以证明M中的算法是可以达到要求的.当然,为了易于理解,我们给出的是图灵机算法的高层描述.图灵机有它的形式定义,也可以用状态图来描述,只是那将是相当的麻烦的.我们只给出一般的图灵机的形式定义.

如果L表示读写头往左移动一个字符,R往右.

一个图灵机是一个7元组(Q,∑,Γ,δ,q0,q1,q2),其中Q,∑,Γ都是有穷集合,并且

1) Q 是状态集.

2) ∑是输入字母表,不包括特殊空白符号︺.

3) Γ 是带字母表,其中: ︺∈Γ,∑是Γ的子集.

4) δ: Q×Γ→Q×Γ×{L,R}是转移函数.

5) q0∈Q是起始状态.

6) q1∈Q是接受状态.

7) q2∈Q是拒绝状态,且 q2≠q1.

图灵机的计算,就是这样在一定规则下的读,写与移动,规则即转移函数δ .其他形式的图灵机还有很多,例如有多个带子的或非确定性的.他们被称为图灵机的变形.而原来的普通图灵机,都是这个样子:

多带图灵机,和普通图灵机相似,只是有多个带子,每个带子都有自己的读写头,用于读和写.如下图:

开始时,输入只出现在第一个带子上,其他的带子都是空白.但转移函数允许所有的读写头同时进行读,写和移动.

看起来或许多带图灵机的计算能力比普通图灵机的能力要强,但恰非如此:它们的计算能力是等价的!这可以证明.但是,效率却未必哦.

非确定性的图灵机,非常容易理解,在计算的任何时刻,机器可以在多种可能性中选择一种继续进行.它的计算是一课树,不同的分枝对应着机器不同的可能性.如果某个计算分枝导致接受状态,则接受该输入.与多带图灵机相同的是,它的计算能力与普通图灵机也是一样的.证明过程,您可以去看一本计算理论方面的书.

至此,您是否理解了什么是图灵机?如果是的话,则请您用您带的照相机(眼睛即可),给那个丘奇-图灵论题照一次像(永远保存在您的心底),这是我们这趟旅行最可珍藏的风景之一.

本篇文章的另一部分为:

http://www.csdn.net/Develop/read_article.asp?id=20168

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有