zoukankan      html  css  js  c++  java
  • 停机问题

    过程使用伪码证明

    停机问题

    不存在这样一个程序(算法),它能够计算任何程序(算法)在给定输入下是否会结束(停机)。

    停机问题的证明差不多是这样的

    先假设存在一个程序(算法),它能够计算任何程序(算法)在任何给定输入下是否会结束(停机)。

    设这个程序为A(prog,input)

    bool A(prog,input)
    {
      if(prog结束于input)
      return
    true;  else
      return
    false; }

    因为它能够计算任何程序(算法)在任何给定输入下是否会结束(停机)。

    假设有如下程序B

    bool B(input)
    {
      if(A(input,input))
      {
        while(1);
        return true;
      }
      else
        return false;
    }

    A(B,B)也能判断B停不停机,//因为A能计算任何程序是否停机

    假设B能停机,则A返回true,则B不能停机,矛盾

    假设B不能停机,则A返回false,B能停机,矛盾

    故假设不成立

    文章出处:http://www.cnblogs.com/yin52133/ 本文可自行转载,但转载时记得给出原文链接
  • 相关阅读:
    postman使用感言
    20. 有效的括号
    13. 罗马数字转整数
    qsort / bsearch
    堆排序(heapsort)
    递归Recursion
    拓扑排序
    N/A的含义
    初级系列17.爱因斯坦的数学题问题
    初级系列16.求车速问题
  • 原文地址:https://www.cnblogs.com/yin52133/p/2613562.html
Copyright © 2011-2022 走看看