半可计算性.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
半可计算性.ppt

定义5.1.1说一个集合S是递归的,如果存在一个算法A,使得对任意的X?,能够在优先步内回答是否X??S?即有 “是”,当X? ?S A(S, X?)= “否”,当X??S 其中X?表示(x1,x2,…,xn)。 定义5.1.3 说一个谓词P(X?)是可判定的,如果存在一个算法A,使得对任给的X?,能够在有限步内回答P(X?)是“真”还是“否”,即有 “是”, 当P(X?)真 A(P,X?)= “否“,当P(X?)假 在定义半可计算性之前,我们首先引进两种符号: f(x1,x2,…,xn)? 这表示函数f对于(x1,x2,…,xn)有定义,如果函数f对于(x1,x2,…,xn)无定义,则表示为f (x1,x2,…,xn)? 这样可把f (x1,x2,…,xn) ?视为谓词, f (x1,x2,…,xn) ?取真值当且仅当函数f对于变元组 (x1,x2,…,xn)有定义。 显然Df={(x1,x2,…,xn) ? f (x1,x2,…,xn) ?}表示函数f的定义域。 半可计算性的定义方式有几种,下面是其中的一种方式。 定义5.1.5 谓词P(x1,x2,…,xn)称为半可计算的,如果存在一部分可计算函数g(x1,x2,…,xn)使得下式成立 P(x1,x2,…,xn) ? g(x1,x2,…,xn) ?。 这实际上是用部分可计算函数的定义域来定义了谓词的半可计算性。 就是说,一个谓词是半可计算的,当且仅当它的取真值的定义域等于某部分可计算函数的定义域。 上面的定义也等价于下面的说法:说谓词g(x1,x2,…,xn)是半可计算的,当且仅当存在一个程序P1,使得 g(x1,x2,…,xn) ?P1 g(x1,x2,…,xn)停机。 (?)下面开始证明定理。设f (x1,x2,…,xn)是部分可计算函数,且令H为f (x1,x2,…,xn)的值域。 f (x1,x2,…,xn) =?(n) (z0,x1,x2,…,xn)我们要证明H是半可计算集,为此我们只需证明存在一个部分可计算函数g(X)使得 R={X?g(X)?} 即存在一个程序使得x?H?程序对X停机。 程序如下: 0,若(?y){x=f(y)} g(x) = 无定义,否则 注意:如何判定(?y){x=f (y)}成立是一个难处理的问题。 如果依次增加y,并判断x=f(y)就会出现某个y0使得f(y0)无定义,从而即使有y?使x=f(y?)也不能得到此结果,因为在计算f(y0)时将无限循环。 这个程序的定义域等于函数f (x1,x2,…,xn)的值域。 这个程序的定义域等于函数f (x1,x2,…,xn)的值域。 (?)假设H是半可计算集。若H=?,则只要令f(x)为对任意x无定义的部分可计算函数,则显然有 H={f (x)? f(x)?}。 若H??,因为H是半可计算的,因此有一个部分可计算函数g(X),令H={X?g(X)?},当X?H时,计算g(X)的程序对X停机。 要证明有一个部分可计算函数f值域为H。考虑下面程序: 这里g(x)与H相对应,z0与g(x)相对应。该程序的输入变量为x和M。设它所计算的部分可计算函数为f(X,M)。下面证明它就是所要找的函数,即有 H={f(x,M)? f(x,M)?} 显然,f的值域R小于等于H,即R?H。 下面证明R?H。假设X?H,则有M使STP(z0,x,M)=0。 这时由上述程序不难知道f(x,M)=x ,因此有R?H,于是得所要结论: H={f(x,M)? f(x,M)?}。 定理 5.2.1若P(X?)和Q(X?)是半可计算的,则 P(X?)?Q(X?)亦为半可计算谓词。 证明: 因为P(X?)和Q(X?)是半可计算的,故有部分可计算函数f(X?)和g(X?)使得 P(X?)?f(X?)? Q(X?)?g(X?)? 为了证明定理必须指出确有一个部分可计算函数h(X?)使得 P(X?)?Q(X?)?h(X?)? 亦即存在一个程序R使得 P(X??)?Q(X?)?R对于停机 计算y= h(X?)的程序如下: 定理 5.2.2若P(X?)和Q(X?)是半可计算谓词,则P(X?)?Q(X?)亦为半可计算谓词。 证明:若用相仿方法证明,则由于P(X?)和Q(X? )半可计算。就有部分可计算函数f(X?)和g(X?)使得 P(X?)?f(X?)? Q(X?)? g(X?) ? 我们要有函数h(X?),使得当且仅当f(X?)?或g(X?)?时h(X?)?。 这时我们不能用先计算f(X?)然后再计算

文档评论(0)

2752433145 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档