计算理论与计算模型

上传人:夏** 文档编号:568833864 上传时间:2024-07-27 格式:PPT 页数:48 大小:1,000.52KB
返回 下载 相关 举报
计算理论与计算模型_第1页
第1页 / 共48页
计算理论与计算模型_第2页
第2页 / 共48页
计算理论与计算模型_第3页
第3页 / 共48页
计算理论与计算模型_第4页
第4页 / 共48页
计算理论与计算模型_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《计算理论与计算模型》由会员分享,可在线阅读,更多相关《计算理论与计算模型(48页珍藏版)》请在金锄头文库上搜索。

1、Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.1计算理论计算理论计算模型计算模型一、计数与计算一、计数与计算 手指、石头、结绳计数,算筹计算手指、石头、结绳计数,算筹计算2.1 计算的几种视角Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd

2、.2计算理论计算理论计算模型计算模型 许多计算领域的许多计算领域的求解问题求解问题,如计算物理学、计算力,如计算物理学、计算力学、计算化学和计算经济学等都可以归结为数值计算问学、计算化学和计算经济学等都可以归结为数值计算问题,而题,而数值数值计算方法计算方法计算方法计算方法是一门与计算机应用紧密结合的、是一门与计算机应用紧密结合的、实用性很强的数学课程。实用性很强的数学课程。2.1 计算的几种视角 如对气象资料的汇总、加工并生成天气图像,如对气象资料的汇总、加工并生成天气图像,其计算量大且时限性强,要求计算机能够进行高速其计算量大且时限性强,要求计算机能够进行高速运算,以便对天气做出短期或中期

3、的预报。运算,以便对天气做出短期或中期的预报。 科学计算的过程科学计算的过程:实际问题实际问题数学模型数学模型计算方法计算方法程序设计程序设计计算结果计算结果Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3计算理论计算理论计算模型计算模型二、逻辑与计算二、逻辑与计算2.1 计算的几种视角 逻辑学有三大源泉逻辑学有三大源泉:以亚里士多德的词项逻辑和斯多以亚里士多德的词项逻辑和斯多亚学派的命题逻辑为代表的古希腊逻辑。亚

4、学派的命题逻辑为代表的古希腊逻辑。 以先秦名辩学为代表的古中国逻辑。以先秦名辩学为代表的古中国逻辑。 以正理论和因明学为代表的古印度逻辑。以正理论和因明学为代表的古印度逻辑。 逻辑是研究推理的学科,人们可以把推理看成是对符号逻辑是研究推理的学科,人们可以把推理看成是对符号的操作,即符号演算。的操作,即符号演算。 利用数学方法来研究推理的规律称为利用数学方法来研究推理的规律称为数理逻辑数理逻辑。为什么。为什么要研究数理逻辑呢?我们知道要使用计算机,就要有程序。要研究数理逻辑呢?我们知道要使用计算机,就要有程序。 程序算法数据结构,而算法逻辑控制程序算法数据结构,而算法逻辑控制Evaluation

5、 only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.4计算理论计算理论计算模型计算模型三、算法与计算三、算法与计算2.1 计算的几种视角从不同角度看,算法的定义有多种从不同角度看,算法的定义有多种:从哲学角度看:算法是解决一个问题的抽象行为序列。从哲学角度看:算法是解决一个问题的抽象行为序列。从抽象层次看:算法是一个将输入转化为输出的计算步骤序列从抽象层次看:算法是一个将输入转化为输出的计算步骤序列从技术层面看:算法是接收输入并产生输出的计

6、算过程。从技术层面看:算法是接收输入并产生输出的计算过程。 简而言之,简而言之,算法就是计算的办法或法则算法就是计算的办法或法则。 算法无处不在,每个人每天都在算法无处不在,每个人每天都在使用不同的算法来活出自己的人生。使用不同的算法来活出自己的人生。比如你去食堂买饭会选择一个较短的比如你去食堂买饭会选择一个较短的队列,而有人则可能选择一个推进速队列,而有人则可能选择一个推进速度更快的队列。度更快的队列。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-20

7、11 Aspose Pty Ltd.5计算理论计算理论计算模型计算模型 算法算法:为解决一个特定的问题所采取确定的有限步骤。:为解决一个特定的问题所采取确定的有限步骤。 计算机用于解决数值计算,如科学计算中的数值积分、解线计算机用于解决数值计算,如科学计算中的数值积分、解线性方程等计算方法,就是数值计算的算法。性方程等计算方法,就是数值计算的算法。 计算机用于解决非数值计算,如用于管理、文字处理、图像计算机用于解决非数值计算,如用于管理、文字处理、图像图形等的排序、分类和查找,就是非数值计算的算法。图形等的排序、分类和查找,就是非数值计算的算法。 算法的组成算法的组成:操作、数据。:操作、数据

8、。 这些操作包括加、减、乘、除和判断等,并按顺序、分支、这些操作包括加、减、乘、除和判断等,并按顺序、分支、循环等控制结构所规定的次序执行。循环等控制结构所规定的次序执行。 数据是指操作对象和操作结果,包括布尔值、字符、整数和数据是指操作对象和操作结果,包括布尔值、字符、整数和实数等;以及向量、记录、集合、树和图以及声音等。实数等;以及向量、记录、集合、树和图以及声音等。 2.1 计算的几种视角 为什么学习算法为什么学习算法:算法是计算机的灵魂;算法是计算机的灵魂;算法是数学机算法是数学机械化的一部分,能够帮助我们解决复杂的计算问题;械化的一部分,能够帮助我们解决复杂的计算问题;算法作为算法作

9、为一种思想,能锻炼我们的思维,使思维变得更清晰、更有逻辑。一种思想,能锻炼我们的思维,使思维变得更清晰、更有逻辑。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6计算理论计算理论计算模型计算模型 计算理论计算理论:关于计算和计算机械的数学理论,:关于计算和计算机械的数学理论,它研究计算的过程与功效。它研究计算的过程与功效。 计算理论主要包括算法、算法学、计算复杂计算理论主要包括算法、算法学、计算复杂性理论、可计算性

10、理论、自动机理论和形式语言性理论、可计算性理论、自动机理论和形式语言理论等等。理论等等。2.2 计算理论Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.7计算理论计算理论计算模型计算模型一、计算与计算过程一、计算与计算过程2.2 计算理论 计算计算是依据一定的法则对有关符号串的变换过程。是依据一定的法则对有关符号串的变换过程。抽象地说,计算的本质就是递归。抽象地说,计算的本质就是递归。 直观描述直观描述:计算是从已知

11、符号开始,一步一步地:计算是从已知符号开始,一步一步地改变符号串,经过有限步骤,最终得到一个满足预定改变符号串,经过有限步骤,最终得到一个满足预定条件的符号串的过程。这样一种有限的符号串变换过条件的符号串的过程。这样一种有限的符号串变换过程与递归过程是等价的。程与递归过程是等价的。 计算过程计算过程:执行算法的过程,而算法的过程正好:执行算法的过程,而算法的过程正好可以在计算机上执行的过程。即计算机算法是把问题可以在计算机上执行的过程。即计算机算法是把问题转化为一步一步按规则执行的机械求解过程,再用计转化为一步一步按规则执行的机械求解过程,再用计算机语言加以表达,最后输入计算机中进行计算。算机

12、语言加以表达,最后输入计算机中进行计算。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.8计算理论计算理论计算模型计算模型二、可计算性理论二、可计算性理论 可计算性理论可计算性理论:研究计算的一般性质的数学:研究计算的一般性质的数学理论。计算的过程就是执行算法的过程。理论。计算的过程就是执行算法的过程。2.2 计算理论 可计算理论的中心课题可计算理论的中心课题:将算法这一直观概念:将算法这一直观概念精精确化确化,建

13、立计算的,建立计算的数学模型数学模型,研究哪些是,研究哪些是可计算可计算的,的,哪些是哪些是不可计算不可计算的,以此揭示计算的实质。的,以此揭示计算的实质。 由于计算与算法联系在一起,因此,可计算性理由于计算与算法联系在一起,因此,可计算性理论又称论又称算法理论算法理论或或能行性理论能行性理论。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.9计算理论计算理论计算模型计算模型 1.1.可计算理论的发展可计算理论的发

14、展2.2 计算理论 可计算理论起源于对数学基础问题的研究。从可计算理论起源于对数学基础问题的研究。从2020世纪世纪3030年年代开始,为了讨论所有问题是否都有求解的算法,数学家和逻代开始,为了讨论所有问题是否都有求解的算法,数学家和逻辑学家从不同角度提出了几种不同的算法概念精确化定义。辑学家从不同角度提出了几种不同的算法概念精确化定义。 1935193519361936193619361943194319511951邱奇提出邱奇提出转换演算转换演算哥德尔等定哥德尔等定义递归函数义递归函数图灵和波斯特图灵和波斯特各自提出抽象各自提出抽象计算机模型计算机模型MapkobMapkob定义定义正规算

15、法正规算法陆续陆续证明证明,上述这些不同计算模型,上述这些不同计算模型( (算法精确化定义模算法精确化定义模式式) )的计算能力都是一样的,即的计算能力都是一样的,即它们是等价的它们是等价的。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.10计算理论计算理论计算模型计算模型 2.2.可计算性的定义和特性可计算性的定义和特性2.2 计算理论 定义定义:凡可用某种程序设计语言描述的问题都是可计算:凡可用某种程序设计语

16、言描述的问题都是可计算性问题。性问题。 图灵的定义图灵的定义:能够在图灵机上执行的过程,有时又称:能够在图灵机上执行的过程,有时又称算算法的过程法的过程。 图灵之所以能取得成功,很重要的一条是他采用了算法图灵之所以能取得成功,很重要的一条是他采用了算法思维来研究计算的过程,由此揭示可计算性概念。由于算法思维来研究计算的过程,由此揭示可计算性概念。由于算法思维与当今在计算机上运行的程序之间有着密切的关系,从思维与当今在计算机上运行的程序之间有着密切的关系,从而使他的理论受到重视并被广泛使用。而使他的理论受到重视并被广泛使用。 特性特性:确定性、有限性、机械性、可执行性和终止性。:确定性、有限性、

17、机械性、可执行性和终止性。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.11计算理论计算理论计算模型计算模型 3. 3.可计算理论的主要内容可计算理论的主要内容 2.2 计算理论 图灵机图灵机:一种在理论计算机科学中广泛采用的:一种在理论计算机科学中广泛采用的抽象计算机抽象计算机用于精确描述算法的特征用于精确描述算法的特征。通用图灵机正是后来的存储程序的。通用图灵机正是后来的存储程序的通用数字计算机的理论原型。通用

18、数字计算机的理论原型。 转换演算转换演算:一种定义函数的形式演算系统一种定义函数的形式演算系统。丘奇丘奇为精确为精确定义可计算性而提出的,他引进定义可计算性而提出的,他引进记号以明确区分函数和函数记号以明确区分函数和函数值,并把函数值的计算归结为按照一定规则进行一系列转换,值,并把函数值的计算归结为按照一定规则进行一系列转换,最后得到函数值。最后得到函数值。 丘奇丘奇- -图灵论题图灵论题:可计算性理论的基本论题。它规定了直:可计算性理论的基本论题。它规定了直观可计算函数的精确含义。丘奇论题说:观可计算函数的精确含义。丘奇论题说:可定义函数类与直可定义函数类与直观可计算函数类相同。图灵论题说:

19、图灵机可计算函数类与直观可计算函数类相同。图灵论题说:图灵机可计算函数类与直观可计算函数类相同。观可计算函数类相同。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.12计算理论计算理论计算模型计算模型 原始递归函数原始递归函数:自变量值和函数值都是自然数的函数,称为:自变量值和函数值都是自然数的函数,称为数论函数。原始递归函数是数论函数的一部分。数论函数。原始递归函数是数论函数的一部分。 规定规定:少量直观可计算的

20、函数为原始递归函数,它们是:函:少量直观可计算的函数为原始递归函数,它们是:函数值恒等于数值恒等于0 0的零函数的零函数C0 0,函数值等于自变量值加,函数值等于自变量值加1 1的后继函数的后继函数S函数值等于第函数值等于第i个自变量值的个自变量值的n元投影函数元投影函数Pi(n)。 原始递归函数的合成仍是原始递归函数,可以由已知原始递原始递归函数的合成仍是原始递归函数,可以由已知原始递归函数简单递归地计算出函数值的函数仍是原始递归函数。归函数简单递归地计算出函数值的函数仍是原始递归函数。2.2 计算理论 例如例如:和函数:和函数 f(x,y)=x+y 可由原始递归函数可由原始递归函数Pi(1

21、)和和S递归地递归地计算出函数值。计算出函数值。 f (x,0) = P1(1)(x) f (x, S(y) = S( f(x,y) 求求 f (4, 2) =?,?, f (4,0) = P1(1)(4) = 4 f (4,1) = S(f(4,0) = S(4) = 5 f (4,2) = S (f(4,1) = S (5) = 6Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.13计算理论计算理论计算模型计算模

22、型 4. 4.可计算理论的意义可计算理论的意义2.2 计算理论 可计算性理论的基本思想、概念和方法被广泛应可计算性理论的基本思想、概念和方法被广泛应用于计算科学的各个领域。建立数学模型的方法在计用于计算科学的各个领域。建立数学模型的方法在计算科学中被广泛采用,递归的思想被用于程序设计、算科学中被广泛采用,递归的思想被用于程序设计、数据结构和计算机体系结构,数据结构和计算机体系结构,演算被用于研究程序演算被用于研究程序设计语言的语义等。设计语言的语义等。 计算学科的一个基本结论是不可计算的函数要比计算学科的一个基本结论是不可计算的函数要比可计算的函数多得多。虽然许多问题是可判定的,但可计算的函数

23、多得多。虽然许多问题是可判定的,但更多的问题是不可判定的,如更多的问题是不可判定的,如停机问题停机问题和波斯特对应和波斯特对应问题都是不可判定的。问题都是不可判定的。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.14计算理论计算理论计算模型计算模型三、停机问题三、停机问题 停机问题停机问题是目前逻辑数学的焦点和第三次数是目前逻辑数学的焦点和第三次数学危机的解决方案,它是重要的不可判定问题。学危机的解决方案,它是重

24、要的不可判定问题。 1936 1936年,年,TuringTuring发表发表“论可计算数及论可计算数及其在判定问题中的应用其在判定问题中的应用”论文中提出一般论文中提出一般性停机问题的不可判定性,并用形式化方性停机问题的不可判定性,并用形式化方法证明其为一个不可计算问题。法证明其为一个不可计算问题。一般性的停机问题一般性的停机问题:对于任意的图灵机和输入,是否存在:对于任意的图灵机和输入,是否存在一个算法,用于判定图灵机在接收初始输入后可达停机状一个算法,用于判定图灵机在接收初始输入后可达停机状态。若能找到这种算法,停机问题可解;否则不可解。态。若能找到这种算法,停机问题可解;否则不可解。2

25、.2 计算理论Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.15计算理论计算理论计算模型计算模型 通俗地说,通俗地说,停机问题停机问题就是判断任意一个程序就是判断任意一个程序是否在有限的时间内结束运行的问题。是否在有限的时间内结束运行的问题。例如:例如:main() int i=1; while ( i0 ) i=i+1; return; 程序可终止程序可终止程序死循环程序死循环程序简单时容易做出判断,当例子复杂时

26、会遇程序简单时容易做出判断,当例子复杂时会遇到较大的困难,而在某些情况下则无法预测。到较大的困难,而在某些情况下则无法预测。2.2 计算理论Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.16计算理论计算理论计算模型计算模型 停机问题的关键停机问题的关键:能否找到一个测试程序,:能否找到一个测试程序,这个测试程序能判定任何一个程序在给定的输入这个测试程序能判定任何一个程序在给定的输入下能否终止。下能否终止。 数学反证

27、法证明数学反证法证明:先假设存在这样的测试程:先假设存在这样的测试程序,然后再构造一个程序,该测试程序不能测试序,然后再构造一个程序,该测试程序不能测试假设存在一个测试程序假设存在一个测试程序T T,它能接受任何输入。,它能接受任何输入。当输入程序当输入程序P P能终止,输出能终止,输出1 1; P P不能终止,输出不能终止,输出0 0。2.2 计算理论Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.17计算理论计算

28、理论计算模型计算模型P P能终止能终止,X1,X1P P不终止不终止,X0,X0测试程序测试程序T T程序程序P PX X测试程序测试程序T TX(1X(1或或0)0)while(x)while(x) S S程序程序P P测试程序测试程序T TX(1X(1或或0)0)while(x)while(x) S S程序程序S SP P终止终止,X1,S,X1,S不终止不终止P P不终止不终止,X0,S,X0,S终止终止S S终止终止,X1,S,X1,S不终止不终止S S不终止不终止,X0,S,X0,S终止终止结论结论:若:若S S终止,则终止,则S S不终止;若不终止;若S S不终止,则不终止,则S

29、S终止,结论矛盾终止,结论矛盾故可以确定这样的测试程序不存在,从而证明停机问题不可解故可以确定这样的测试程序不存在,从而证明停机问题不可解2.2 计算理论Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.18计算理论计算理论计算模型计算模型 例例2-12-1理理发发师师悖悖论论。一一个个理理发发师师的的招招牌牌:城城里里所所有有不不自自己己刮刮脸脸的的男男人人都都由由我我给给他他们们刮刮脸脸,我我也也只只给给这这些些人

30、人刮刮脸。脸。问题是问题是:谁给这位理发师刮脸呢?如果他自己刮脸,那:谁给这位理发师刮脸呢?如果他自己刮脸,那他就属于自己刮脸的那类人。但是,他的招牌说明他不他就属于自己刮脸的那类人。但是,他的招牌说明他不给这类人刮脸,因此他不能自己来刮。给这类人刮脸,因此他不能自己来刮。如果另外一个人来给他刮脸,那他就是不自己刮脸的人。如果另外一个人来给他刮脸,那他就是不自己刮脸的人。但是,他的招牌说他要给所有这类人刮脸。因此,其他但是,他的招牌说他要给所有这类人刮脸。因此,其他任何人也不能给他刮脸。任何人也不能给他刮脸。 从本质上看,理发师问题和停机问题是一样的。从本质上看,理发师问题和停机问题是一样的。

31、2.2 计算理论Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.19计算理论计算理论计算模型计算模型四、计算复杂性理论四、计算复杂性理论 计算复杂性理论计算复杂性理论:用数学方法研究各类问题:用数学方法研究各类问题的计算复杂性的学科。的计算复杂性的学科。 计算复杂性理论研究各种可计算问题在计算计算复杂性理论研究各种可计算问题在计算过程中资源过程中资源( (如时间、空间等如时间、空间等) )的耗费情况,以及的耗费情况,

32、以及在不同计算模型下,使用不同类型资源和不同数在不同计算模型下,使用不同类型资源和不同数量的资源时,各类问题复杂性的本质特性和相互量的资源时,各类问题复杂性的本质特性和相互关系。关系。 2.2 计算理论Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.20计算理论计算理论计算模型计算模型 1. 1.计算复杂性理论的发展计算复杂性理论的发展 1993 1993年的图灵奖授予合作奠定了计算复杂性理论基础的两位年的图灵奖授予

33、合作奠定了计算复杂性理论基础的两位学者学者J.HartmanisJ.Hartmanis和和R.E.StearnsR.E.Stearns。 在此以前,已有在此以前,已有M.O.RabinM.O.Rabin、S.A.CookS.A.Cook、R.M.KarpR.M.Karp等学者因等学者因在计算复杂性理论研究中做出先驱性工作而分别在在计算复杂性理论研究中做出先驱性工作而分别在19761976、 1982 1982和和19851985年获得图灵奖。年获得图灵奖。HartmanisHartmanis和和StearnsStearns则在前人工作的基础则在前人工作的基础上,比较完整地提出了计算复杂性的理论

34、体系,并首次正式命名上,比较完整地提出了计算复杂性的理论体系,并首次正式命名了了计算复杂性计算复杂性( (computational complexity) ),因而被公认为计算,因而被公认为计算复杂性理论的主要创始人。复杂性理论的主要创始人。2.2 计算理论Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.21计算理论计算理论计算模型计算模型 1995 1995年度的图灵奖授予加州大学伯克利分校的计算机科学家年度的图

35、灵奖授予加州大学伯克利分校的计算机科学家Manuel BlumManuel Blum,他是计算复杂性理论的主要奠基人之一。,他是计算复杂性理论的主要奠基人之一。 Blum Blum与前述两人互相独立地进行着相关问题的研究,并完成与前述两人互相独立地进行着相关问题的研究,并完成了他的博士论文:了他的博士论文:A machine independent theory of the complexity of recursive functions ( (与机器无关的递归函数复杂性与机器无关的递归函数复杂性理论理论) ),论文提出了有关计算复杂性的,论文提出了有关计算复杂性的4 4个公理,被称为布卢

36、姆公个公理,被称为布卢姆公理系统。目前,可计算理论的绝大部分结果都可以从这个公理系理系统。目前,可计算理论的绝大部分结果都可以从这个公理系统推导出来。统推导出来。2.2 计算理论计算复杂性理论应用于计计算复杂性理论应用于计算机安全算机安全( (密码学密码学) )、软件、软件工程的程序正确验证,以工程的程序正确验证,以及算法博弈论。及算法博弈论。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.22计算理论计算理论计算模

37、型计算模型 2.2.算法复杂性算法复杂性2.2 计算理论 算法复杂性是对算法效率的度量,它是评价算法算法复杂性是对算法效率的度量,它是评价算法优劣的重要依据。优劣的重要依据。 一个算法复杂性的高低体现在运行该算法时所需一个算法复杂性的高低体现在运行该算法时所需要的资源,所需资源越多,算法复杂性越高;所需资要的资源,所需资源越多,算法复杂性越高;所需资源越低,则算法复杂性越低。源越低,则算法复杂性越低。 计算机的资源,主要是指运行时间和存储空间,计算机的资源,主要是指运行时间和存储空间,因而因而算法复杂性算法复杂性有有时间复杂性时间复杂性和和空间复杂性空间复杂性之分。之分。 当给定的问题已有多种

38、算法时,选择其中复杂性当给定的问题已有多种算法时,选择其中复杂性最低者,是选用算法时应遵循的一个重要准则。最低者,是选用算法时应遵循的一个重要准则。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.23计算理论计算理论计算模型计算模型 3. 3.计算复杂性计算复杂性2.2 计算理论 算法复杂性算法复杂性针对特定算法针对特定算法 计算复杂性计算复杂性针对特定问题,反映问题的固有难度针对特定问题,反映问题的固有难度 计算

39、复杂性最佳的算法复杂性计算复杂性最佳的算法复杂性 计算复杂性计算复杂性:用计算机求解问题的难易程度。:用计算机求解问题的难易程度。 度量标准度量标准: 时间复杂度时间复杂度计算所需的步数或指令条数;计算所需的步数或指令条数; 空间复杂度空间复杂度计算所需的存储空间大小。计算所需的存储空间大小。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.24计算理论计算理论计算模型计算模型 假设一个问题有两种算法:假设一个问题有两

40、种算法: 算法复杂性是算法复杂性是n n3 3 (0.2s)(0.2s) 算法复杂性是算法复杂性是3 3n n (4*10(4*102828s,1s,1千万亿年千万亿年) ) ( (用每秒百万次的计算机,用每秒百万次的计算机,n=60)n=60)如果一个问题没有多项式时间复杂性的算法,则被称如果一个问题没有多项式时间复杂性的算法,则被称为难解型问题为难解型问题。2.2 计算理论复杂性复杂性复杂性复杂性函数函数函数函数问题规模问题规模问题规模问题规模n n n n 10 30 50 60 10 30 50 60 10 30 50 60 10 30 50 60n n 0.01ms 0.03ms 0

41、.05ms 0.06ms 0.01ms 0.03ms 0.05ms 0.06msn n3 3 1ms 27ms 125ms 216ms 1ms 27ms 125ms 216msn n5 5 100ms 24.3s 5.2min 13min 100ms 24.3s 5.2min 13min2 2n n 1ms 17.9min 35.7 1ms 17.9min 35.7年年 366 366世纪世纪Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Asp

42、ose Pty Ltd.25计算理论计算理论计算模型计算模型 4.P=NP?4.P=NP?问题问题 按复杂性把问题分成不同的类。按复杂性把问题分成不同的类。2.2 计算理论 P P类问题类问题:由确定型图灵机在多项式时间内可解的一切:由确定型图灵机在多项式时间内可解的一切判定问题所组成的集合。判定问题所组成的集合。 P P类问题包含了大量的已知自然问题,如计算最大公约类问题包含了大量的已知自然问题,如计算最大公约数、计算数、计算值、排序问题、二维匹配问题等。值、排序问题、二维匹配问题等。 NP NP类问题类问题:由非确定型图灵机在多项式时间内可计算的:由非确定型图灵机在多项式时间内可计算的判定

43、问题所组成的集合。判定问题所组成的集合。 也就是说,如果一个问题的潜在解答可以在多项式时间也就是说,如果一个问题的潜在解答可以在多项式时间内被证实或证伪,则该问题属于内被证实或证伪,则该问题属于NPNP。NPNP类问题数量巨大,如类问题数量巨大,如完全子图问题、图的着色问题、汉密尔顿回路问题、以及旅完全子图问题、图的着色问题、汉密尔顿回路问题、以及旅行销售员问题等。行销售员问题等。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pt

44、y Ltd.26计算理论计算理论计算模型计算模型 对于对于NPNP来说,一个常见的来说,一个常见的误解误解是人们认为是人们认为NPNP问题不存在多项问题不存在多项式时间解。这是否意味着式时间解。这是否意味着P PNPNP呢?或者说,呢?或者说,P P类集合是否与类集合是否与NPNP类类问题集合完全重合呢?这个问题是问题集合完全重合呢?这个问题是2121世纪数学界和计算机科学理世纪数学界和计算机科学理论界面临的一个重大问题。论界面临的一个重大问题。 所有所有P P类问题都是类问题都是NPNP类问题类问题:因为确定性图灵机能够解决的:因为确定性图灵机能够解决的问题当然能够被非确定性图灵机解决。问题

45、当然能够被非确定性图灵机解决。 是否所有是否所有NPNP问题都是问题都是P P问题问题:凭直觉:凭直觉NPNP应该不属于应该不属于P P,因为非,因为非确定性图灵机比确定性图灵机强大得多,很难相信一个强大得多确定性图灵机比确定性图灵机强大得多,很难相信一个强大得多的机器所能够解决的问题都可以被一个功能更弱的机器解决!的机器所能够解决的问题都可以被一个功能更弱的机器解决! 必须拿出证据来说明必须拿出证据来说明NPNP不属于不属于P P。要证明这一点,只需证明。要证明这一点,只需证明某个某个NPNP问题不属于问题不属于P P即可。但遗憾的是,目前尚没有人证明即可。但遗憾的是,目前尚没有人证明NPN

46、P不不属于属于P P。当然也没有人证明了。当然也没有人证明了NPNP属于属于P P。也就是说,。也就是说,P P与与NPNP是否等是否等价是一个既没有证实也没有证伪的问题!价是一个既没有证实也没有证伪的问题!2.2 计算理论Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.27计算理论计算理论计算模型计算模型 计算模型是刻画计算的抽象的形式系统或数计算模型是刻画计算的抽象的形式系统或数学系统。在计算科学中,计算模型是指

47、具有状态学系统。在计算科学中,计算模型是指具有状态转换特征,能够对所处理对象的数据或信息进行转换特征,能够对所处理对象的数据或信息进行表示、加工、变换和输出的数学机器。表示、加工、变换和输出的数学机器。2.3 计算模型 19361936年,图灵发表年,图灵发表“论可计算数及其在论可计算数及其在判定问题中的应用判定问题中的应用”论文,给论文,给“可计算性可计算性”下了严格的数学定义,并提出著名的下了严格的数学定义,并提出著名的图灵机图灵机(Turing Machine)(Turing Machine)的设想。的设想。 图灵机是一种十分简单但运算能力很强图灵机是一种十分简单但运算能力很强的理想计算

48、装置,它描述了一种假想的可实的理想计算装置,它描述了一种假想的可实现通用计算的机器。现通用计算的机器。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.28计算理论计算理论计算模型计算模型一、图灵机一、图灵机 1.1.直观描述直观描述 图灵机的计算装置:一条两端可无限延长图灵机的计算装置:一条两端可无限延长的带子,一个读写头,一组控制指令。的带子,一个读写头,一组控制指令。 b b 1 0 1 0 0 0 1 0 b

49、 b 状态状态q1读写头读写头控制指令控制指令读写头可以沿带子读写头可以沿带子方向左右移动,并方向左右移动,并可以在每个方格上可以在每个方格上进行读写。进行读写。2.3 计算模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.29计算理论计算理论计算模型计算模型 带子上的符号为一个有穷字母表:带子上的符号为一个有穷字母表:SS0 0,S,S1 1,S,S2 2,S,Sp p 通常仅有通常仅有S S0 0、S S1 1

50、两个字符,其中:两个字符,其中:S S0 000,S S1 111 这可加深对布尔值、二进制机器的理解。这可加深对布尔值、二进制机器的理解。机器的控制状态:机器的控制状态: q q1 1,q,q2 2,q,qn n 图灵机的初始状态设为图灵机的初始状态设为q q1 1, ,结束状态设为结束状态设为q qn n2.3 计算模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.30计算理论计算理论计算模型计算模型 五元组指

51、令集合:五元组指令集合:(q(qi iS Sj jS Sk kR(LN)qR(LN)qn n) ) q qi i-机器目前所处的状态机器目前所处的状态 S Sj j-机器从方格中读入的符号机器从方格中读入的符号 S Sk k-机器用来代替机器用来代替S Sj j写入方格的符号写入方格的符号 R,L,N- R,L,N-右移一格右移一格, ,左移一格左移一格, ,不移动不移动 q qn n-下一步机器的状态下一步机器的状态 一个给定机器的程序是机器内的五元组一个给定机器的程序是机器内的五元组形式的指令集,它定义了机器在特定状态下形式的指令集,它定义了机器在特定状态下读入一个特定字符时所采取的动作。

52、读入一个特定字符时所采取的动作。2.3 计算模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.31计算理论计算理论计算模型计算模型 2.2.工作原理工作原理 机器从给定带子上的某起点出发,其动作完机器从给定带子上的某起点出发,其动作完全由其初始状态值及机内五元组指令集来决定。全由其初始状态值及机内五元组指令集来决定。计算结果是从机器停止时带子上的信息得到。计算结果是从机器停止时带子上的信息得到。 指令死循环:指令死

53、循环:q q1 1S S2 2S S2 2RqRq3 3 q q3 3S S3 3S S3 3LqLq1 1 指令二义性:指令二义性:q q3 3S S2 2S S2 2RqRq4 4 q q3 3S S2 2S S4 4LqLq6 6 2.3 计算模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.32计算理论计算理论计算模型计算模型 3. 3.应用实例应用实例 例例 假设:假设:b b表示空格表示空格 q q1

54、1表示机器的初始状态表示机器的初始状态 q q4 4表示机器的结束状态表示机器的结束状态 如果带子上的输入信息为如果带子上的输入信息为1010001010100010,读写头,读写头位对准最右边第一个为位对准最右边第一个为0 0的方格,且状态为的方格,且状态为q q1 1。 按照以下五元组指令集执行后,输出正确的按照以下五元组指令集执行后,输出正确的计算结果是什么?计算结果是什么?2.3 计算模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 A

55、spose Pty Ltd.33计算理论计算理论计算模型计算模型指令集指令集q q1 101Lq01Lq2 2q q1 110Lq10Lq3 3q q1 1bbNqbbNq4 4q q2 200Lq00Lq2 2q q2 211Lq11Lq2 2q q2 2bbNqbbNq4 4q q3 301Lq01Lq2 2q q3 310Lq10Lq3 3q q3 3bbNqbbNq4 4计算函数是:计算函数是:S(S(x)=)=x+1+1b b 1 0 1 0 0 0 1 0 b bq q1b b 1 1 0 0 0 1 0 1 b bq q11q q21q q20q q20q q20q q21q q

56、20q q21q q2bq q42.3 计算模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.34计算理论计算理论计算模型计算模型 例例 图灵机图灵机MzMz:其中:其中Q=qQ=q1 1,q,q2 2,q,qf f 五元组指令集为:五元组指令集为:q q1 110Rq10Rq1 1 q q1 100Lq00Lq2 2 q q2 201Nq01Nqf f 求求MzMz对任何一串对任何一串“1”“1”的作用是什么?的

57、作用是什么?b b 1 1 1 1 1 1 0 0 b bq q1仅留下最后一个仅留下最后一个“1”“1”2.3 计算模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.35计算理论计算理论计算模型计算模型 图灵机图灵机:S( (x)=)=x+1 +1 后继函数后继函数 N( (x)=0 )=0 零函数零函数 Ui( (n) )= =xi 投影函数投影函数 任何原始递归函数都是从这任何原始递归函数都是从这3 3个初始

58、递归函个初始递归函数经有限次的复合、递归和极小化操作得到。数经有限次的复合、递归和极小化操作得到。2.3 计算模型 非确定性图灵机与确定性图灵机的区别是:在给非确定性图灵机与确定性图灵机的区别是:在给定状态和输入时,其行为将不是唯一确定的。也就是定状态和输入时,其行为将不是唯一确定的。也就是说,对应同一个状态和输入,非确定性图灵机可以有说,对应同一个状态和输入,非确定性图灵机可以有多种行为来选择。多种行为来选择。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 200

59、4-2011 Aspose Pty Ltd.36计算理论计算理论计算模型计算模型二、二、冯冯诺依曼机诺依曼机 重要思想重要思想:存储程序、二进制:存储程序、二进制存储器存储器输入设备输入设备输出设备输出设备运算器运算器控制器控制器结果结果程序或数据程序或数据数据传送线数据传送线控制信号线控制信号线1.1.冯冯诺依曼诺依曼机模型机模型2.3 计算模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.37计算理论计算理论计

60、算模型计算模型 运算器运算器:对数据进行加工处理的部件。:对数据进行加工处理的部件。 在控制器的操纵下,它与内存交换数据,负在控制器的操纵下,它与内存交换数据,负责算术运算、逻辑运算和移位运算等。责算术运算、逻辑运算和移位运算等。运算器控制器中央处理单元运算器控制器中央处理单元(CPU)(CPU) 控制器控制器:负责对指令进行分析和判断,发出:负责对指令进行分析和判断,发出控制信号,使计算机各部件协调工作,确保系统控制信号,使计算机各部件协调工作,确保系统的自动运行。的自动运行。2.3 计算模型Evaluation only.Created with Aspose.Slides for .NE

61、T 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.38计算理论计算理论计算模型计算模型 存储器存储器:存放大量程序和数据的部件,其:存放大量程序和数据的部件,其 分类是内存储器和外存储器。分类是内存储器和外存储器。 输入设备输入设备:用来接受用户输入的原始数据:用来接受用户输入的原始数据和程序,并将它们转变为计算机能够识别的形和程序,并将它们转变为计算机能够识别的形式存放在内存中,如键盘、鼠标、扫描仪等。式存放在内存中,如键盘、鼠标、扫描仪等。 输出设备输出设备:将计算机处理的信息以人们所:将计算机处理的信息以人们所

62、能接受的形式表示出来,如显示器、打印机等能接受的形式表示出来,如显示器、打印机等运算器控制器内存储器运算器控制器内存储器主机主机输入设备、输出设备、外存储器输入设备、输出设备、外存储器外部设备外部设备 2.3 计算模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.39计算理论计算理论计算模型计算模型 2. 2.冯冯诺依曼机工作原理诺依曼机工作原理 先将程序先将程序( (一组指令一组指令) )和数据存入计算机,启和数

63、据存入计算机,启动程序就能按照程序指定的逻辑顺序把指令读取动程序就能按照程序指定的逻辑顺序把指令读取并逐条执行,自动完成指令规定的操作。并逐条执行,自动完成指令规定的操作。2.3 计算模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.40计算理论计算理论计算模型计算模型 3.3.冯冯诺依曼机的特点诺依曼机的特点 机器以运算器为中心,输入、输出设备与机器以运算器为中心,输入、输出设备与存储器之间的数据传送都要经过运算

64、器。存储器之间的数据传送都要经过运算器。 采用存储程序原理。采用存储程序原理。 指令是由操作码和地址码组成。指令是由操作码和地址码组成。 数据以二进制表示,并采用二进制运算。数据以二进制表示,并采用二进制运算。 硬件与软件完全分开,硬件在结构和功能硬件与软件完全分开,硬件在结构和功能上是不变的,完全靠编制软件来适应用户需要。上是不变的,完全靠编制软件来适应用户需要。2.3 计算模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pt

65、y Ltd.41计算理论计算理论计算模型计算模型 4. 4.冯冯诺依曼机结构的局限性诺依曼机结构的局限性 冯冯诺依曼瓶颈诺依曼瓶颈:存储器与中央处理单元之:存储器与中央处理单元之间的通路太狭窄,每次执行一条指令,所需的指间的通路太狭窄,每次执行一条指令,所需的指令和数据都必须经过这条通路。令和数据都必须经过这条通路。2.3 计算模型 从本质上讲,冯从本质上讲,冯诺依曼机是采取串行顺序处诺依曼机是采取串行顺序处理的工作机制,即使有关数据已经准备好,也必须理的工作机制,即使有关数据已经准备好,也必须逐条执行指令序列,而提高计算机性能的根本方向逐条执行指令序列,而提高计算机性能的根本方向之一是并行处

66、理。之一是并行处理。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.42计算理论计算理论计算模型计算模型三、量子计算机三、量子计算机2.3 计算模型 量子计算机量子计算机:一类遵循量子力学规律进行高速数学和逻:一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理辑运算、存储及处理量子信息量子信息的物理装置。量子计算机处理的物理装置。量子计算机处理和计算的是量子信息,运行的是量子算法。和计算的是量子信息,运行的是量子

67、算法。 由于量子态具有相干叠加性质,特别是量子纠缠特性,由于量子态具有相干叠加性质,特别是量子纠缠特性,使得量子计算机具有天然的使得量子计算机具有天然的大规模并行计算大规模并行计算的能力,其并行的能力,其并行规模随芯片上集成量子位数目指数增加。规模随芯片上集成量子位数目指数增加。 承载承载1616个个量子位的量子位的硅芯片硅芯片Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.43计算理论计算理论计算模型计算模型 基本

68、原理基本原理:量子计算机以量子态为记忆单元、:量子计算机以量子态为记忆单元、开关电路和信息存储形式,以量子动力学演化为开关电路和信息存储形式,以量子动力学演化为信息传递与量子通信,其硬件的各种元件的尺寸信息传递与量子通信,其硬件的各种元件的尺寸达到原子或分子的量级。达到原子或分子的量级。 2.3 计算模型量子计算的信息存储单位是量量子计算的信息存储单位是量子比特,其两态的表示常用以子比特,其两态的表示常用以下两种方式:下两种方式:利用电子自旋利用电子自旋方向方向。如向左自转状态代表。如向左自转状态代表1 1,向右自转状态代表,向右自转状态代表0 0。利利用原子不同能级用原子不同能级。原子有基态

69、。原子有基态和激发态两种能级,规定原子和激发态两种能级,规定原子基态为基态为0 0,激发态为,激发态为1 1。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.44计算理论计算理论计算模型计算模型 量子算法量子算法:ShorShor大数质因子分解算法大数质因子分解算法 Grover Grover数据库搜索算法数据库搜索算法 量子智能算法量子智能算法2.3 计算模型Evaluation only.Created with

70、 Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.45计算理论计算理论计算模型计算模型四、生物计算机四、生物计算机2.3 计算模型 生物计算机生物计算机是指用生物芯片制成的计算机,这种生物芯是指用生物芯片制成的计算机,这种生物芯片是由蛋白质和其他有机物质的分子组成,它是以分子电子片是由蛋白质和其他有机物质的分子组成,它是以分子电子学为基础研制的一种新型计算机。学为基础研制的一种新型计算机。 生物芯片又称生物芯片又称DNADNA芯片芯片, ,其结构大致是每个芯片的基质面其结构

71、大致是每个芯片的基质面上都可划分出数百甚至数百万个小区,在指定的小区内可固上都可划分出数百甚至数百万个小区,在指定的小区内可固定大量具有特定功能、长约定大量具有特定功能、长约2020个碱基组成的核酸分子,个碱基组成的核酸分子,也叫分子探针。也叫分子探针。这一技术所这一技术所派生出来的蛋白质芯片是生派生出来的蛋白质芯片是生物计算机的基本结构单元。物计算机的基本结构单元。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.

72、46计算理论计算理论计算模型计算模型 主要特点主要特点:强大的记忆功能强大的记忆功能 运算速度快运算速度快 能耗低能耗低 具有自愈特性具有自愈特性 具有模仿人脑的思考机制具有模仿人脑的思考机制 具有超高密度具有超高密度 2.3 计算模型研究方向研究方向:研制分子计算机,即制造有机分研制分子计算机,即制造有机分子元件去替代半导体逻辑元件和存储元件;子元件去替代半导体逻辑元件和存储元件;深入研究人脑结构和思维规律,再构想生物深入研究人脑结构和思维规律,再构想生物计算机的结构。计算机的结构。 Evaluation only.Created with Aspose.Slides for .NET 3.

73、5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.47计算理论计算理论计算模型计算模型本章小结从计数、逻辑、算法角度,看计算问题从计数、逻辑、算法角度,看计算问题专业术语:计算理论,计算,计算过程专业术语:计算理论,计算,计算过程可计算理论可计算理论 定义,特性,主要内容定义,特性,主要内容( (图灵机、图灵机、转换演算、丘奇转换演算、丘奇- -图灵论题、原始递归函数图灵论题、原始递归函数) ),意义,意义停机问题停机问题( (不可判定性、理发师悖论不可判定性、理发师悖论) )计算复杂性理论计算复杂性理论 算法算法/ /计算复杂性计算复杂性( (时间、空间时间、空间) ),P P类问题,类问题,NPNP问题问题计算模型计算模型 图灵机,冯图灵机,冯诺依曼机,量子计算机,生物计算机诺依曼机,量子计算机,生物计算机Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.48

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号