ラムダ計算によるPおよびNPクラスの説明


36

導入および説明では、PおよびNP複雑度クラスは、チューリングマシンを介してしばしば与えられます。計算モデルの1つはラムダ計算です。計算のすべてのモデルが同等であることを理解しています(そして、チューリングマシンの用語で何かを導入できるなら、計算のモデルの用語でこれを導入できます)が、ラムダ計算による説明のアイデアPおよびNP複雑度クラスを見たことはありません。チューリングマシンを使用せず、計算モデルとしてラムダ計算のみを使用して、概念PおよびNPの複雑度クラスを誰でも説明できます。


5
それらの計算能力は、自然数上の関数に対してのみ同等であり、より高い型や他の設定に対しては同等ではありません。
カベ14

完全性チューリングは時々 、常に実際に...その時々より多くの存在証明について、すなわち、実際には行われていないTM完全なシステム間の接続が、より適用され、「変換」を示すために、より理論的な概念である
vzn

回答:


40

チューリングマシンとλ計算は、定義できる関数NNのみ同等です。

計算の複雑さの観点から、彼らは異なる振る舞いをしているようです。人々がチューリングマシンではなく使用した主な理由λ複雑さについての理由に-calculusは、使用していることであるλあなたが単一で自由に(任意のサイズの)条件をコピーすることができますので、非現実的な複雑さ対策に-calculus単純にリードをβ -reductionステップ例えば、(λx.xxx)MMMM.言い換えると、λ-calculusはお粗末なコストモデルです。対照的に、単一のチューリングマシンのリダクションステップは、(実際のプログラムの実行時の優れた予測子であるという意味で)優れた機能を発揮します。

従来のチューリング機械に基づくλ計算の複雑性理論をいかに完全に回復するかは知られていない 。最近(2014)画期的Accattoliとダルラゴが 等時間複雑さの大きいクラスを示すために管理PNP及びEXP自然挙げることができるλ -calculus製剤。しかし、O(n2)O(nlogn) Accattoli / Dal Lagoテクニックを使用して提示することはできません。

λ -calculus を使用して従来の空間の複雑さを回復する方法 は不明です。


4
ここで明確にする必要があると感じています。時間クラスを「提示」するために特別な「テクニック」のAccattoliとDal Lagoの使用はありません。定義:プレゼンテーションは一つの「ナイーブ」である言語のクラスとによって決定可能λ -termにおけるF N β(任意の標準的な削減戦略の下で、-reductionステップ例えば左端-最外)。Accattoliとダルラゴは、多項式が存在することを、線形論理からの技術を使用して、示されたPようλ T I M E FλTIME(f(n))λf(n) βpλTIME(f(n))=TIME(p(f(n))
ダミアーノ・マッツァ

私が何を意味するか、右だ@DamianoMazzaはい、私はこの結果を表示するために使用される技術は、例えば表示するために使用することができるとは思わないということであるλTIME(n2)=TIME(n2)
マーティンバーガー14年

3
なるほど、分かりました。実は、私の推測では、ある次のような複雑なクラスT I M E N 2)、またはT I M Eは、N ログN 堅牢ではありません、計算モデルの変更の下でそれらが安定することを期待することはできません(これは、チューリングマシンに固執している場合でも有名です、たとえばシングルテープとマルチテープ)。λTIME(n2)TIME(n2)TIME(n2)TIME(nlogn)
ダミアーノマッツァ14年

3
@DamianoMazza選ばれたアルファベットのサイズについても同様です。ただし、nテープマシンので実行されるアルゴリズムは、1テープマシンの5 k f 2n でシミュレートできます。AccattoliとDal Lagoの現在の翻訳の爆発は何ですか?彼らが明示的に述べているかどうかは覚えていません。f(n)n5kf2(n)
マーティンバーガー14年

1
@Jake引用された論文では、ベータ正規化について説明しています(2ページを参照)。同様の結果は、弱還元(つまり、値渡し)などの他の形の還元でもすでに知られています。DalLago&Martini、2008を参照してください(同論文およびcstheory.stackexchange.com/a/397/989説明))。
ブレイザーブレード

12

別の質問のために書いた回答の一部を貼り付けます

Implicit Computational Complexityは、専用言語を使用して複雑度クラスを特徴付けることを目的としています。Bellantoni-Cookの定理などの最初の結果は再帰関数の観点から述べられましたが、最近の結果ではλの語彙と手法を使用していますμλ-calculus. See this Short introduction to Implicit Computational Complexity for more and pointers, or the proceedings of the DICE workshops.

There exist characterizations of (at least) FP by means of λ-calculus.


5

I don't know if this answers (part of) your question but there are indeed alternative characterizations of the complexity classes (esp. P and NP) in terms of logics (1st order logic, 2nd order logic, etc..).

For example the work of R. Fagin (et al.) in this area is notable (and imo might provide insight related to the P vs NP issue and relations with descriptive and algorithmic complexity)

Some further characterizations of computational complexity classes in terms of algorithmic (Kolmogorov-Solomonov) complexity can be found (for example) here and here.

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.