可计算性与计算复杂性计算原理答案.doc
计算机教材课后习题参考答案
《大学计算机基础与计算思维》课后习题参考答案目录第1章计算、计算机与计算思维 (1)第2章数据的计算基础 (3)第3章计算机硬件系统 (5)第4章操作系统基础 (9)第5章算法与数据结构 (11)第6章程序设计及软件工程基础 (14)第7章数据库技术 (16)第8章计算机网络 (19)第9章信息安全与职业道德 (21)第10章计算软件 (24)第11章办公软件Office 2010 (25)算机科学与技术学院计算机基础教学部2015年9月第1章计算、计算机与计算思维1.1 举例说明可计算性和计算复杂性的概念。
答:对于给定的一个输入,如果计算机器能在有限的步骤内给出答案,这个问题就是可计算的。
数值计算、能够转化为数值计算的非数值问题(如语音、图形、图像等)都是可计算的。
计算复杂性从数学上提出计算问题难度大小的模型,判断哪些问题的计算是简单的,哪些是困难的,研究计算过程中时间和空间等资源的耗费情况,从而寻求更为优越的求解复杂问题的有效规则,例如著名的汉诺塔问题。
1.2 列举3种电子计算机出现之前的计算工具,并简述其主要特点。
答:(1)算盘通过算法口诀化,加快了计算速度。
(2)帕斯卡加法器通过齿轮旋转解决了自动进位的问题。
(3)机电式计算机Z-1,全部采用继电器,第一次实现了浮点记数法、二进制运算、带存储地址的指令等设计思想。
1.3 简述电子计算机的发展历程及各时代的主要特征。
答:第一代——电子管计算机(1946—1954年)。
这个时期的计算机主要采用电子管作为运算和逻辑元件。
主存储器采用汞延迟线、磁鼓、磁芯,外存储器采用磁带。
在软件方面,用机器语言和汇编语言编写程序。
程序的编写与修改都非常繁琐。
计算机主要用于科学和工程计算。
第二代——晶体管计算机(1954—1964年)。
计算机逻辑元件逐步由电子管改为晶体管,体积与功耗都有所降低。
主存储器采用铁淦氧磁芯器,外存储器采用先进的磁盘,计算机的速度和可靠性有所提高。
计算理论导引习题答案
什么是时间复杂度?请举例说 明。
时间复杂度是评价算法执行时 间快慢的一个指标,通常用大O 表示法来表示。例如,对于一 个简单的顺序查找算法,其时 间复杂度为O(n),表示随着问 题规模n的增加,算法的执行时 间线性增长。
计算模型习题答案详解
习题1
解释图灵机的基本原理和工作过程。
答案
图灵机是一种理论上的计算模型,由一条无限长的纸带和一个读写头组成。读写头可以读取、写入和移动纸带上 的符号,根据当前状态和读取的符号来决定下一步的动作和状态转移。图灵机的工作过程可以模拟任何计算机程 序的执行过程。
RAM模型的扩展与优化
包括引入并行计算、分布式计算等概念,以 提高RAM模型的计算能力和效率。
其他计算模型
量子计算模型
利用量子力学原理进行计算的模型,具有在某些特定 问题上比传统计算机更高的计算效率。
生物计算模型
模拟生物体内信息处理过程的计算模型,如神经网络、 基因算法等。
光计算模型
利用光学原理进行计算的模型,具有高速并行处理和 低能耗等优点。
形式语言与自动机习题答案详解
习题1
解释什么是形式语言,并给出其定义和性质 。
答案
形式语言是பைடு நூலகம்于描述计算机程序的语法和语 义的一种数学工具。它由一组符号和一组规 则组成,可以表示各种不同类型的数据结构 和算法。形式语言具有确定性、封闭性和可 计算性等性质,这些性质使得我们可以对计
算机程序进行精确的描述和分析。
Python语言基础 掌握Python语言的基本语法、数 据类型、控制结构、函数等,以 及常用的Python库和框架。
其他编程语言 了解其他常见的编程语言,如C#、 JavaScript、Go等,以及它们的 特点和应用场景。
大数据计算理论基础[2014-05]
8
2、计算理论(Theory of computation)
(3) 串行计算类:P,NP,NPC,NPH
• • • • P类问题:在确定图灵机上多项式(Polynomial)时间内可求解的一类问题。 NP类问题:在非确定图灵机上多项式时间内可求解的一类问题(所有NP问题均必 须在有限步内是可判定的)。 NPC问题:对于L∈NP的问题,且NP类中的每一个L’均可在多项式时间内归约 (转换)到L,L’≤P L,则称L为NPC(NP完全)的(第一个被证明是NPC问题的 是布尔满足性问题:Boolean Satisfiability Problem,SAT)。 NPH(难)问题:一个问题H称为NP难的,当且仅当存在着一个NPC问题L,L可 在多项式时间内图灵归约(Turing-Reduction)到H。简记之为:L(NPC) ≤T H(NPH) (例如判定停机问题是NPH问题)。
2
目 录
1. 1. 计算科学与计算问题分类 计算机科学与计算问题分类 (1) (1) 计算科学 计算机科学的经典定ቤተ መጻሕፍቲ ባይዱ (2) 算法定义的数学解释 计算机科学定义的数学解释 (2)
(2) 支撑点空间的定义 (3) 举例 (4) 完全支撑点空间
6.
数据的划分技术
(1) 超平面划分 (2) 有利点划分 (3) 包络球划分
•
14
4、度量空间:大数据统一化抽象表示
supinf d x, y
xX yY
supinf d x, y
yY xX
d H X , Y max{supinf d x, y , supinf d x, y }
xX yY yY xX
15
4、度量空间:大数据统一化抽象表示
第5章 算法与复杂性
5.7 可计算性理论基础
研究计算的可行性和函数算法的理论,又称算法 理论,是算法设计与分析的基础,也是计算机科 学的理论基础。可计算性是函数的一个特性。
5.8 NP问题
NP(Non-deterministic Polynomial)问题是非确定性多 项式问题,是指算法无法直接计算出结果,只能通过进 行一些有选择的“猜算”来得到结果。 NP问题的研究结果有两种可能: 一种是找到了求解问题的算法; 另一种就是求解问题的算法是不存在的,那么就要从数
钥,通常有两个密钥,称为“公钥”和“私钥”,它 们两个必须配对使用,否则不能打开加密文件。
5.10 加密算法
常见加密算法有如下: (1)DES(Data Encryption Standard):数据加密标准,速 度较快,适用于加密大量数据的场合。 (2)3DES(Triple DES):是基于DES,对一块数据用3个不 同的密钥进行3次加密,强度更高; (3)RC2和RC4:用变长密钥对大量数据进行加密,比DES 快。 (4)IDEA(International Data Encryption Algorithm)国 际数据加密算法,使用128位密钥提供非常强的安全性。 (5)RSA:由RSA公司发明,是一个支持变长密钥的公共密 钥算法,需要加密的文件块的长度也是可变的。 (6)DSA(Digital Signature Algorithm):数字签名算法, 是一种标准的DSS(数字签名标准)。
计算理论习题答案
计算理论习题答案计算理论,也称为理论计算机科学,是研究算法和计算过程的数学理论基础的学科。
以下是一些计算理论习题的答案示例:1. 确定性图灵机(Deterministic Turing Machine, DTM):- 习题:证明一个确定性图灵机可以模拟任何其他确定性图灵机。
- 答案:确定性图灵机可以读取输入,根据当前状态和读取到的符号,按照预定的转移规则移动磁带头并改变状态。
要模拟另一台确定性图灵机,只需要将被模拟机的状态转移表编码为模拟机的转移规则即可。
2. 非确定性图灵机(Nondeterministic Turing Machine, NTM):- 习题:证明非确定性图灵机比确定性图灵机更强大。
- 答案:非确定性图灵机可以在多个可能的转移中选择,这使得它能够解决一些确定性图灵机无法解决的问题,例如哈密顿回路问题。
此外,任何确定性图灵机都可以被一个非确定性图灵机模拟,但反之则不成立。
3. 可计算性(Computability):- 习题:证明某个特定的函数是可计算的。
- 答案:要证明一个函数是可计算的,需要展示一个算法或图灵机,它对于该函数的任何输入都能在有限步骤内给出输出。
例如,一个简单的加法函数f(x, y) = x + y是可计算的,因为它可以通过迭代或递归来实现。
4. 不可解问题(Undecidable Problems):- 习题:解释停机问题(Halting Problem)为什么是不可解的。
- 答案:停机问题是不可解的,因为它涉及到预测一个图灵机是否会在有限步骤内停止。
如果存在一个算法能够解决停机问题,那么我们可以构造一个悖论,即一个图灵机可以模拟自身并决定自己是否会停止,这会导致自指的悖论。
5. 复杂性类(Complexity Classes):- 习题:区分P类问题和NP类问题。
- 答案:P类问题是指可以在多项式时间内解决的问题,而NP类问题是指可以在多项式时间内验证一个解的问题。
西安交通大学计算方法C讲义--资料
计算方法(C)目录第1章绪论1.1 数值计算1.2 数值方法的分析1.2.1计算机上数的运算1.2.2算法分析第2章线性代数方程组2.1 Gauss消去法2.1.1消去法2.1.2主元消去法2.2 矩阵分解2.2.1Gauss消去法的矩阵意义2.2.2矩阵的LU分解及其应用2.2.3其他类型矩阵的分解2.2.4解三对角矩阵的追赶法2.3线性方程组解的可靠性2.3.1向量和矩阵范数2.3.2残向量与误差的代数表征2.4解线性方程组解的迭代法2.4.1基本迭代法2.4.2迭代法的矩阵表示2.4.3收敛性第3章数据近似3.1 多项式插值3.1.1插值多项式3.1.2Lagrange插值多项式3.1.3Newton插值多项式3.1.4带导数条件的插值多项式3.1.5插值公式的余项3. 2 最小二乘近似3.2.1 最小二乘问题的法方程3.2.2 正交化算法第4章数值微积分4.1 内插求积,Newton-Cotes公式4.1.1Newton-Cotes公式4.1.2复化求积公式4.1.3步长的选取4.1.4Romberg方法4.1.5待定系数法4.2数值微分4.2.1插值公式方法4.2.2Taylor公式方法(待定系数法)4.2.3外推法第5章非线性方程求解5.1 解一元方程的迭代法5.1.1简单迭代法5.1.2Newton法5.1.3割线法5.1.4区间方法5.2 收敛性问题5.2.1简单迭代——不动点5.2.2收敛性的改善5.2.3Newton法的收敛性5.2.4收敛速度第1章绪论1.1数值计算现代科学的发展,已导致科学与技术的研究从定性前进到定量,尤其是现代数字计算机的出现及迅速发展,为复杂数学问题的定量研究与解决,提供了强有力的基础。
通常我们面对的理论与技术问题,绝大多数都可以从其物理模型中抽象出数学模型,因此,求解这些数学模型已成为我们面临的重要任务。
一、本课程的任务:寻求解决各种数学问题的数值方法——如何将高等数学的问题回归到初等数学(算术)的方法求解——了解计算的基础方法,基本结构(否则只须知道数值软件)——并研究其性质。
可计算性与计算复杂性
可计算性与计算复杂性1.可计算性:可计算性研究的是什么样的问题可以通过其中一种计算模型解决。
早期的计算模型是图灵机(Turing machine),后来发展出其他等效的计算模型,例如递归函数、Lambda演算等。
根据这些计算模型,可以定义一类问题为可计算问题,也就是可以通过计算模型求解的问题。
1.1停机问题:停机问题是可计算性的典型例子,它是指根据给定的程序和输入,判断这个程序是否会在有限的时间内停止运行。
根据图灵在20世纪30年代证明的停机问题的不可判定性,他证明了不存在一个通用的算法能够判断任意程序是否停机,这个结论被称为图灵不可判定性定理。
1.2基本计算问题:除了停机问题,可计算性还研究了一些其他的基本计算问题。
例如,可计算性研究了自动机是否可以接受一些字符串,或者函数是否可以被一个特定的计算模型计算等。
1.3计算模型的等效性:在可计算性理论中,研究了不同计算模型之间的等效性。
图灵机、递归函数和Lambda演算等计算模型之间可以相互转化,这意味着它们的计算能力是等价的。
这个等价性的概念对理解可计算性是至关重要的。
2.计算复杂性:计算复杂性研究的是什么样的问题可以在多项式时间内解决,以及在不同条件下求解问题所需要的计算资源(例如时间、空间等)。
计算复杂性理论的核心是研究问题的复杂度类别和难度。
2.1多项式时间可解问题:计算复杂性理论将问题分为多项式时间可解问题和非多项式时间可解问题。
多项式时间可解问题是指那些可以在多项式时间内求解的问题。
这些问题的解决方法被认为是高效的,因为随着输入规模的增加,所需计算资源的增长是可接受的。
2.2难解问题:非多项式时间可解问题是那些不可以在多项式时间内求解的问题。
例如,图的旅行商问题(TSP)和布尔可满足性问题(SAT)等问题被认为是难解问题。
难解问题的求解需要指数级的时间或空间复杂度,因此在实际中很难找到有效的算法。
2.3复杂度类别:计算复杂性理论还研究了不同问题的复杂度类别。
密码学的计算复杂性理论
从前,有一个酷爱数学的年轻国王向邻国一位聪明美丽的公主求婚。 公主出了这样一道题:求出48 770 428 433 377 171的一个真因子。若国王 能在一天之内求出答案,公主便接受他的求婚。国王回去后立即开始逐个 数地进行计算,他从早到晚,共算了三万多个数,最终还是没有结果。国 王向公主求情,公主将答案相告:223 092 827是它的一个真因子。国王很 快就验证了这个数确能除尽48 770 428 433 377 171。公主说:“我再给你 一次机会,如果还求不出,将来你只好做我的证婚人了。”国王立即回国, 并向时任宰相的大数学家求教,大数学家在仔细地思考后认为这个数为17 位,则最小的一个真因子不会超过9位,于是他给国王出了一个主意:按自 然数的顺序给全国的老百姓每人编一个号发下去,等公主给出数目后,立 即将它们通报全国,让每个老百姓用自己的编号去除这个数,除尽了立即 上报,赏金万两。最后,国王用这个办法求婚成功。
– 当将一个问题分解到多个处理器上解决时,由于算法中不可避 免地存在必须串行执行的操作,从而大大地限制了并行计算机 系统的加速能力。
•设f为求解某个问题的计算存在的必须串行执行的操作占整 个最计大算 的的 加百 速分 能比 力,,则p为处理器的数目,Sp为并行计算机系统
设f=1%,p→,则Sp=100。(阿达尔定律) 串行执行操作仅占全部操作1%,解题速度最多也只能提高 一百倍。 对难解性问题而言,提高计算机系统的速度是远远不够的, 而降低算法复杂度的数量级才是最关键的问题。
读写头
状态 控制器 q
图灵在1936年提出了著名的图灵机模型(计算模型): ▪图灵机由一个无限长的带子(被划分成均匀的方格) 、一个磁带读/写头 和一个有限状态控制器组成。 ▪在每一步计算中,图灵机从磁带上读出一个符号,并由有限状态控制器决 定是否在当前的磁带区上写入不同的符号,然后决定是否需要将磁带读/写 头向前或向后移动一位。 当前的计算机,在理论上都是可以被图灵机模拟的,其原理和图灵机是相同 的,甚至还包含了存储程序的思想。
1.图灵机与计算问题(1节课)
– 小虫仅能够感受到它所处的方格的颜色---输 入信息。 – 小虫的输出动作就是往纸带上前爬一个方格 或者后退一个方格。
输入 黑色 白色 输出
• 程序: NaiveBug
前移 后移
小虫读到这个片断会怎样行动呢?
图灵机的今生来世
目录
• • • • 1、问题的起源 2、图灵的贡献 3、图灵机 4、图灵机的计算极限与计算复杂性
目录
• • • • 1、问题的起源 2、图灵的贡献 3、图灵机 4、图灵机的计算极限与计算复杂性
1、问题起源:费马大定理
• 17世纪,费马在阅读丢番图(Diophatus)《算术》拉 丁文译本时,曾在第11卷第8命题旁写道:“将一个立 方数分成两个立方数之和,或一个四次幂分成两个四 次幂之和,或者一般地将一个高于二次的幂分成两个 同次幂之和,这是不可能的。关于此,我确信已发现 了一种美妙的证法 ,可惜这里空白的地方太小,写不 下。” • 当整数n >2时,关于x, y, z的方程 xn + yn = zn 没有正整 数解 • 1995年被英国数学家安德鲁·怀尔斯证明
3、图灵机
一个图灵机是形如下面的一个装置 :
图灵机的组成
• 装置组成:
– 一个无限长的纸带(符号集合) – 一个读写头(读、改写、左移、右移) – 内部状态(有限状态机) – 还有一个程序对这个盒子进行控制。这个装 置就是根据程序的命令以及它的内部状态进 行磁带的读写、移动。
图灵机的工作过程
• 工作过程:
小虫会怎样行动呢?
输入 黑 黑 白 白 当前状态 饥饿 吃饱 饥饿 吃饱 输出 涂白 后移 涂黑 前移 下一个状态 吃饱 饥饿 饥饿 吃饱
计算复杂性-资料搜集
计算复杂性一、引言计算问题,应该是一种从人类有文明起便一直纠缠着人类的问题;为了解决这些问题,人类需要进行计算,需要设计算法。
显然,如果时间是无限的,计算机器性能也是无比的,那么选择什么算法并不是问题;但这不可能。
人类计算的时间是有限的,人类的计算设备也不是万能的。
因此,我们需要评判一种算法的复杂性。
那么,计算复杂性到底是什么,它的意义是什么,它的进展如何,应用如何,本文试图进行一部分回答。
二、相关概念1.计算复杂性、时间复杂性、空间复杂性:计算复杂性包括两个方面:时间复杂性,空间复杂性。
时间复杂性反映了问题计算所需的时间耗费, 一般是用计算的运算次数来衡量。
空间复杂性则代表进行计算需要耗费的存储空间。
例如,我们C语言作业的在线测评系统之中,会有内存和用时的要求;这两个方面分别体现了空间复杂性和时间复杂性。
2.多项式时间、指数时间:多项式时间指的是一种算法的时间复杂度可以用含有n的一个多项式表示。
这种情况下一般把操作数作为时间复杂度的衡量标准。
而指数时间指的是一种算法的时间复杂性不能够用多项式进行表示。
指数时间的算法效率较低,而且随着n的增大用时显著增加,被认为是相当于不存在的算法。
3.确定性图灵机、非确定性图灵机:两者都为图灵机模型;但是确定性图灵机在一定的条件下,只会选择一种操作;而非确定性图灵机则会根据生成的(伪)随机数在多种方法中选择一种进行。
4.P问题、NP问题、NPC问题:NP是指“在非确定性图灵机上有多项式时间算法的问题”的集合,而P是指“在确定性图灵机上有多项式时间算法的问题”的集合。
另外一种表述是,P问题在多项式时间内可以解决,而NP问题在多项式时间内可以得到检验。
P问题是NP问题的特例,而往往NP问题都被视作【但未被证明为】“不可”解决的问题。
经过多项式变换能够变成所有NP问题的问题称为NPC问题。
三、特色思想进行问题求解时,人们往往会关心:1.这个问题能否被算法求解;2.求解问题的过程需要消耗什么?而这正是计算复杂性研究的内容。
《计算理论》复习题总结
《计算理论》复习题总结1、自动机、可计算性、复杂性内涵及关系;计算理论的三个传统的核心领域:自动机、可计算性和复杂性。
通过“计算机的基本能力和局限性是什么?“这一问题将这三个领域联系在一起。
可计算理论与复杂性理论是密切相关的,在复杂性理论中,目标是把问题分成容易计算的和难计算的;而在可计算理论中,是把问题分成可解的和不可解。
自动机阐述了计算的数学模型的定义和性质,主要包含两种模型:有穷自动机模型;上下文无关文法模型。
可计算性理论和复杂性理论需要对计算机给了一个准确的定义。
自动机理论允许在介绍与计算机科学的其他非理论领域有关的概念时使用计算的形式化定义。
2、有穷自动机、正则语言、正则表达式、非确定有穷自动机、非正则语言;有穷自动机:描述能力和资源极其有限的计算机模型。
是一个5元组(Q,∑,δ,q0,F),其中1)Q是一个有穷集合,称为状态集。
2)∑是一个有穷集合,称为字母表。
3)δ:Q×∑→Q是转移函数。
4)q0∈Q是起始状态。
5)F⊆Q是接受状态集。
正则语言:如果一个语言能被有穷自动机识别。
正则表达式:用正则运算符构造描述语言的表达式。
称R是正则表达式,如果R是:1)a,a是字母表中的一个元素;2)ε;3)∅;4)(R1⋃R2);5)(R1 R2);6)(R1*)非确定有穷自动机:是一个5元组(Q,∑,δ,q0,F),其中1)Q是有穷状态集。
2)∑是有穷字母表。
3)δ:Q×∑ε→P(Q)是转移函数。
4)q0∈Q是起始状态。
5)F⊆Q是接受状态集。
3、上下文无关语言及上下文无关文法、歧义性、乔姆斯基范式、下推自动机、等价性、非上下文无关语言;上下文无关语言:用上下文无关文法生成的语言。
上下文无关文法:是一个4元组(V,∑,R,S)且1)V是一个有穷集合,称为变元集2)∑是一个与V不相交的有穷集合,称为终结符集3)R是一个有穷规则集,每条规则由一个变元和一个由变元及终结符组成的字符串构成,4)S∈V是起始变元歧义性:如果字符串W在上下文无关文法G中有两个或者两上以上不同的最左派生,则称G歧义地产生的字符串W。
大学计算机基础(文经医外类)习题参考答案
大学计算机基础(第2版)习题参考答案第一章习题及参考答案一.单选题(附参考答案)(1) 我们讨论的计算思维中的计算一词,指英语中的:(a)computation (b) computing(c) computation and computing (d) neither computation no computing参考答案:C(2) 移动通信与地理信息系统的结合,产生了新的计算模式:(a)与位置有关的计算(b)与时间有关的计算(c)与空间有关的计算(d)与人群有关的计算参考答案:A(3) 当交通灯会随着车流的密集程度,自动调整而不再是按固定的时间间隔放行时间时,我们说,这是计算思维___________的表现。
(a)人性化(b)网络化(c)智能化(d)工程化参考答案:C(4) 计算思维服务化处于计算思维层次的:(a)基础层次(b)应用层次(c) 中间层次(d) 工程技术层参考答案:B(5) 计算思维的智能化处于计算思维层次的:(a)基础层次(b)应用层次(c) 顶层层次(d) 工程技术层参考答案:D(6) 以下列出的方法哪一项不属于科学方法:(a) 理论(b) 实验(c) 假设和论证(d) 计算参考答案:C(7) 以下列出的哪一项不属于公理系统需要满足的基本条件?(a) 无矛盾性(b) 独立性(c) 完备性(d) 不完备性参考答案:D(8) 以下哪一项不属于伽利略的实验思维方法的基本步骤之一:(a)设计基本的实验装置(b)从现象中提取量的概念(c)导出易于实验的数量关系(d)通过实验证实数量关系参考答案:A(9) 对于实验思维来说,最为重要的事情有三项,但不包括以下的:(a) 设计实验仪器(b)制造实验仪器(c) 保证实验结果的准确性(d) 追求理想的实验环境参考答案:C(10) 计算思维最根本的内容为:(a) 抽象(b) 递归(c) 自动化(d) a和c参考答案:D(11) 计算机科学在本质上源自于:(a) 数学思维(b) 实验思维(c) 工程思维(d) a和c参考答案:D(12) 计算理论是研究使用计算机解决计算问题的数学理论。
计算复杂性课后题
V1
V2
图7--7
因此G’里的边是这些(见图7—7;回忆通过无向线段连接顶点可更
方便地描绘无向图):
{(u2,v0),(v0,u2):(u,v)∈G}∪{(
v0,v1),(v1,
v0),(v1,v2),(v2,v1):v∈V}。即按照v0,v1,v2的顺序用通
路连接这三个顶点,并且每当(u,v)∈G时,在u2和v0就存在无向
…,v︳v︳),可如下地转换成G’的Hamilton圈:
(v10,v11,v12,v20,v21,v22,…,v0︳v︳,v1︳v︳,v2︳v︳)。我们得出结
论说,G有Hamilton圈当且仅当G’有Hamilton圈,证毕。
须属于这条圈,而且对(v1,v2)也是同样的。于是这条圈必须向前通
过边( v2,w0),其中( v,w) ∈G,从这里到w1, w2,到某个z0,其中
( w,z) ∈G,等等。因此在G’的这条Hamilton圈里形如(u0,v2)的
边事实上组成了G的Hamilton圈。反之,G的任何Hamilton圈(v1,v2,
定理7.2.3 三元可满足性是NP完全的。 证明: 它当然属于NP,因为它是属于NP的问题的特殊情形。 为了证明完全性,我们把可满足性归约到三元可满足性上。这是相当 普通类型的归纳,在这里把问题归约到它自身的特殊情形上。通过证明 从一般问题的任意实例开始,我们设法消除妨碍这个 实例落进特殊情 形里的特性,这样的归约就可行了。在目前情况下我们必须证明从任意 子句集F出发,如何在多项式时间里得到在每个子句里最多有三个文字 的子句集t(F).
把两个b托出栈
M={{s,q,f},{a,b},{a,b,#},△,s,{f}},其中
△={((s,e,e),(q,#)), 推入#,转到状态q
可计算性与计算复杂性
可计算性与计算复杂性可计算性是研究计算问题是否具有解决方法的理论。
可计算性理论起源于上世纪30年代,由图灵(Alan Turing)等人提出。
可计算性的核心观点是,一个计算问题是否可以用一个确定的算法来解决。
如果存在一个算法解决了一些问题,那么这个问题就是可计算的。
例如,对于给定的两个整数,判断它们是否互质是一个可计算问题,因为存在一种算法可以解决这个问题。
另一方面,对于一个不可计算的问题,不存在一个算法可以解决它,如停机问题(Halting Problem)。
计算复杂性是研究计算问题所需的资源的理论。
计算复杂性理论的主要目标是研究在给定资源限制下,一个问题是否可以在合理的时间或空间内解决。
计算复杂性关注的是问题的难解程度,即需要多少资源才能解决问题。
计算复杂性理论通过引入时间和空间复杂度来描述问题的难度。
常见的时间复杂度表示方法有大O记号,如O(n)、O(nlogn)等,表示问题的解决时间与问题规模n之间的关系。
类似地,空间复杂度表示问题所需的存储空间。
计算复杂性理论中的一个重要问题是P与NP问题。
P问题(Polynomial Time)是指可以在多项式时间内解决的问题。
换句话说,对于一个P问题,存在一个多项式时间的算法可以解决它。
例如,对于给定的两个整数,判断它们是否互质就是一个P问题,因为存在一种多项式时间的算法可以解决。
P问题是计算复杂性理论中最为理想的一类问题。
NP问题(Nondeterministic Polynomial Time)是指可以在多项式时间内验证一个解的问题。
对于一个NP问题,如果一个解被提供,可以在多项式时间内验证它的正确性。
例如,对于给定的一组整数和一个目标值,判断是否存在一组整数使得它们的和等于目标值就是一个NP问题。
虽然验证解的正确性可以在多项式时间内完成,但寻找解的过程可能需要指数时间等非多项式时间,因此NP问题被认为是一类困难问题。
P问题与NP问题之间的关系是计算复杂性理论中一个重要的开放问题,即P=NP问题。
(人工智能)人工智能基础考试大纲
(人工智能)人工智能基础考试大纲(人工智能)人工智能基础考试大纲人工智能基础(8017)考试大纲壹、课程性质和设置目的(一)课程性质和特点“人工智能”是21世纪计算机科学发展的主流,为了培养国家建设跨世纪的有用人才,于计算机专业本科开设《人工智能基础》课程是十分必要的。
《人工智能基础》是计算机专业本科的壹门必修课程,本课程中涉及的理论、原理、方法和技术有助于学生进壹步学习其他专业课程。
开设本课程的目的是培养学生软件开发的“智能”观念;掌握人工智能的基本理论、基本方法和基本技术;提高解决“智能”问题的能力,为今后的继续深造和智能系统研制,以及进行关联的工作打下人工智能方面的基础。
(二)本课程的基本要求(课程总目标)《人工智能基础》是理论性较强,涉及知识面较广,方法和技术较复杂的壹门学科。
通过对本课程的学习,学生应掌握人工智能的壹个问题和三大技术,即通用问题求解和知识表示技术、搜索技术、推理技术。
具体要求是:学生于较坚实打好的人工智能数学基础(数理逻辑、概率论、模糊理论、数值分析)上,能够利用这些数学手段对确定性和不确定性的知识完成推理;于理解Herbrand域概念和Horn 子句的基础上,应用Robinson归结原理进行定理证明;应掌握问题求解(GPS)的状态空间法,能应用几种主要的盲目搜索和启发式搜索算法(宽度优先、深度优先、有代价的搜索、A算法、A*算法、博弈数的极大—极小法、α―β剪枝技术)完成问题求解;且能熟悉几种重要的不确定推理方法,如确定因子法、主观Bayes方法、D—S证据理论等,利用数值分析中常用方法进行正确计算。
另外,学生仍应该了解专家系统的基本概念、研究历史、系统结构、系统评价和领域应用。
学生仍应认识机器学习对于智能软件研制的重要性,掌握机器学习的关联概念,机器学习的方法及其相应的学习机制,几个典型的机器学习系统的学习方法、功能和领域应用。
(三)本课程和关联课程的联系、分工或区别和本课程关联的课程有:离散数学、算法设计、数值分析、程序设计语言等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.6 画出识别下述语言的DFA 的状态图。
a){w | w 从1开始以0结束}b){w | w 至少有3个1}c) {w | w 含有子串0101}d) {w | w 的长度不小于3,且第三个符号为0}e) {w | w 从0开始且为奇长度,或从1开始且为偶长度}或f) {w | w 不含子串110}g) {w | w 的长度不超过5}i){w | w 的奇位置均为1}j) {w | w 至少含有2个0,且至多含有1个1}k) {ε,0}0,11l) {w | w 含有偶数个0,或恰好两个1}m) 空集 n) 除空串外的所有字符串1.29利用泵引理证明下述语言不是正则的。
a. A 1={0n 1n 2n| n ≥0}。
证明:假设A 1是正则的。
设p 是泵引理给出的关于A 1的泵长度。
令S=0p 1p 2p,∵S 是A 1的一个成员且S 的长度大于p ,所以泵引理保证S 可被分成3段S=xyz 且满足泵引理的3个条件。
根据条件3,y 中只含0,xyyz 中,0比1、2多,xyyz 不是A 1的成员。
违反泵引理的条件1,矛盾。
∴A 1不是正则的。
b. A 2={www | w ∈{a,b}*}.证明:假设A 2是正则的。
设p 是泵引理给出的关于A 2的泵长度。
令S=a pba pba pb,∵S 是A 2的一个成员且S 的长度大于p ,所以泵引理保证S 可被分成3段S=xyz 且满足泵引理的3个条件。
根据条件3,y 中只含a ,所以xyyz 中第一个a 的个数将比后两个a 的个数多,故xyyz 不是A 2的成员。
违反泵引理的条件1,矛盾。
∴A 2不是正则的。
c. A3={a2n | n≥0}.(在这里,a2n表示一串2n个a .)证明:假设A3是正则的。
设p是泵引理给出的关于A3的泵长度。
令S= a2p,∵S是A2的一个成员且S的长度大于p,所以泵引理保证S可被分成3段S=xyz且满足泵引理的3个条件。
即对任意的i≥0,xy i z都应在A3中,且xy i z与xy i+1z的长度都应是2的幂. 而且xy i+1z的长度应是xy i z的长度的2n倍(n≥1)。
于是可以选择足够大的i,使得|xy i z|=2n>p. 但是|xy i+1z|-|xy i z|=|y|≤p. 即|xy i+1z|<2n+1, 矛盾。
∴A3不是正则的。
1.46 证明:a)假设{0n1m0n|m,n≥0}是正则的,p是由泵引理给出的泵长度。
取s=0p1q0p,q>0。
由泵引理条件3知,|xy|≤p,故y一定由0组成,从而字符串xyyz中1前后0的数目不同,即xyyz不属于该语言,这与泵引理矛盾。
所以该语言不是正则的。
b) 假设{0n1n|n≥0}的补集是正则的,则根据正则语言在补运算下封闭可得{0n1n|n≥0}是正则的,这与已知矛盾,故假设不成立。
所以该语言不是正则的。
c) 记c={0m1n|m≠n},┐c为c的补集,┐c∩0*1*={0n1n|n≥0},已知{0n1n|n ≥0}不是正则的。
若┐c是正则的,由于0*1*是正则的,那么┐c∩0*1*也应为正则的。
这与已知矛盾,所以┐c不是正则的。
由正则语言在补运算下的封闭性可知c也不是正则的。
d) {w | w∈{0,1}*不是一个回文}的补集是{w | w∈{0,1}*是一个回文},设其是正则的,令p是由泵引理给出的泵长度。
取字符串s=0p1q0p,显然s是一个回文且长度大于p。
由泵引理条件3知|xy|≤p,故y只能由0组成。
而xyyz不再是一个回文,这与泵引理矛盾。
所以{w | w∈{0,1}*是一个回文}不是正则的。
由正则语言在补运算下的封闭性可知{w | w∈{0,1}*不是一个回文}也不是正则的。
2.4和2.5 给出产生下述语言的上下文无关文法和PDA ,其中字母表∑={0,1}。
a. {w | w 至少含有3个1}S →A1A1A1A A →0A|1A|εb. {w | w 以相同的符号开始和结束}S →0A0|1A1 A →0A|1A|εc. {w | w 的长度为奇数}S →0A|1A A →0B|1B|ε B →0A|1Ad. {w | w 的长度为奇数且正中间的符号为0}S →0S0|1S1|0S1|1S0|0e. {w | w 中1比0多}S →A1AA →0, ε→ε 0,ε→ε 0,ε→ε 1,ε→ε0,ε→ε 0,ε→0 0,0→ε 0,ε→0 1,0→ε 0,1→εf. {w | w=w R }S →0S0|1S1|1|0 g. 空集S →S2.15 用定理2.6中给出的过程,把下述CFG 转换成等价的乔姆斯基范式文法。
A →BAB|B|εB →00|ε解:添加新起始变元S 0,去掉B →ε S 0→AS 0→AA →BAB|B|ε A →BAB|AB|BA|B|εB →00|εB →00去掉A →ε, 去掉A →B S 0→AS 0→AA →BAB|AB|BA|B|BB A →BAB|AB|BA|00|BB B →00B →00去掉S 0→A,添加新变元 S 0→BAB|AB|BA|00|BB S 0→VB|AB|BA|UU|BB A →BAB|AB|BA|00|BB A →VB|AB|BA|UU|BB B →00 B →UU V →BAU →00,ε→00,0→ε3.15证明可判定语言类在下列运算下封闭。
a. 并。
证明:设M1,M2为识别可判定语言A1,A2的判定器。
构造图灵机M:M=“输入w,1)分别在w上运行M1和M2,每运行一步M1就运行一步M2。
2)若M1和M2中有一个接受,则接受。
若都拒绝,则拒绝。
”M为识别A1⋃A2的判定器。
所以可判定语言类对并运算封闭。
b. 连接。
证明:设M1,M2为识别可判定语言A1,A2的判定器。
构造图灵机M:M=“输入w,1)列出所有将w分成两段的方式(|w|+1种).2)对于每一种分段方式,在第一段上运行M1,在第二段上运行M2。
若都接受,则接受。
3)若没有一种分段方式被接受则拒绝。
”M为识别A1οA2的判定器。
所以可判定语言类对连接运算封闭。
c. 星号。
证明:设M1为识别可判定语言A的判定器。
M=“输入w,1)列出w的所有分段的方式(2|w|-1种)。
2)对于每一种分段方式,重复下列步骤:3)分别在每一段上运行M1,若每一段都能被M1接受,则接受。
4)若没有一种分段方式被接受则拒绝。
”M为识别A*的判定器。
所以可判定语言类对星号运算封闭。
d. 补。
证明:设M1=(Q,∑,Γ,δ,q, q1, q2)为识别可判定语言A的判定器,其中q1为接受状态,q2为拒绝状态。
令M=(Q,∑,Γ,δ,q, q2, q1),其中q2为接受状态,q1为拒绝状态。
则M为识别A的判定器。
所以可判定语言类对补运算是封闭的。
e. 交。
证明:设M1,M2为识别可判定语言A1,A2的判定器。
构造图灵机M:M=“输入w,1)分别在w上运行M1和M2,每运行一步M1就运行一步M2。
2)若M1和M2中都接受,则接受。
若M1和M2中有一个拒绝,则拒绝。
”M为识别A1⋂A2的判定器。
所以可判定语言类对交运算是封闭的。
3.16证明图灵可识别语言类在下列运算下封闭:a.并 b.连接 c.星号 d.交证明:要证这四种运算下图灵可识别语言类封闭,只需设计出图灵机来识别此种语言。
设A和B是图灵可识别语言,A=L(M1),B=L(M2),M1和M2是两个图灵机。
a.并M=“对于输入w:1) 在输入w上并行运行M1和M2;2) M1和M2中有一个停机且接受,则接受;若都停机且拒绝,则拒绝。
”M识别A1⋃A2。
所以图灵可识别语言类对并运算是封闭的。
b. 连接M=“输入w,1)出所有将w分成两段的方式(|w|+1种).2)对于i=1,2,⋯重复以下步骤:3)对于每一种分段方式,在第一段上运行M1i步,在第二段上运行M2i步,或者直到停机。
若都接受,则接受。
”M识别A1οA2。
所以图灵可识别语言类对连接运算是封闭的。
c.星号M=“输入w,1)列出w的所有分段的方式(2|w|-1种).2)对于i=1,2,⋯重复以下步骤:3)对于每一种分段方式,分别在每一段上运行M1i步,或者直到停机。
若M1接受所有段,则接受。
”M识别A*。
所以图灵可识别语言类对星号运算是封闭的。
d.交M= “对于输入w:1)在输入w上运行M1。
若M1接受,则转(2);若M1拒绝,则拒绝。
2)在w上运行M2。
若M2接受,则接受;若M2拒绝,则拒绝。
”M识别A⋂B。
所以图灵可识别语言类对并运算封闭。
3.211) 由cmax ≥|c1|知,当|x|≤1,则欲判定不等式明显成立。
2) 当|x|>1时,由c 1x n + c2x n-1 + …+ cnx + cn+1= 0⇒c1x =-(c2 + …+ c n x2-n + c n+1x1-n)⇒|c1| |x| = |c2 + …+ c n x2-n + c n+1x1-n|< |c2| +…+ |cn||x|2-n + |cn+1| |x|1-n≤ |c2| +…….|c n| + |c n+1||x0|≤ n c max< (n + 1) cmax⇒|x| < (n + 1) c max / |c1|.4.11 设A={<M>|M是DFA,它不接受任何包含奇数个1的字符串}。
证明A是可判定的。
证明:构造DFA N,使L(N)={含奇数个1的字符串}。
构造图灵机F=“对于输入<M>,其中M是DFA,1)构造DFA D,使L(D)=L(M)∩L(N)。
2)检测L(D)是否为空。
(EDFA可判定检测)。
3)若L(D)=∅,则接受;否则拒绝。
”4.13 “检查一个CFG是否派生1*中某个串问题”解: LX={<G>|G是{0,1}*上的CFG,且1*∩L(G)≠∅}证明:构造TM TT=“对于输入<A>,A为CFG1)将终结符“1”和“ε”做标记。
2)重复下列步骤,直至无可做标记的变元。
3)如G有规则A→U1U2…Un,且U1U2…Un中每个符号都已做过标记,则将A做标记,其中Ui为终结符或非终结符。
4)如果起始变元没有被标记则拒绝,否则接受。
”T判定LX。
5.7证明:如果A是图灵可识别的,且A≤m A,则A是可判定的。
证:∵A≤m A⇔A≤m A且A为图灵可识别的∴A也为图灵可识别的∴由A和A都是图灵可识别的可知A是可判定的.5.1 证明EQCFG是不可判定的。
解:只须证明ALLCFG ≤mEQCFG即可。
构造CFG G1,使L(G1)=∑*。
设计从ALLCFG到EQCFG的归约函数如下:F=“对于输入<G>,其中G是CFG:1)输出<G,G1>。