七大世纪难题之一 : P = NP ?

70
北北北北北北北北北北北北北北北北 西 1 北北北北北北北一: P = NP 北北北 北北北北 北北北北北北 西 北北北北北北北 北北北 2006.11 学学学学

description

学术报告. 七大世纪难题之一 : P = NP ?. 郝克刚 2006.11. 西北大学 信息学院 计算机科学系 软件工程研究所. 本报告的目的。. 最近七大世纪难题之一的庞加莱猜想获得证明,引发了人们对解决世纪难题的兴趣。 在美国克莱数学研究所 2000 年提出的,每个悬赏 100 万美元大奖的七大世纪难题中,有一个计算机科学问题,这就是“ P = NP ?”问题。 现在就要求很多同学们去研究和解决这个难题,显然是不现实的。但是作为一个从事计算机专业的学生应当知道、了解和关注这个世纪难题的解决,这就是本报告的目的。. 提纲. 庞加莱猜想最后得到证明。 - PowerPoint PPT Presentation

Transcript of 七大世纪难题之一 : P = NP ?

Page 1: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 1

七大世纪难题之一 :

P = NP ?

西北大学 信息学院 计算机科学系软件工程研究所

郝克刚 2006.11

学术报告

Page 2: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 2

本报告的目的。

最近七大世纪难题之一的庞加莱猜想获得证明,引发了人们对解决世纪难题的兴趣。

在美国克莱数学研究所 2000 年提出的,每个悬赏100 万美元大奖的七大世纪难题中,有一个计算机科学问题,这就是“ P = NP ?”问题。

现在就要求很多同学们去研究和解决这个难题,显然是不现实的。但是作为一个从事计算机专业的学生应当知道、了解和关注这个世纪难题的解决,这就是本报告的目的。

Page 3: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 3

提纲

庞加莱猜想最后得到证明。 克莱数学研究所 七大世纪难题。 七大世纪难题之一: P 与 NP 问题。

问题涉及的几个基本概念 命题逻辑的可满足性问题 图论中的一些问题 P 同构的概念 多项式界限的谓词分层 试图证明的线索和方向

Page 4: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 4

庞加莱猜想证明“最后封顶” 。

哈佛大学教授、著名数学家丘成桐教授 6 月 3 日在中国科学院晨兴数学研究中心宣布, 七大世纪数学难题”之一的庞加莱猜想,近日被中国科学家——中山大学朱熹平教授和旅美数学家、清华大学讲席教授曹怀东完成“最后封顶”工作,给出了完全证明。

Page 5: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 5

庞加莱猜想( Poincare Conjecture )

亨利•庞加莱( Henri Poincaré )在 1904 年发表的一组论文中提出:

任一单连通的、封闭的三维流形与三维球面同胚。 every simply

connected closed 3-manifold is

homeomorphic to the 3-sphere法国数学家( 1854—1912)

Page 6: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 6

庞加莱猜想( Poincare Conjecture ) 简单来说就是:每一个没有破洞的 ( 单连通

的 ) 封闭三维曲面,都拓扑等价于三维的球面。 单连通要求所有曲面上的封闭曲线都可以收缩成一点 ,

以二位流型解释,例如轮胎面不是。

Page 7: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 7

亏格 1 亏格 4亏格 2亏格 0

曲面的亏格

曲面的亏格是环柄的数目

Page 8: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 8

Page 9: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 9

庞加莱猜想的证明 1960 年美国数学家斯梅尔 (S.Smale) 跨过这个极难的维数 , 进而推

广到 n>3 维 . 并证明了五维及五维以上的庞加莱猜想 , 因此荣获1966 年菲尔兹奖 .

1982 年 , 美国数学家弗里德曼 (M.Freedman) 证明了 4 维庞加莱猜想 , 为此他荣获了 1986 年菲尔兹奖 .

1972 年,丘成桐和李伟光合作,发展出了一套用非线性微分方程的方法研究几何结构的理论。汉密尔顿研究 Ricci 流 , 1993 年在丘工作的基础上,发表了一篇关于理解奇点的重要论文。

2002 年 11月俄罗斯数学家格里高里 . 佩雷尔曼 (Grigory Perelman) 发表他的证明,此后他陆续将一系列的研究报告发表在国际著名的数学网站上。目前国际数学界众多专家都已经注意到他的研究成果,

Page 10: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 10

庞加莱猜想的证明(续 1 ) 从去年 9月底至今年 3月,朱熹平和曹怀东应邀前往

哈佛大学,以每星期 3小时的时间——连续 20 多个星期——向包括哈佛大学数学系主任在内的 5 位数学家进行讲解,回答问题。在美国出版的《亚洲数学期刊》 6月号以专刊的方式,刊载了长达 300 多页的长篇论文。

2006 年 6 月 3 日,丘成桐教授3日在中国科学院晨兴数学研究中心宣布,中国科学家朱熹平教授和曹怀东教授完成“最后封顶”工作,给出了完全证明。

Page 11: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 11

旅美数学家、清华大学讲席教授

曹怀东中山大学 朱熹平教授

Page 12: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 12

佩雷尔曼获得费尔兹奖

庞卡赫猜想日前已经正式确认由俄国天才数学家佩雷尔曼所破解。因为这项成就,佩雷尔曼获得有「数学界诺贝尔奖」之称的费尔兹奖。

但当国际数学联盟试图与佩雷尔曼联络时,佩雷尔曼不但拒绝出席,而且还消失无踪。这项奖定在 8.22 于西班牙马德里举行的年会上颁发,得奖人拒绝现身,使大会出现「有奖无得主」的尴尬场面。

Page 13: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 13

Grigori Perelman refused the Fields Medal.

Grigori Perelman, from Russia, who was awarded with a prestigious Fields Medal at the International Congress of Mathematicians in Madrid, Tuesday, Aug. 22, 2006 ,but he refused the award.

Page 14: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 14

John Ball, president of the International

Mathematical Union, said that he had urged

Perelman to accept the medal, but Perelman said he

felt isolated from the mathematics community and

"does not want to be seen as its figurehead."

"I regret that Dr. Perelman has declined to accept

the medal," Ball said.

Perelman's work is still under review, but no one has

found any serious flaw in it, the math union said in a

statement.

Page 15: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 15

争论: 3 个小组中的每一个都对检验佩雷尔曼的工作做出了重要的贡献?

汉密尔顿的评价 :“曹怀东与朱熹平最近在佩雷尔曼等的工作基础上,给出了猜想证明的一个完整与详细的描述。我很高兴这两位 Ricci 流领域里的杰出学者所写的这篇文章。他们引入了自己的新思想,使得证明变得更容易理解。”

5 月 25 日,密歇根大学的布鲁斯 · 克莱纳 (Bruce Kleine) 和约翰 ·洛特 (John Lott) ,把名为“佩雷尔曼论文注记” (Notes on Perelman‘s Papers) 的 192页文章放到了arXiv网站上。

2006 年 5月,摩根和田刚合作完成的书稿提交给了克雷数学研究所,并在 7 月 25 日把这本 473页的书放到了 arXiv

网站上

Page 16: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 16

澳洲华裔陶哲轩获菲尔兹奖

继数学家丘成桐后,成为第二位获得此数学最高荣誉的华人。

1975 年生于澳洲,是数学神童, 21岁即于普林斯顿大学获博士学位, 24岁成为美国加州大学洛杉矶分校教授。

由于他对偏微分方程、组合数学、混合分析和堆垒素数论有莫大贡献。

Page 17: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 17

克莱数学研究所与七大世纪难题。 美国麻省剑桥克莱数学研究所 (The Clay

Mathematics Institute of Cambridge, Massachusetts (CMI) )

2000 年 5 月 24 日在巴黎法兰西学院宣布,该机构设立了七个被称为“千僖年数学难题”巨奖,为每道难题悬赏奖金一百万美元。

一百年前 1900 年 8月, David Hilbert 在巴黎第二届 国际数学大会上的著名报告中提出了当时未解决的 23 个世界难题。例如 Hilbert 第十问题。

Page 18: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 18

七大世纪难题。

Birch and Swinnerton-Dyer Conjecture 贝赫和斯维讷通-戴尔猜想。

Hodge Conjecture 霍奇猜想; Navier-Stokes Equations 纳维叶-斯托克斯方程的存在性与光滑性;

P vs NP P 与 NP 的关系问题; Poincaré Conjecture 庞加莱猜想; Riemann Hypothesis 黎曼假设; Yang-Mills Theory 杨-米尔斯理论;

Page 19: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 19

世纪难题之一 : P 与 NP 关系问题。

即在多项式时间界限下,确定的图灵机器和非确定的图灵机器所接受的语言类是否相同的问题。

问题涉及的几个概念。 图灵机器 ( Turing Machine) 和 非确定( nondeterministic )图灵机。

多项式函数时间。 图灵机器所接受的语言类

Page 20: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 20

阿伦 · 图灵( Alan Turing ) 图灵出生于 1912 年, 1930 年入剑桥大学学习数学, 1934 年他22岁时,在国王学院 (Kings College) 完成了学位论文。

他的 1936 年的论文:论可计算数及其在不可判定问题中的应用,证明了数学不可能用计算机完全建模。

他在论文中提出的后来称之为图灵机器的概念,成为电子计算机诞生的理论基础。

Page 21: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 21

图灵机器 ( Turing Machine) 。

符号表 Γ : {s1,…,sn},输入符号表 Σ⊆ Γ, b ∈Γ- Σ

状态表 Q : {q1,…,qm}, q0, qa ∈ Q

一条两个方向都是潜在无穷长的由格子组成的带子。 一个读写头,可以读所指格子上的符号,并按下述规则根据所指的符号和读头的状态做动作:在所指格子上写一符号,读头变换状态,读头位置保持不动 (H) ,左移 (L)或右移 (R) 一格。

一组形如下式的规则:

si,qj sk,ql,d. 其中 d=H,L 或 R.

Page 22: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 22

M 接收的字和语言

我们说 M 接受字 w ,如果把字 w 放在 M 的带子上,以开始状态 q0 运行,最后在终止状态 qa 结束计算。

也就是说,如果 M 在其他状态 结束计算,或计算不终止,则M 不 接受字 w 。

字母表 Σ 上的被 M 接收的语言,记作 L(M), 定义为:

L(M) = { w ∈ Σ*. | M 接受字 w }

Page 23: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 23

非确定的图灵机 ( Turing Machine) 。

符号表、状态表、潜在无穷长的带子以及读写头都与确定的图灵机相同,不同的是:

它的规则形如下式: si,qj sk1,ql1,d1 | …… | skk,qlk,dk

在非确定的图灵机的执行中,每一步后的状态是非确定的,有多种可能。

Page 24: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 24

多项式时间运行

用 tM(w) 表示 M 在输入字 w 上的计算步数 . 如果

计算不停机,则 tM(w) = ∞. 用 TM(n) 表示 M 对所有长度等于 n ( n ∈ N )的输入字的最坏的计算时间 ,即

T M(n) = max{ t M(w) | w ∈Σn }

其中 Σn 是 Σ 上长度等于 n 的字 , 如果有 k 使得对于所有的 n, TM(n) ≤ nk. 我们称M

以多项式时间运行( M runs in polynomial time 。)

Page 25: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 25

0

10

20

30

40

50

60

70

1 2 3 4 5 6

y=ny=n^2y=2^n

Page 26: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 26

0

200

400

600

800

1000

1200

1 2 3 4 5 6 7 8 9 10

y=ny=n^2y=2^n

Page 27: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 27

N 上函数的序 N 上函数 如果存在充分大的 k ,使得对于所有的

n>k ,均有 f(n)>g(n) 则称 g f

c

c1x+c0

c2x2+c1x+c0

…… cnxn+……+co

x(n+1) …… 2n

Page 28: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 28

可计算性和实际可行性 (feasible)

由三十年代发展起来的图灵机器理论、递归函数理论等为“可计算”这个概念给出了一个确切的数学定义,

“多项式时间有界的图灵机器” 刻划了“实际可行的 (feasible) 算法”直观概念。 Feasibility Thesis:

A natural problem has a feasible algorithm iff it has a

polynomial-time algorithm.

“P = NP?” 问题:“在多项式时间界限下,确定的和非确定的图灵机器是否具有同等的功能?”

Page 29: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 29

有些确定的和非确定的机器的功能相同

如果不加多项式时间的限制, 确定的和非确定的图灵机的功能是相同的,它们所接受的语言都是递归可枚举集。

对于有穷自动机来讲也是相同的,它们所接受的语言都是正则集合。

如果对图灵机加上空间的限制, 在多项式空间界限下,确定的和非确定的图灵机也具有同样的功能。

Page 30: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 30

有些确定的和非确定的机器功能不同。

并不是在所有情况下,确定的和非确定的机器都具有同样的功能。

例如,对具有一个下推存贮的有穷机器来讲两者的功能是不相同的, 非确定性的下推自动机所接受的语言是上下文无关语言,

而确定的下推自动机所接受的语言却是上下文无关语言的一个真正的子类。

Page 31: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 31

“P = NP ?” 问题的回答有两种可能

“P = NP ?” 问题:“在多项式时间界限下,确定的和非确定的图灵机器是否具有同等的功能?”

回答有两种可能,一种是肯定的回答,一种是否定的回答。这两个方面都有人在作努力,比较多的人倾向于后一种回答。

这个问题的提法相当清晰,但是要解答这个问题却不容易。当代很多有名的计算机科学家都研究了这个问题,问题至今仍未解决,而且愈来愈觉得是相当困难的。解决这个问题似乎需要在方法上有重大突破

Page 32: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 32

上世纪 70 年代有重大突破 --NP 完全问题

S. A. Cook (1971)[1] 和 R. M. Katp (1972)[2]

首先提出了 P归结的概念,证明了任何多项式界限下非确定图灵机器接受的语言都可以 P

归结为命题逻辑公式的可满足性问题。 也就是说命题逻辑公式的可满足性问题是 NP

完全的。

Page 33: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 33

P 归结

定义( P 归结) : 假定 L1, L2 分别是 Σ1 和 Σ2

上的语言。如果存在一个多项是时间可计算函数 f :

Σ1 * → Σ2* ,使得对所有 x ∈ Σ1 * ,有 x ∈ L1

当且仅当 f(x) ∈ L2 ,则称语言 L1 可以 P 归结为语言 L2,

定理 设语言 L1 可以 P 归结为语言 L2 。如果 L2

∈ P 则 L1 ∈ P L1 L2

f(L1)

Page 34: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 34

NP 完全的定义

定义 我们称 L0 是 NP 完全的,如果满足条件:

( 1 ) L0 ∈ NP

( 2 )对于 NP 中的任何语言 L , L 都可以 P

归结为语言 L0 。 S. A. Cook 证明了命题逻辑公式的可满足性问题是 NP 完全的。

Page 35: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 35

NP 完全概念的主要意义

定理 . 令 L0 是 NP 完全的,如果 L0 ∈ P ,则所有属于 NP 的语言 L 都属于 P 。从而 P

=NP ,如果能证明 L0 不属于 P ,则 P≠NP 。 这就是 NP 完全概念的主要意义。即把一个一般的 P=NP 问题归结为一个具体的语言 L0

是否属于 P 的问题。

Page 36: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 36

NP 完全问题

后来证明了一大批问题都是 NP 完全问题。 命题逻辑的可满足性问题。 无向图的团集问题、离集问题和结点复盖问题 。 集合族的粘连问题,隔衬问题和集合复盖问题 。 有向图的环路边集问题和环路点集问题 H 环路问题和销售员问题 , …… Minesweeper

Page 37: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 37

命题逻辑的可满足性问题和重言式问题

所谓命题逻辑的可满足性问题,是说任意给一命题逻辑公式 ( 布尔表达式 ) ,问此公式是否是可满足的。即问对此公式的变元是否至少存在着一组赋值,而使此公式取真值。

))()(( 32141231 yyyyyyyyS

))(( 4231431321 yyyyyyyyyyS

Page 38: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 38

命题逻辑的可满足性问题

在对变元进行编码以后。可以把布尔表达式变成某给定字母表中的字,而所有表示可满足的布尔表达式的字的集合可以看作是此给定字母表上的一个语言 L0

定理 . 命题逻辑的可满足性问题是 NP 完全的 (Cook) 。

定理 . CNF (合取范式)型的布尔表达式的可满足性问题是 NP 完全的。

Page 39: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 39

3 - CNF (3- 合取范式 ) 的可满足性问题

定义 . 如果 CNF 中,每个合取因子 ( 是个析取式 ) 中的析取项数≦ K ,则称此表达式为 K

- CNF (K- 合取范式 )

我们可以证明当 K 3≧ 时,可满足性问题是NP 完全的。

定理 . 3 - CNF 的可满足性问题是 NP 完全的。 ))()(( 32141231 yyyyyyyyS

Page 40: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 40

重言式问题

我们注意对于一个布尔表达式,如果已化为析取范式(DNF) ,则它的可满足性是很容易 ( 在多项式时间界限内 )确定的。关键在于这种 DNF 和 CNF 之间的转化一般需要指数函数的时间。

一个表达式是可满足的,当且仅当 A 是非重言式。若A 是一个合取范式,则用对偶定理可以很快求出 A 的析取范式,因此很容易得出:

定理 . 析取范式的非重言式问题是 NP 完全的。

Page 41: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 41

图论中的一些问题:团集、离集、复盖

我们令 G=<V, E> 是一个有穷的无向图, V 是结点集, E 是边集。

定义 . G 的结点集 V 的一个子集合,称为是一个团集,如果这个子集中的每对不同结点之间都有边连接。

团集问题是任意给定无向图 G 和正整数 K ,问此 G 中有无结点个数≧ K 的团集。

团集问题是 NP 完全的。

Page 42: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 42

例如 G 中有 K=3 的团集 ({1, 2, 5}, {1, 4, 5}) 但没有 K=4 的团集;

而 G’ 中只有 K=2 的团集 ({2, 4}, {1, 3}, {3, 5}) 但没有 K=3 的团集。

5

1 4

32

5

1 4

32

G G’

Page 43: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 43

离集问题

定义。 G 的结点集 V 的一个子集合称为是一个离集,如果这个子集中的每对结点之间都没有边相连接。

离集问题 是任意给定无向图 G 和正整数 K ,问此 G 中有无结点个数≧ K 的离集。

离集问题是 NP 完全的。

Page 44: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 44

图 G 中有 K=2 的离集 ({2, 4}, {1, 3}, {3, 5}) 但没有 K=3 的离集,

图 G’ 中有 K=3 的离集 ({1, 2, 5}, {1, 4, 5}) 但没有 K=4 的离集。

5

1 4

32

5

1 4

32

G G’

Page 45: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 45

结点复盖问题

定义。 G 的结点集 V 的一个子集合称为是一个结点复盖,如果 G 的每个边都与此子集中某结点相连接。

结点复盖问题是任意给定无向图 G 和正整数K ,问此图有无结点个数≦ K 的结点复盖。

结点复盖问题是 NP 完全的。

Page 46: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 46

图 G 有 K=3 的复盖 ( 如 {1, 5, 3}, {1, 2, 4}, {5,

2, 4}) ,但没有 K=2 的复盖, 图 G’ 有 K=2 的复盖 ( 如 {2, 3}, {3, 4}) ,但无

K=1 的复盖。

5

1 4

32

5

1 4

32

G G’

Page 47: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 47

Minesweeper 挖地雷游戏 'Minesweeper is NP-complete', Mathematical

Intelligencer volume 22 number 4, 2000,

pages 9-15

NP 完全问题已经发现有上千个!

Page 48: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 48

P 同构

Hartmanis 和 Berman(1976) 引入了 P 同构的概念,提出了关于 P 同构的必要充分条件,而且证明了这些已知的 NP 完全问题全是 P 同构的。这就更本质地揭示了这些问题的内在联系。

证明了很多不同领城的问题,包括逻辑演算、图论、规划论等领域组合问题,都是同构的,这就深刻地揭示了其中的内在规律性。

Page 49: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 49

P 同构的定义 定义 . 语言 L1 和 L2 语言,称为是

P 同构的。如果存在 P 函数 f : 和P函数 g : , g 和 f互逆,而且:

(由于 g 与 f 的互逆性,也可等价地写成为 ) 。

显然,如果 L1 和 L2 同构,则 L1 可以 P归结为 L2 , L2也可以 P归结为 L1 。

*1 *

2

*2

*1

*1

*2

21 )( LxfLx

21)( LxLxg

Page 50: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 50

所有的 NP 完全问题都是同构的 ?

Hartmanis 和 Berman 证明了许多已知的 NP完全问题确实是都与可满足性问题同构,这就更深刻的揭示了 NP 完全问题之间的本质联系。

他们推测所有的 NP 完全问题都是同构的,但这只是一种推测,目前仍未得到证明。

如果能证明这一点,即等于证明了 P≠NP 。 目前还不能排除这样的可能性: P≠NP ,又存在着不同构的 NP 完全问题

Page 51: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 51

多项式受囿存在量词运算

设有谓词 R ,多项式函数 p ,我们把谓词 N(x) = (y) [| y |≦p (| x |)∧R(x,y)] N(x) = (y) | y |≦p (| x |) R(x,y)

称为由 R 加多项式受囿的存在量词而得到的谓词,

定理 谓词 N(x)∈NP 当且仅当有谓词 R(x,y) ∈P ,有一多项式函数 p(x) ,使 N(x) = (y) | y |≦p (| x |) R(x,y)

Page 52: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 52

NP 的另一个定义

P = NP 问题实质上是 P 谓词类关于多项式受囿存在量词运算是否关闭的问题。

NP 的另一个定义: 当有谓词 R(x,y) ∈P ,和一多项式函数

p(x) ,则称 N(x) = (y) | y |≦p (| x |) R(x,y) 是 NP 谓词,即 N(x) ∈ NP

Page 53: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 53

两个简单的例子

c

abc

abc

我们用自然数的十进制编码 完全平方数的集合 S 属于 P

复合数的集合 F 属于 NP ( 不知是否属于 P).

F (x) = (y) | y |≦ | x | R(x,y)

其中 R(x,y) = (1 < y < x) ∧ y|x

Page 54: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 54

Kleene 的分层

S. C. Kleene曾将算术谓词按量词的形式进行分层:

若将上述形式的谓词类记作:( R 是一般递归的 )

E0 =R(x) E1 , E2 , E3 , ···

A0=R(x) A1 , A2 , A3 , ···

可以证明,这些类都是互不相同的,而且: (En∪An) ⊆ (En+1∩An+1) ⊆ (En+1∪An+1)

),,()( 1 yxRy),,,())(( 2121 yyxRyy ),,y,())(( 2121 yxRyy

)y,()( 11 xRy),(xR

Page 55: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 55

多项式界限的谓词分层。

若将 R换为 P类谓词,将量词换为多项式受囿量词。上述包含关系也是成立的。但我们不知道它们是否互不相同。这是一个关于多项式界限的谓词分层猜想。

而 P=NP 问题以及 NP=AP 问题只是上述分层问题的一个特殊情况(即 P=E1 ? E1=A1 ?类似地还可以提出很多问题 E1=E2 ? 2=E

2 ? ···) 。

Page 56: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 56

多项式分层猜测

定理 对于多项式分层,如果 En=An

则对任何 m≧n 都有 Em=Am=En

由于问题 En=An ?没有最终解决,所以多项式分层现在只能是一种猜测,我们把它称为谓词的多项式分层猜测。

Page 57: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 57

试图证明的线索方向。

要证明 P = NP,只要证明一个 NP 问题有多项是算法, 30 年来,有多少科学家和工程师在这方面作过努力,都没有成功。如能成功,则有重大应用,将打破现有的密码系统的基础。目前对 3-SAT 的最快的算法到 1.5n

要证明 P ≠ NP, 有两个方向,一个是对角线方法,一个是求布尔线路的下界。都未取得成功。

Page 58: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 58

停机问题是非递归的对角线证明方法

H (x,y) = “ T (x) 对于输入 y 能停机 ”

其中 T (x) 表示 x 所对应的的图灵机 X

H (x,y) 是非递归的证明 假定 H (x,y) 是递归的,则 F(x) = ┓H (x,x) 也是递归

的。令 F =T (f) ,一方面, F(x) 是递归的, F 对于输入 f 能停机。另一方面, F (f) = ┓H (f,f) , F 对于输入 f 不能停

机。矛盾,从而 H (x,y) 是非递归的

Page 59: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 59

H(x,y) 1 2 3 4 5 6 7 8 9

1 11

2 22

3 33

4 44

5 55

6 66

7 77

8 88

9 99

F(x) = H (x,x)┓

Page 60: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 60

“悖论”( paradox )

其字面意思为“荒谬的理论或自相矛盾的话”。 从逻辑上看,悖论性的语句具有这样的特征:如果假定这个语句为真,那么会推出这个语句为假;反之,如果假定这个语句为假,又会推出这个语句为真。说它对也不是,不对也不是,真是左右为难。

Page 61: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 61

“说谎者悖论”和“说谎者循环悖论”

悖论古已有之。一般认为,最早的悖论是古希腊的“说谎者悖论”。

我正在说谎。 A 说:“下面是句谎话。” B 说:“上面是句真话。” 国王说:“若果你说的是假的,烧死你;若果你

说的是真的,淹死你。” 大臣说:“我将被烧死!”

Page 62: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 62

集合论悖论 -1901 年的“罗素悖论”: 把集合分成两类,凡是不以自身作为元素的集合称为正常集,(例如,自然数集 N 是正常集。)凡是以自身作为元素的集合称为异常集。(例如,所有的非生物的集合是异常集。)每个集合或者为正常集或者为异常集。

设 V 为全体正常集所组成的集合,即 V={x : x x}∉ ,那么 V 是不是正常集?

如果 V 是正常集,由正常集的定义知 V V∉ ,又因 V是全体正常集的集合,所以正常集 V V∈ ,但这说明 V 是异常集,矛盾 ;反之,如果 V 是异常集,那么由异常集的定义知 V V∈ ,由于 V 是全体正常集组成的集合 V 的元素, V又应该是正常集。矛盾。

Page 63: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 63

老子的道德经

道可道,非常道。 名可名,非常名。 说它是非常道,非常名,从而避免了悖论。

Page 64: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 64

布尔线路

一个布尔线路是一个有穷无环的有向图,其中的非输入节点 ( 门 )标注为逻辑连接词 {AND,OR,NOT}. ,输入节点标注为变量 x1, ..., xn, 如果每个变量赋予 0 或1 ,可以按照通常布尔逻辑的规则算出线路的输出值。

OR

ANDAND

NOTNOT

X1 X2 X3 X4

(X1 ∧ ┓X2 )∨ (┓X3 X4)∧ X1 X2 X3 X4

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1

0 0 0 1

0 1 0 1

1 0 0 1

1 1 0 1

对此表所列的变量赋值,该布尔线路输出值为真

Page 65: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 65

布尔线路族 {Bn}

如果有布尔线路族 {Bn} 和字母表 {0, 1} 上的语言 L, 对于所有长度等于 n 的字 w , w L∈ . 当且仅当把 w 作为输入赋予 Bn ,线路的输出值为 1 。则称 {Bn} 计算此语言 L 。

不难证明, L ∈ P, 则存在节点个数(尺寸)是输入变量数n 的多项式函数的布尔线路族 {Bn} , 它计算此语言。

B1 B2 B3 Bn

Page 66: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 66

布尔线路族尺寸的下界

如果对于某个 NP 完全问题,能证明任何计算此问题的布尔线路族 {Bn} ,它的的尺寸关于n 的函数的下界是超过多项式的函数。则证明了 P ≠ NP ,否则 P = NP.

至今未能证明。

Page 67: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 67

三十年来问题没有重要进展。

Stephen Cook The P versus NP Problem

Official Problem Description http://www.claymath.org/millennium/P_vs_NP/

1979 长春 计算机科学研讨会 北大吴允曾教授推荐发表。 郝克刚: NP 完全问题及有关的理论研究 《计算机科学》 1980 年 第 1期。

Page 68: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 68

结束语

庞加莱猜想获得证明,引发了人们对解决世纪难题的兴趣。

中国人参与解决世纪难题,并做出重要贡献,对我们有极大的鼓舞。

七大世纪难题中,有一个计算机科学问题,这就是“ P = NP ?”问题。

Page 69: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 69

结束语

现在就要求很多同学们去研究和解决这个难题,显然是不现实的。但是作为一个从事计算机专业的学生应当知道、了解和关注这个世纪难题的解决。

我们相信这个世纪难题肯定会得到解决。如果有中国学者作出贡献,就太好了。

中国的经济起飞,也必将进入新人辈出的时代。希望寄托在有志气和有作为的青年人。

Page 70: 七大世纪难题之一 :  P = NP  ?

西北大学计算机科学系软件工程研究所 70

谢谢大家!

[email protected]

http://mainpage.nwu.edu.cn/hkg/home/

西北大学 信息学院 计算机科学系 软件工程研究所