算法分析与计算复杂性理论

合集下载

理解计算机中的计算理论与复杂性

理解计算机中的计算理论与复杂性

理解计算机中的计算理论与复杂性计算机中的计算理论与复杂性计算理论是计算机科学的重要分支之一,它研究计算过程的本质和性质,为计算机科学提供了理论基础。

而复杂性理论则研究计算问题的复杂性,即问题的难解程度。

在计算机发展的不断推动下,计算理论与复杂性的研究越发重要。

本文将从计算理论和复杂性两个方面对相关概念和研究进行介绍和探讨。

一、计算理论计算理论是计算机科学中关于计算概念和过程的研究。

它主要分为可计算性理论和形式语言与自动机理论两大部分。

1. 可计算性理论可计算性理论研究的是什么问题可以用计算机算出,以及如何判断一个问题是否可计算。

它的核心思想是“图灵机”,即由英国数学家图灵提出的一种理论模型,用于描述计算过程。

可计算性理论的研究对象包括了函数的计算性、计算问题是否可判定、可计算函数的分类等。

2. 形式语言与自动机理论形式语言与自动机理论研究的是描述和处理信息的形式化语言和自动机模型。

形式语言的研究对象包括了正则语言、上下文无关语言和上下文敏感语言等。

而自动机模型则包括了有限状态自动机、下推自动机和图灵机,用于描述和处理形式语言。

二、复杂性理论复杂性理论是研究计算问题的复杂性的学科。

它关注的是问题的求解难易程度,即问题的复杂性。

复杂性理论主要分为计算复杂性理论和各类计算问题的复杂性。

1. 计算复杂性理论计算复杂性理论研究的是计算问题的复杂性度量和分类。

其中最具代表性的是时间复杂性和空间复杂性。

时间复杂性研究的是计算问题在计算时间上的耗费,空间复杂性研究的是计算问题在计算空间上的耗费。

常用的时间复杂性度量是“大O记号”,用于表示问题在最坏情况下的耗时增长趋势。

2. 计算问题的复杂性计算问题的复杂性研究的是不同类型问题的复杂性分类以及它们之间的关系。

其中最经典的研究是关于P类问题和NP类问题的划分。

P 类问题指的是可以在多项式时间内求解的问题,而NP类问题指的是可以在多项式时间内验证的问题。

复杂性理论的研究则主要集中在P与NP问题之间的关系。

计算复杂性理论

计算复杂性理论

计算复杂性理论计算复杂性理论是计算机科学中重要的一个分支,它研究了计算问题的难度和可解性。

通过对问题的复杂性进行分析和分类,计算复杂性理论为我们提供了解决问题的指导原则和限制条件。

本文将介绍计算复杂性理论的基本概念、主要研究内容以及其在实际应用中的重要性。

一、基本概念1. P和NP问题在计算复杂性理论中,最基本的概念是P问题和NP问题。

P 问题是指可以在多项式时间内解决的问题,即存在一个算法可以在多项式时间内给出问题的正确答案。

而NP问题则是指可以在多项式时间内验证答案的问题,但尚未找到多项式时间内解决的算法。

P问题是NP问题的子集,即所有的P问题也是NP问题,但目前尚不清楚P问题和NP问题是否是相同的类。

2. NP完全性NP完全性是计算复杂性理论中的一个关键概念,它指的是一类最困难的NP问题。

一个问题被称为是NP完全的,如果它既是一个NP问题,又满足以下条件:对于任何一个NP问题,都可以用多项式时间的算法将其约化为该问题。

换句话说,如果我们能够找到一个多项式时间算法来解决一个NP完全问题,那么我们也可以用同样的算法来解决所有的NP问题。

3. NP难度除了NP完全性概念,计算复杂性理论还引入了NP难度的概念。

一个问题被称为是NP难度的,如果对于任何一个NP问题,都可以用多项式时间的算法将其约化为该问题。

虽然NP难度问题不一定是NP问题,但它们和NP完全问题一样,都是十分困难的问题。

二、主要研究内容1. 多项式时间算法计算复杂性理论的一个主要研究内容是寻找和分析多项式时间算法。

多项式时间算法是指可以在多项式时间内解决的算法,即其执行时间与输入规模呈多项式关系。

研究多项式时间算法的目标是寻找高效的解决方法,从而提高问题的可解性。

2. 算法复杂性分析算法复杂性分析是计算复杂性理论中的另一个重要内容。

通过对算法的复杂性进行全面的分析,我们可以预测算法在实际应用中的性能表现。

算法复杂性分析的主要方法包括时间复杂性分析和空间复杂性分析,通过对算法的时间和空间需求进行测量和评估,我们可以判断算法在给定条件下的可行性和效率。

浅谈计算复杂性理论

浅谈计算复杂性理论

浅谈计算复杂性理论任忠乌鲁木齐石化公司计控中心摘要:本文阐述了计算复杂性理论的产生、定义、研究内容和发展。

关键词:算法分析;计算复杂性;起源;发展1.计算法复杂性理论的起源在几千年的数学发展中,人们研究了各式各样的计算,创立了许多算法。

但是,以计算或算法本身的性质为研究对象的数学理论,却是在20世纪30年代才发展起来的。

1936年,为了讨论对于每个问题是否都有求解算法,数理逻辑学家提出了几种不同的计算模型的定义。

K.Godel和S.C.Kleene等人创立了递归函数论,将数论函数的算法、可计算性刻画为递归可枚举性。

A.M.Turing和E.L.Post提出了理想计算机的概念,将问题算法可解性刻画为在具有严格定义的理想计算机上的可解性。

40年代以后,随着计算机科学技术的发展,研究的焦点从理论可计算法转移到现实可计算性上。

人们不仅需要研究理论上的、原则上的可计算性,还要研究现实的可计算性,即研究计算一个问题类需要多少时间,多少存储空间,研究哪些问题是现实可计算的,哪些问题虽然原则上可计算,但由于计算的量太大而实际上无法计算等。

因而一般算法设计方法研究和对一类问题算法解的难度分析便成为计算机科学的热点。

此后,计算复杂性的研究等不断有所发展。

由此产生了算法学和计算复杂性理论等新兴研究领域。

计算复杂性大的进展始于50年代末、60年代初,当时在美国有两个并行的中心,一个是通用电气公司设立于纽约州Schenectady的研究实验室,核心人物是J.Hartmanis和R.Stearns。

1964年11月,他们在普林斯顿举行的第五届开关电路理论和逻辑设计学术年会上发表了论文"Computational Complexity of recursivese quences",论文中首次使用了"计算复杂性"这一术语,由此开辟了计算机科学中的一个新领域,并为之奠定了理论基础。

他们两人是1993年度图灵奖获得者。

算法分析与复杂性理论

算法分析与复杂性理论

stopvegas = 3
③回溯算法与lv算法 混合使用 1 先在棋盘的前若 2 干行中随机地放臵皇 3 后,(即设定 stopvegas的值)然 4 后在后继行中用回溯 5 法继续搜索,直至找 到一个解或宣告失败.6 随机放臵的皇后 7 越多,后继回溯搜索 所需的时间就越少, 8 但失败的概率就越大. 1
完全回溯法
LV和回溯混合效 率最高的情况
完全LV算法ห้องสมุดไป่ตู้
8
分析:
①完全回溯法比LV算法在解八皇后问题时效率 低得多; ②LV算法和回溯的混合使用有利于提高解八皇 后的效率。
9
LV算法具体应用分析
2、N皇后问题 下面是n取不同值时效率对比情况:
随着n值的增加,与回溯法相比,使用LV算法的 高效率性逐渐明显。
10
LV算法的现状与展望
缺点:时间复杂度不确定,有时候得不到解, 而要多次运行算法。 LV算法还可以来解决排序问题,分班问题, 考试系统安排问题,aD-Hoc网络中基于距离的动 态概率广播协议问题,航天器与短期空间碎云碰 撞问题等等。 如今,人们在实验中发现基于重启优化方法可 以提高LV算法的性能和稳定性,可以很直观的解 决一些NP难解问题,如TSP问题。
e
0.000000 0.000000 39.852940 15.784404 8.884438 7.165462 6.662811 6.315917 6.017177
t
113.000000 38.165001 28.320000 29.720001 38.134998 52.995003 45.480000 47.285000 48.285000
拉斯维加斯算法利用随机来指导解的搜索即使做了个不宜的选择也可以保证正确的解因为这样会导致算法进入绝境这样就会报告在这一次运行中无法得到解然后重新启动算法直到得到正确的结果

第5章 算法与复杂性

第5章 算法与复杂性
对于一个算法的评价,通常要从正确性、可理解性、 健壮性、时间复杂度(Time Complexity)及空间复杂 度(Space Complexity)等多个方面加以衡量。 1.算法的时间复杂度 时间复杂度是度量时间的复杂性,即算法的时间效率 的指标。 2.算法的空间复杂度 算法的空间复杂度是度量空间的复杂性,即执行算法 的程序在计算机中运行时所占用空间的大小。
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(数字签名标准)。

第一讲:计算复杂性理论

第一讲:计算复杂性理论

大多数研究者认可 的包容关系
L m
计算复杂度的影响因素
简化模型:模型2
计算复杂度的影响因素
简化模型:模型3。
计算复杂度的影响因素
建模假设 例:高空抛球的运动轨迹。 ----抛物线模型 假设1.没有空气阻力; 假设2.地面是平面。 ----椭圆模型
计算复杂度的影响因素
探索空间1 探索空间1---解的近似度、满意度
例:0—10之间的整数解:1-9共9个可行解(一维) 0—10之间的实数解:精确到小数点后6位 共有107个可行解(一维); 107n个可行解(n维)
n! 10141世紀 → 10120世紀 102551世紀 → 102530世紀
问题与算法
每个問題都可能有多个算法存在. 每个算法的计算量(速度)都不同。 例: 赝品金币問題: 问题:9個外观完全一样的金币.,有一个是假的 (重量轻). 提问:用天秤来鉴别真伪,天秤需要使用几次?
贋品金币問題算法 問題算法
优化技术与方法
計算量(1) 計算量
+,-,×,÷ 比較:≠,≤,≥,<,> 5种基本演算都是用1step 可以实现. 実際上,×比+多占用時間. 「四舍五入」不算基本演算.
計算量(2) 計算量
{a1, a2,..., an}:n個整数 Q1. 求和(1): a1+a2+・・・+an. 1 + +a n-1 steps → O(n)算法. Q2. 求和(2): (1) 2×a1+・・・+ 2×an , 2n-1 steps→ O(n)算法. (2) 2×(a1+・・・+an) , n steps→ O(n)算法.
尚未确信能否用多項式時間算法求解的问题的 集合称为NP (non-deterministic polynomial)问题 某一个问题不属于NP问题的証明 如能够找到一个多項式時間算法 (簡単) 某一个问题属于NP问题的証明 可以归结为某一类既知的NP类问题(现阶段7类))

计算机科学中的计算复杂性理论

计算机科学中的计算复杂性理论

计算机科学中的计算复杂性理论计算复杂性理论是计算机科学中的一个重要分支,研究的是计算问题的算法复杂性和计算机问题的可解性。

它帮助我们理解计算问题是否有高效的解决方法,为设计和分析算法提供了基础。

一、引言计算复杂性理论涉及到算法的效率和计算问题的可解性,对计算机科学和信息技术具有重要意义。

本文将首先介绍计算复杂性理论的起源和发展,然后重点讨论几个计算复杂性理论中的重要概念和问题。

二、计算复杂性理论的起源和发展计算复杂性理论起源于20世纪60年代,由对计算问题的可解性进行研究逐渐演化而来。

该理论的研究者,如图灵奖得主阿隆佐·邱奇、史蒂芬·库克等,提出了多个理论模型和概念,奠定了计算复杂性理论的基础。

三、计算复杂性理论的重要概念1. P问题和NP问题在计算复杂性理论中,P问题指的是可以在多项式时间内解决的问题,而NP问题则是指可以在多项式时间内验证给定解是否正确的问题。

其中,P问题是NP问题的一个子集,即P⊆NP。

2. NP完全性NP完全性是计算复杂性理论中的一个重要概念。

一个问题是NP完全的,意味着它是NP问题中最难的一类。

如果我们能够找到一个多项式时间内解决NP完全问题的算法,那么可以得出P = NP的结论,这是计算机科学中的一个重大问题。

3. 计算复杂性度量计算复杂性理论通过引入时间复杂性和空间复杂性度量来衡量算法的效率。

其中,时间复杂性度量算法执行所需的时间步数,空间复杂性度量算法所需的存储空间。

这些度量帮助我们选择具有高效率的算法,提高计算问题的解决速度。

四、计算复杂性问题的研究方法计算复杂性理论研究问题的方法主要有两种:证明方法和求解方法。

证明方法通过证明某个问题是NP完全的来研究问题难度;而求解方法则是通过设计高效的算法来解决问题。

1. 证明方法证明方法是计算复杂性理论中常用的方法之一,它使用约简技术将一个已知的NP完全问题转化为待研究问题,从而证明待研究问题也是NP完全的。

算法分析与计算复杂性理论

算法分析与计算复杂性理论

搜索问题
输入:非降顺序排列的数组L,元素数为n; 数x 输出:j. 若x在L中,j 是 x 首次出现的序标;否则 j =0 算法 顺序搜索 假设 x 在 L 中的概率为 p
x 在 L 中不同位置是等概分布的,则
W(n)n
n p
p(n1)
A(n) i (1p)n
(1p)n
i1 n
2
23
函数渐近的界
设 f 和 g 是定义域为自然数集 N上的函数 (1) f(n)=O(g(n))
若存在正数c和n0使得对一切nn0有0f(n)cg(n)
(2) f(n)= (g(n))
若存在正数c和n0使得对一切nn0有0cg(n) f(n) (3) f(n)=o(g(n))
对所有正数c<1存在n0使得对一切nn0有0f(n)<cg(n)
(4) f(n)= (g(n)).
对所有正数c<1存在n0使得对一切nn0有0cg(n)<f(n)
(5) f(n)=(g(n)) f(n)=O(g(n)) 且 f(n)=(g(n))
(6) O(1)表示常数函数
24
函数渐近的界的基本性质
定理1.1 设 f 和 g 是定义域为自然数集 N上的函数.
算法设计分析与计算复杂性理论的研究是计算机科学技术 的核心研究领域 1966-2005期间,Turing奖获奖50人,其中10人以算法 设计,7人以计算理论、自动机和复杂性研究领域的杰 出贡献获奖 计算复杂性理论的核心课题 “P=NP?” 是本世纪7个最 重要的数学问题之一
通过算法设计与分析课程的训练对提高学生的素质和分析 问题解决问题的能力有着重要的作用
2. Introduction to Algorithms(Second Edtion), Thomas H. Cormen, Charles E. Leiserson, Ronald L.Rivest, The MIT Press 2001. 高教出版社影印版,2002.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19
算法的描述: 算法的描述:伪码
保持程序的主要结构 类 C, Pascal 赋值语句: 赋值语句:← 分支语句: 分支语句:if …then …[else…] 循环语句: 循环语句:while, for,repeat ..until , 转向语句: 转向语句:goto 调用 注释: 注释://… 允许使用自然语言 常忽略数据结构、模块、 常忽略数据结构、模块、异常处理等细节 常忽略变量说明
n
max ∑ f i ( x i ),
i =1 n
∑x
i =1
i
= m,
xi ∈ N
采用什么算法?效率怎样? 采用什么算法?效率怎样?
8
蛮力算法的代价
n n 1 Stirling公式:n! = 2πn ( ) (1 + Θ( )) 公式: 公式 e n
个数估计: 非负整数解 <x1, x2, …, xn> 的个数估计:
min( ∑ d (cki , cki +1 ) + d (ckm , ck1 ))
i =1
m −1
17
实例
C = {c1, c2, c3, c4}, d (c1,c2) = 10, d (c1,c3) = 5, d (c1,c4) = 9 d (c2,c3) = 6, d (c2,c4) = 9, d (c3,c4) = 3
11Biblioteka Algorithm + Data Structure = Programming
好的算法
提高求解问题的效率 节省存储空间
需要解决的问题
问题→寻找求解算法 问题→寻找求解算法 算法→算法的评价 算法→ 算法类→ 算法类→问题复杂度的评价 问题类→ 问题类→能够求解的边界 算法设计技术 算法分析技术 问题复杂性分析 计算复杂性理论
算法分析与 计算复杂性理论
1
课程简介
课程名称
算法分析与计算复杂性理论 Analysis of Algorithms and Theory of Computational Complexity
基本目的
掌握组合算法设计的基本技术 掌握算法分析的基本方法 掌握计算复杂性理论的基本概念 学习应用算法理论处理实际问题
12
算法研究的重要性
算法设计与分析技术在计算机科学与技术领域有着重要的 应用背景 算法设计分析与计算复杂性理论的研究是计算机科学技术 的核心研究领域 1966-2005期间,Turing奖获奖 人,其中 人以算法 期间, 奖获奖50人 其中10人以算法 期间 奖获奖 设计, 人以计算理论 人以计算理论、 设计,7人以计算理论、自动机和复杂性研究领域的杰 出贡献获奖 是本世纪7个最 计算复杂性理论的核心课题 “P=NP?” 是本世纪 个最 重要的数学问题之一 通过算法设计与分析课程的训练对提高学生的素质和分析 问题解决问题的能力有着重要的作用
c1
9 3
10 6
5
c2
9
c3
c4
18
算法
非形式定义 有限条指令的集合 指令集确定了解决某个问题的运算或操作的序列 输入个数大于等于0 输入个数大于等于 输出个数大于0 输出个数大于0 形式定义 对所有的有效输入停机的Turing机 对所有的有效输入停机的 机 算法 A 解问题 P 把问题P的任何实例作为算法 的输入, 能够在有限步 的任何实例作为算法A的输入 把问题 的任何实例作为算法 的输入,A能够在有限步 停机, 停机,并输出该实例的正确的解
13
理论上的可计算: 理论上的可计算:可计算性理论
研究目标 确定什么问题是可计算的, 确定什么问题是可计算的,即存在求解算法 合理的计算模型 已有的:递归函数、 演算、 已有的:递归函数、Turing机、λ演算、Post系统等 机 系统等 条件: 条件:计算一个函数只要有限条指令 每条指令可以由模型中的有限个计算步骤完成 指令执行的过程是确定的 核心论题: 核心论题:Church-Turing论题 论题 如果一个函数在某个合理的计算模型上可计算, 如果一个函数在某个合理的计算模型上可计算,那么它在 Turing机上也是可计算的 机上也是可计算的 可计算性是不依赖于计算模型的客观性质
复杂度表示
针对问题选择基本运算 将基本运算次数表示为输入规模的函数
22
实例
搜索问题
输入:非降顺序排列的数组L,元素数为n; 数x 输入:非降顺序排列的数组 ,元素数为 ; 输出: 首次出现的序标; 输出:j. 若x在L中,j 是 x 首次出现的序标;否则 j =0 在 中 算法 顺序搜索 假设 x 在 L 中的概率为 p x 在 L 中不同位置是等概分布的,则 中不同位置是等概分布的,
14
理论上与现实上的可计算性
高度并行 可计算 现实可计算 理论上可计算 算法至少具有指数时间:理论上可计算——难解的 算法至少具有指数时间:理论上可计算——难解的 —— 多项式时间的算法:现实上可计算—— ——多项式时间可解的 多项式时间的算法:现实上可计算——多项式时间可解的 对数多项式时间的算法: 对数多项式时间的算法:高度并行可解的
A
B
C
T(n) = 2 T(n−1) + 1,T(1) = 1,解得 T(n) = 2n −1 − , , 1秒移 个,64个盘子要多少时间?( 秒移1个 个盘子要多少时间?( 亿年) 秒移 个盘子要多少时间?(5000亿年) 亿年 思考:是否存在更好的解法? 思考:是否存在更好的解法? Reve难题:Hanoi塔变种,柱数增加,允许盘子相等 难题: 塔变种, 难题 塔变种 柱数增加,允许盘子相等. 其他变种:奇偶盘号分别放置 其他变种 奇偶盘号分别放置
10
其他问题
搜索问题 输入: 输入:排好序的数组 L,x , 输出: 输出:x 是否在 L 中?如果在输出它的下标 排序问题 输入: 个数 输入:n个数 输出:按递增顺序排好的n个数 输出:按递增顺序排好的 个数 选择问题 输入: 个数的集合 个数的集合S,正整数k( ≤ ≤ 输入:n个数的集合 ,正整数 (1≤k≤n) 输出:S中第 k 小的数 输出: 中第 需要: 需要: 现有的算法中哪个算法最好? 现有的算法中哪个算法最好? 是否存在更有效的算法? 是否存在更有效的算法?
3
预计进度安排
内容 1 2 3 4 5 6 7 8 前言 数学基础 分治策略 动态规划 回溯与分支估界 贪心法 概率算法 算法分析技术 学时 1 2 4 4 4 4 3 6 9 内容 Turing机 机 10 计算复杂性理论 11 NP完全性理论 完全性理论 12 Cook定理 定理 13 NP完全性证明 完全性证明 14 NP完全理论应用 完全理论应用 15 NP完全理论的拓广 完全理论的拓广 16 小结 学时 2 2 2 1 5 2 2 1
C
m m + n −1
( m + n − 1)! = = m! ( n − 1)!
((1 + ε ) m + n−1 )
蛮力算法——穷举法代价太大 蛮力算法——穷举法代价太大 —— 能否利用解之间的依赖关系找到更好的算法? 能否利用解之间的依赖关系找到更好的算法? 结论: 结论:需要算法设计技术
9
Hanoi塔问题 塔问题
20
伪码的例子: 伪码的例子:插入排序
算法 INSERTION-SORT(A) 1. for j ← 2 to length[A] 2. do key ← A[j] // 将A[j]插入排好序的序列 A[1..j–1] 插入排好序的序列 3. i ← j–1 4. while i > 0 and A[i] > key 5. do A[i+1] ← A[i] 6. i ← i –1 7. A[i+1] ← key
5
学习安排
成绩评定: 成绩评定:
小论文:结合研究工作, 小论文:结合研究工作,50% 期末笔试: 期末笔试:50%
引言: 引言 理论上的可计算与现实上的可计算
算法研究的重要性 理论上的可计算 ——可计算性理论 ——可计算性理论 现实上的可计算 ——计算复杂性理论 ——计算复杂性理论
7
投资问题
问题: 问题: m元钱,投资给 个项目,效益函数 fi(x),表示第 i 个项目 元钱, 个项目, 元钱 投资给n个项目 , 投入x元钱的效益 元钱的效益, 投入 元钱的效益,i=1,2,…,n. 如何分配每个项目的钱数使 得总效益最大? 得总效益最大? 令xi 是第 i 个项目的钱数
16
问题
问题:需要回答的一般性提问, 问题:需要回答的一般性提问,通常含有若干参数 问题描述所包含的内容: 问题描述所包含的内容: 对问题参数的一般性描述, 对问题参数的一般性描述,解满足的条件 问题的实例 实例: 问题的实例:对问题的参数的一组赋值 例1 货郎担问题 问题:有穷个城市的集合C 问题:有穷个城市的集合 = { c1, c2, …, cm}, 正整数d 正整数 (ci, cj) = d (cj, ci), 1≤ i < j ≤ m. ≤ 解: < c k1 , c k 2 , K , c k > 使得 k1, k2, …, km是1, 2 …, m m 的置换且满足
教材与参考书
1. Algorithm Design, Jon Kleinberg, Eva Tardos, AddisonWesley, 清华大学出版社影印版 清华大学出版社影印版,2006. 2. Introduction to Algorithms(Second Edtion), Thomas H. Cormen, Charles E. Leiserson, Ronald L.Rivest, The MIT Press 2001. 高教出版社影印版,2002. 高教出版社影印版, 3. 计算机和难解性 NP完全性理论导引 M. R. 加里 D. S. 计算机和难解性: 完全性理论导引, 加里, 完全性理论导引 约翰逊, 张立昂等译,科学出版社, 约翰逊 张立昂等译,科学出版社 1987. *4. 计算复杂性导论,堵丁柱,葛可一,王洁,高教出版社 计算复杂性导论,堵丁柱,葛可一,王洁, 2002. *5. Limits to Parallel Computation: P- Completeness Theory, Raymond Greenlaw, H. James Hoover, Walter L. Ruzzo, Oxford University Press, 1995.
相关文档
最新文档