SAT问题的NPC证明.ppt
《SAT问题的NPC证明.ppt》由会员分享,可在线阅读,更多相关《SAT问题的NPC证明.ppt(72页珍藏版)》请在三一文库上搜索。
1、可满足性问题的可满足性问题的NPC证明证明-Cook定理内容提要内容提要1.证明思路总览2.证明中用到的知识2.1非确定图灵机2.2非确定图灵机的运转规则3.证明的详细过程3.1用或逻辑式表达运转规则3.2建立NP类问题到可满足性问题的多项式变换4.可能用到的知识附录证明思路总览证明思路总览根据NPC问题定义来证明只要所有NPC问题均可在多项式时间内变换到SAT问题即可证明SAT问题为NPC.任意的NP类问题SAT问题证明思路总览证明思路总览如何证明所有NP类问题SAT?然而,若将每个NP类问题都多项式变换到SAT问题是不现实的,所以要抽取NP类问题的共性,建立NP类问题的统一计算模型-非确定
2、的图灵机(NDTM).01 2-1-2-3-4-534 567.有限状态控制器猜想模块猜想头读写头证明思路总览证明思路总览如何证明所有NP类问题SAT?NP类问题的计算过程均可抽象为一个NDTM上的运作过程.因此,SAT的NPC证明等价于证明NDTMSAT.01 2-1-2-3-4-534 567.有限状态控制器猜想模块猜想头读写头证明思路总览证明思路总览如何证明NDTMSAT?只要找到多项式变换f;设一个NP类问题所对应语言的一个字符串为x,若x被NDTM接受,则对应SAT问题的例子f(x)回答为“是”。任意的NP类问题SAT问题证明思路总览证明思路总览现整理证明的思路如下:任意NP类问题0
3、1 2-1-2-3-4-534 567.有限状态控制器猜想模块猜想头读写头语言问题例子字符串对应作为输入建立图灵机的运作规则到SAT的多项式时间变换问题得证NP问题的统一模型问题的统一模型非确定图灵机计算模型01 2-1-2-3-4-534 567.有限状态控制器猜想模块猜想头读写头NDTM的运转规则的运转规则非确定图灵机计算过程与DTM不同(两阶段):猜想阶段检验阶段NDTM的运转规则的运转规则01 2-1-2-3-4-534 567.有限状态控制器猜想模块猜想头读写头agcdBBBBBBBB初始输入字符串x写入图灵机猜想模块起作用,有限状态控制模块不起作用,从-1向左依次写入字符表中的任意
4、多个任意字符猜想阶段:ggg检验阶段:猜想模块不起作用,有限状态模块起作用NDTM的运转规则的运转规则NDTM的运转规则被总结为6项:(1)初始时刻,M处于初态,读写头瞄准带格,x放置在到的带格中;而,,皆为空白。0 12-1-2-3-4-53.n.有限状态控制器猜想模块猜想头读写头n+1bbbNDTM的运转规则的运转规则NDTM的运转规则被总结为6项:(2)在每一时刻,M处于且仅处于一个状态。0 12-1-2-3-4-53.n.有限状态控制器猜想模块猜想头读写头n+1bbbNDTM的运转规则的运转规则NDTM的运转规则被总结为6项:(3)在每一时刻,读写头仅瞄准一个带格。0 12-1-2-3
5、4-53.n.有限状态控制器猜想模块猜想头读写头n+1bbbNDTM的运转规则的运转规则NDTM的运转规则被总结为6项:(4)在每一时刻,每个带格恰好写有一个带符。0 12-1-2-3-4-53.n.有限状态控制器猜想模块猜想头读写头n+1bbbNDTM的运转规则的运转规则NDTM的运转规则被总结为6项:(5)在最后一步,若x被M接受,则当时状态为。0 12-1-2-3-4-53.n.有限状态控制器猜想模块猜想头读写头n+1bbbNDTM的运转规则的运转规则NDTM的运转规则被总结为6项:(6)M中一步计算的过程如下:xyxzypyq用或逻辑式表达运转规则用或逻辑式表达运转规则或逻辑式中的布
6、尔变量:(1)和状态相关的布尔变量:0 12-1-2-3-4-53.n.有限状态控制器猜想模块猜想头读写头n+1bbb第i步用或逻辑式表达运转规则用或逻辑式表达运转规则或逻辑式中的布尔变量:(2)和读写头(Head)、带格相关的布尔变量:0 12-1-2-3-4-53.j.n.有限状态控制器猜想模块猜想头读写头n+1bbb第i步用或逻辑式表达运转规则用或逻辑式表达运转规则或逻辑式中的布尔变量:(3)和带格、带中字符相关的布尔变量:0 12-1-2-3-4-53.j.n.有限状态控制器猜想模块猜想头读写头n+1bbb第i步j(1)初始时刻的或逻辑式:0 12-1-2-3-4-53.n.有限状态控
7、制器猜想模块猜想头读写头n+1bbb用或逻辑式表达运转规则用或逻辑式表达运转规则第0步(2)在每一时刻,M处于且仅处于一个状态:0 12-1-2-3-4-53.n.有限状态控制器猜想模块猜想头读写头n+1bbb肯定处于一个状态第i步用或逻辑式表达运转规则用或逻辑式表达运转规则(2)在每一时刻,M处于且仅处于一个状态:0 12-1-2-3-4-53.n.有限状态控制器读写头n+1bbbA B m0 0 0 m0 m3 m2 m1 第i步卡诺图用或逻辑式表达运转规则用或逻辑式表达运转规则(3)在每一时刻,读写头仅瞄准一个带格:0 12-1-2-3-4-53.n.有限状态控制器猜想模块猜想头读写头n
8、1bbb用或逻辑式表达运转规则用或逻辑式表达运转规则最多在 步内判定一个猜想,而 表示还要多读一个空白符,从而M知道结束了(3)在每一时刻,读写头仅瞄准一个带格:0 12-1-2-3-4-5j.n.有限状态控制器读写头n+1bbbA B m0 0 0 m0 m3 m2 m1 第i步卡诺图用或逻辑式表达运转规则用或逻辑式表达运转规则(4)在每一时刻,每个带格恰好写有一个带符:0 12-1-2-3-4-53.j.n.有限状态控制器猜想模块猜想头读写头n+1bbb肯定有0s中的一个字符第i步用或逻辑式表达运转规则用或逻辑式表达运转规则(4)在每一时刻,每个带格恰好写有一个带符:0 12-1-2-3
9、4-53.j.n.有限状态控制器读写头n+1bbb第i步A B m0 0 0 m0 m3 m2 m1 卡诺图用或逻辑式表达运转规则用或逻辑式表达运转规则(5)在最后一步,若x被M接受,则当时状态为:0 12-1-2-3-4-53.n.有限状态控制器猜想模块猜想头读写头n+1bbb第 步用或逻辑式表达运转规则用或逻辑式表达运转规则(5)在最后一步,若x被M接受,则当时状态为:0 12-1-2-3-4-53.n.有限状态控制器猜想模块猜想头读写头n+1bbb第 步用或逻辑式表达运转规则用或逻辑式表达运转规则用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:读
10、写头指向的带格,字符才有可能改变A B m0 0 0 m0 m3 m2 m1 卡诺图用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:读写头没指向的带格,字符不可能改变A B m0 0 0 m0 m3 m2 m1 卡诺图用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:合并两卡诺图A B m0 0 0 m0 m3 m2 m1 卡诺图A B m0 0 0 m0 m3 m2 m1 0 01 10101111110100000用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:合并两卡诺图
11、0 01 10101111110100000用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:书错了?!我看了Cook71年原文,没有这个式子,关于(6)的式子,他仅举一例,一笔带过,只告诉大家有这个东西而已。用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:0 01 10101111110100000用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:两式相与,代入无误用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:全过程只有状态和第j个带格
12、上字符串可能变化A B m0 0 0 m0 m3 m2 m1 卡诺图用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:全过程只有状态和第j个带格上字符串可能变化A B m0 0 0 m0 m3 m2 m1 卡诺图用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:全过程只有状态和第j个带格上字符串可能变化A B m0 0 0 m0 m3 m2 m1 卡诺图用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:全过程只有状态和第j个带格上字符串可能变化A B m0 0 0 m0 m3 m2
13、 m1 卡诺图用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:合并四个卡诺图得00 01 11 100000010111111010书上代入出错?!用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:或逻辑式推导用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:或逻辑式推导用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:合并四个卡诺图得00 01 11 100000010111111010现在代入所有的取值都对Cook71中和书上的式子一致,
14、可能是他的笔误用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:全过程只有状态和第j个带格上字符串可能变化A B m0 0 0 m0 m3 m2 m1 卡诺图用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:全过程只有状态和第j个带格上字符串可能变化A B m0 0 0 m0 m3 m2 m1 卡诺图用或逻辑式表达运转规则用或逻辑式表达运转规则(6)第i步到第i+1步计算过程的或逻辑式:全过程只有状态和第j个带格上字符串可能变化A B m0 0 0 m0 m3 m2 m1 卡诺图用或逻辑式表达运转规则用或逻辑式表达运转
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAT 问题 NPC 证明
