Computer science 这个节目会停止吗

Computer science 这个节目会停止吗,computer-science,Computer Science,从严格的计算机科学角度来看,我想知道什么是正确的答案 int main() { Generator gen; // True random generator returning 0 or 1 with 50% probability each while (gen() == 0); } 使用图灵机模型很难对这种情况进行建模 为什么??图灵机器不会冒险。有非确定性的TMs,但没有机会参与其中;NTM并不比确定性TMs更强大,确定性TMs在相同配置中始终具有相同的行

从严格的计算机科学角度来看,我想知道什么是正确的答案

int main()
{
    Generator gen; // True random generator returning 0 or 1 with 50% probability        each
    while (gen() == 0);
}

使用图灵机模型很难对这种情况进行建模

为什么??图灵机器不会冒险。有非确定性的TMs,但没有机会参与其中;NTM并不比确定性TMs更强大,确定性TMs在相同配置中始终具有相同的行为。因此,如果我们要将机会注入到计算中,很难将它注入到TM本身的工作方式中

另一种可能性是考虑RNG的输出是输入到TM的磁带。然后TM的磁带是一个二进制字符串。你的问题现在可以重新表述如下:是00…0。。。用于输入图灵机的有效无限二进制字符串?我们可以用两种方式来解释这一点:

  • 是00…0。。。RNG的有效输出
  • 是00…0。。。TM的有效输入
  • 对随机性的现代信息论方法否定地回答了第一个问题。序列00…0。。。具有低熵,可通过
    进行有限描述,而true print 1循环则可通过
    进行有限描述。其样本分布不符合大数定律或中心极限定理。基于输出,现代方法将字符串描述为不是来自随机源,这是一个矛盾,因为我们假设RNG是一个真正的随机源。所以00…0。。。不是由我们的来源生成的

    图灵机的标准定义以正式语言为基础,通常不允许在磁带上输入无限量的内容。也就是说,空白符号是唯一出现无限次数的符号。现在,我们可以将空白符号解释为0,并且唯一的输入符号为1,这将是允许的,但是在输入中,我们将有空白,这是不允许的,或者在输入开始时没有TM。在这种情况下,我认为这个问题类似于停止鸡的问题:给定一只鸡作为输入,TM会停止吗?答案也很相似

    总而言之:我对解决这个问题的严格方法的猜测是: -RNG无法生成00…0。。。TM会停止它可以生成的所有字符串,因此TM会停止;或
    -TM在00…0。。。未定义。

    使用图灵机模型很难对这种情况进行建模

    为什么??图灵机器不会冒险。有非确定性的TMs,但没有机会参与其中;NTM并不比确定性TMs更强大,确定性TMs在相同配置中始终具有相同的行为。因此,如果我们要将机会注入到计算中,很难将它注入到TM本身的工作方式中

    另一种可能性是考虑RNG的输出是输入到TM的磁带。然后TM的磁带是一个二进制字符串。你的问题现在可以重新表述如下:是00…0。。。用于输入图灵机的有效无限二进制字符串?我们可以用两种方式来解释这一点:

  • 是00…0。。。RNG的有效输出
  • 是00…0。。。TM的有效输入
  • 对随机性的现代信息论方法否定地回答了第一个问题。序列00…0。。。具有低熵,可通过
    进行有限描述,而true print 1循环则可通过
    进行有限描述。其样本分布不符合大数定律或中心极限定理。基于输出,现代方法将字符串描述为不是来自随机源,这是一个矛盾,因为我们假设RNG是一个真正的随机源。所以00…0。。。不是由我们的来源生成的

    图灵机的标准定义以正式语言为基础,通常不允许在磁带上输入无限量的内容。也就是说,空白符号是唯一出现无限次数的符号。现在,我们可以将空白符号解释为0,并且唯一的输入符号为1,这将是允许的,但是在输入中,我们将有空白,这是不允许的,或者在输入开始时没有TM。在这种情况下,我认为这个问题类似于停止鸡的问题:给定一只鸡作为输入,TM会停止吗?答案也很相似

    总而言之:我对解决这个问题的严格方法的猜测是: -RNG无法生成00…0。。。TM会停止它可以生成的所有字符串,因此TM会停止;或 -TM在00…0。。。未定义。

    从“严格的计算机科学角度”来看,您的问题有一个缺陷:没有可从C编译器访问的“真正的随机数生成器”,如代码形式所暗示的

    如果您假设您的C编译器可以访问一些硬件实现的可能是quantum effect之类的东西,它们确实可以调用gen()函数,那么代码在循环中运行N次而不停止的概率当然是(1/2)**N,因为您需要获得1n次,这意味着在任何有限的时间内,程序没有停止的概率是有限的

    计算机科学界通常研究的停止问题与确定性计算机程序(例如图灵机器)的行为有关,而您的程序无法做到这一点-例如,请参阅维基百科关于“停止问题”的文章进行讨论。

    从“严格的计算机科学角度”,你的问题有一个bug:没有一个“真正的随机数生成器”可以从C编译器中访问,比如代码形式所暗示的那个

    如果您假设您的C编译器可以访问一些硬件实现的可能是量子效应的东西,这些东西真的可以调用gen()函数,那么代码在循环中运行N次而不停止的概率当然是(1/2)**N,因为您需要获得1n次,这意味着