定理证明过程的复杂度(Stephen A .Cook)定理1证明的解析

     The Complexity of Theorem-Proving Procedures这篇论文最难理解的部分就是定理1证明的过程,现在网络上中文材料并没有这方面的解析,这里给出详细解析,希望对这篇复杂度原始论文解读有个帮助,如有不对,希望指正。

定理1原话:

翻译过来就是,

定理1:如果字串集S被NDTM在多项式内接收,那么S多项式规约到DNF重言式。

注释:

所谓DNF(Disjunctive Normal Form)就是析取范式( A 1 ∨ A 2 ) ∧ ( A 3 ∨ A 4 )。与之相对的是CNF(Conjunctive Normal Form)合取范式 ( A 1 ∧ A 2 ) ∨ ( A 3 ∧ A 4 )。 他们可以用德摩根律取反转化。

证明过程:

为了便于理解分为两个部分,

第一部分是证明的整个思路,第二部分是DNF的构造过程。

1)证明思路

定理的证明:

    假设一个非确定性图灵机M能够在多项式时间Q(n)内接收字串集S。

给定一个输入w, 我们将构造一个CNF格式的公式A(w),如果M能够接收w(注:这里的意思是M的最终以accept状态停下)。这样~A(w)可以容易的放到DNF中(用德摩根律),(注解:上面的论文显示可能是打印软件有误,把前面的取非操作掉了)。当且仅当w不在集合S中时,~A(w)是逻辑值始终为真的申明语句(英文就是tautology)。既然整个构造过程在多项式时间范围内(以w的长度|w|的多项式时间限度),定理得证。

2)DNF构造过程

2.1 图灵机与一些符号的约定

    我们可以假定图灵机M仅仅有一个带子,长度上从左到右是无限制的,但有一个起始的最左格子。我们可以给这些格子从左到右依次排序1,2,3,......。再假定一个S集中的一个固定输入w,其长度为n。那么就有一个M的计算过程,能够让M在T=Q(n)多项式步骤内停下,M状态机的状态是接收。那么公式A(w)参照这个计算过程,将根据以下符号中构建。

首先,假定M的带子的字母集合是{\sigma _{_{1}},,,,\sigma _{_{l}},状态集是{q1,,,,,,qs}。注意到计算是在多项式时间T=Q(n)内完成的,因此不会有超过T的格子被扫描。

符号约定:

_P{i}_{s,t}: 当格子s 在步骤t时包含字符\sigma _{i}时,该符号为真

Q_{t}^{i}:当在步骤t时,机器M在状态q_{i}时,该符号为真

S_{s,t}:当在时间t,格子s被带子读头扫描时,该符号为真

公式A(w) = B^C^D^E^F^G^H^I

具体的各范式构造如下,

2.2 A(w)的构造过程

B,设定每一步仅有一个格子被扫描;

B= B1^B2^B3...^BT

其中在每一步t的Bt是当且仅当一个格子被扫描。

前半部分构造表示至少一个被扫描,后半部分表示不可能同时有两个格子被扫描。

C, 设定在时间(步骤)t时,格子s中仅有一个符号;

D,设定每一步t,图灵机仅有一个状态s;

E,设定初始条件满足

这里w=\sigma _{i_{1}}...\sigma _{i_{n}}. q0是初始状态, \sigma _{1}是空字符.

F,G,H 论断保障每一步,P, Q, S能够正确地更新。

最后I,设定机器在某个时候到达接收Accepting状态。

 通过上述构造,可以直接验证A(w)就是我们需要的范式。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值