Questions tagged «rice-theorem»

2
赖斯定理感到困惑
摘要:根据赖斯定理,一切都是不可能的。但是,我一直都在做这不可能的事情! 当然,赖斯定理并不仅仅是说“一切皆有可能”。它说得更具体一些:“计算机程序的每个属性都是不可计算的。” (如果要分割头发,则每个“非平凡的”属性。也就是说,所有程序具有或没有程序具有的属性都是微不足道的。但是其他任何属性都是不可计算的。) 这就是定理说的或似乎要说的。大概许多非常聪明的人已经仔细验证了该定理的正确性。但这似乎完全违背了逻辑!程序具有众多特性,可以轻松计算!!例如: 程序在暂停之前执行多少步?要确定此数字是有限的还是无限的,恰好是停止问题,该问题不可计算。决定此数字是大于还是小于某个有限的是微不足道的!只需运行该程序最多n步,然后查看它是否停止。简单!nnnnnn 同样,程序在前m个执行步骤中使用的存储单元是否少于nnn个?微不足道的。mmm 程序文本中是否提到了名为k的变量kkk?简单的文本分析将揭示答案。 程序是否调用命令σσ\sigma?再次,扫描程序文本以查找该命令名称。 我可以看到很多性能之间做一下非可计算为好; 例如,一个完整的程序运行会执行多少次添加?嗯,这几乎与询问程序执行多少步骤相同,这实际上是“停止问题”。但是看起来确实有很多程序属性,它们确实非常容易计算。然而,赖斯定理坚持认为它们都不是可计算的。 我在这里想念什么?

2
为什么C的void类型不同于Empty / Bottom类型?
维基百科以及我发现的其他来源都将C的void类型列为单位类型,而不是空类型。我觉得这很混乱,因为在我看来,它void更适合于空/底类型的定义。 void据我所知,没有价值观存在。 返回类型为void的函数指定该函数不返回任何内容,因此只能执行某些副作用。 类型的指针void*是所有其他指针类型的子类型。同样,void*在C中进行来回转换是隐式的。 我不确定最后一点是否可以作为void空类型的参数,void*或多或少是与无关的特例void。 另一方面,void它本身不是所有其他类型的子类型,据我所知,这是将类型作为底部类型的要求。
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

1
推断优化类型
在工作中,我的任务是推断一些有关动态语言的类型信息。我将语句序列重写为嵌套let表达式,如下所示: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } 由于我从一般类型信息开始,并试图推断出更具体的类型,因此自然的选择是精简类型。例如,条件运算符返回其真假分支类型的并集。在简单的情况下,它效果很好。 但是,在尝试推断以下类型时遇到了障碍: function …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

4
有界的停止问题是可以决定的。为什么这与赖斯定理不冲突?
赖斯定理的一个陈述在“计算复杂性:一种现代方法”(Arora-Barak)的第35页上给出: 从A部分函数至{ 0 ,1 } * ]是不一定在其所有输入定义的函数。我们说一个TM 中号计算部分功能˚F如果为每一个X在其上˚F定义,中号(X )= ˚F (X )和用于每个X上˚F没有定义中号时对输入执行进入无限循环X。如果S{0,1}∗{0,1}∗\{0,1\}^*{0,1}∗{0,1}∗\{0,1\}^*MMMfffxxxfffM(x)=f(x)M(x)=f(x)M(x) = f(x)xxxfffMMMxxxSSS是一组部分功能,我们定义是布尔函数,关于输入α输出1 IFF 中号α计算IN部分功能小号。赖斯定理说,对于每个非平凡的S,函数f S都是不可计算的。fSfSf_Sαα\alphaMαMαM_\alphaSSSSSSfSfSf_S 维基百科指出,限时播放器的语言是EXPTIME完整的。我希望这种语言看起来像接受X在不到ñ步骤}。因此,让M为在指数时间内决定这种有界语言的DTM。似乎该DTM正在为所有图灵机决定某些属性,因此我的直觉告诉我,赖斯定理排除了这种决定。但是很明显,M计算一个总函数。{(α,x,n):Mα{(α,x,n):Mα\{(\alpha,x,n) : M_\alpha xxxnnn}}\}MMMMMM 我对这种语言和赖斯定理之间的关系缺少什么?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.