アフィンラムダ計算はPのすべての問題を解決できますか?


10

型とプログラミング言語の高度なトピックでは、サブ構造型システムの章で、リストの再帰コンビネーターを使用した「注意深く作成された」アフィンラムダ計算は、多項式の実行時間を持つ用語のみを入力できると述べられています。複雑さのために証拠を提示する)。Pのすべての問題も解決できれば、これは非常に興味深いでしょう。Pが完全な問題の解決策を見つけようとする計算を使って解決策を見つけようとしたら、実際に何が証明されるかわかりません。P完全な問題の解決策を使用するために必要なすべての削減を実行できることを意味しているように思えません(確かに可能性があるように見えますが)。

アフィンラムダ計算がPの問題を正確に解決できることが知られていない場合、Pの問題を正確に解決できる既知の計算はありますか?


1
私の無知を失礼しますが、完全な問題の例は何ですか、そしてさらに重要なことに、あなたが使用している削減の概念は何ですか?P
Andrej Bauer 14

ウィキペディアでいくつか見つけました:en.wikipedia.org/wiki/P-complete#P-complete_problems。興味深いのは、回路値の問題とホーンSATです。線形計画法も明らかに完全です。これらのスライドは、回路の値の問題をよく説明していますcs.cornell.edu/courses/CS6820/2012sp/Handouts/cvp.pdf。どちらかと思わLの減少またはN Cが、使用されているLの減少がより弱いことN Cの減少。私はどちらかで満足します。LN Cを使用した場合の結果が正確かどうかはわかりません。PLNCLNCLNC
ジェイク

6
Pに対して完全な線形言語があります。興味深いことに、それらは一般に問題に対して完全ですが、アルゴリズムに対しては完全ではありません。つまり、Pのすべての問題に対してポリタイムプログラムを記述できますが、すべてのポリタイムアルゴリズムを表現できるわけではありません。
Neel Krishnaswami 2014

その声明は、「彼らは一般的にPについては完全であるが、FPについては完全ではない」とほぼ同等でしょうか?また、いくつかの例を提供できれば、これは素晴らしい答えになります。
ジェイク

3
ニール・クリシュナスワミ、参照を提供できますか?これは面白そうですね。
Mateus de Oliveira Oliveira 14

回答:


12

編集:下の最初の段落の私の推測は間違っています!Ugo Dal Lagoは私に知らなかったMartin Hofmannによる後の論文(POPL 2002に掲載)を指摘し、(より一般的な結果の結果として)ATTPL本のシステムが実際にF Pのすべての関数を計算できるわけではありませんが)。だから、驚いたことに、主な質問への答えはイエスです。PFP


あなたが参照しているシステム(ATTPLの本から)については、Pのすべての言語を決定できるわけはないと確信していますF Pのすべての関数を計算することはできません。その章の注記で述べたように、そのシステムはMartin HofmannのLICS 1999論文(「線形型とサイズ増加のない多項式時間計算」)から取られており、ここに示されています表現可能な関数はポリタイムであり、サイズが増加しないことPFP、多数のポリタイム関数を除外します。また、その言語でシミュレートできるTuringマシンのテープのサイズに深刻な制限を与えるようです。この論文では、ホフマンは線形空間計算をエンコードできることを示しています。私の推測では、これ以上行うことはできません。つまり、そのシステムに対応するクラスは、おおよそ、ポリタイム空間と線形空間で同時に解ける問題です。

2番目の質問に関しては、Pの問題を正確に解決できるいくつかの計算があります。そのうちのいくつかは、あなたが参照しているATTPLの章のノートに記載されている(セクト1.6。):Leivantの階層λ -calculus(彼POPL 1993紙、またはポリ時間のジャン=イヴ・マリオン「ラムダ計算特徴付けとペーパーを参照してください。 "、Fundamenta Informaticae 19(1/2):167-184、1993)、これはベラントーニとクックのF Pの特徴付けに関連しています。そしてλ -calculiはジラールの光線形論理(由来の情報と計算(またはLafontのソフト線形論理から:175から204、1998、143)理論計算機科学λPλFPλ318(1-2):163-180、2004)。これらの後者の2つの論理システムから発生し、(完全性を享受しながら)ポリタイム終了を保証する型システムは、次の場所にあります。

パトリック・ベイロ、照井一成。ラムダ計算における多項式時間計算のライトタイプ。Information and Computation 207(1):41-62、2009。

マルコ・ガボーディ、シモーナ・ロンキ・デラ・ロッカ。簡単なロジックからタイプの割り当てまで:ケーススタディ。Logic Journal of the IGPL 17(5):499-530、2009。

これら2つの論文には、他にも多くの参考文献があります。

結論として、ニール・クリシュナスワミの発言を拡大させてください。状況は少し微妙です。上記の計算のすべては、より一般的な計算の制限と見なすことができます。この計算では、たとえばシステムFなどのポリタイム関数だけではなく、はるかに多くを計算できます。つまり、システムFプログラムPのプロパティΦを定義します。文字列 →次のようなブール値λΦP:stringbool

健全性: は、Pによって決定された言語がPにあることを意味します。Φ(P)PP

完全:すべてのための、Fシステムプログラムが存在するP判定LようΦ P )はLPPLΦ(P)

興味があるのは、によって表される特性が純粋に構文的であり、特に決定可能であることです。したがって、完全性は拡張の意味でのみ保持できます。LPでお気に入りの言語であり、PがシステムFで表現されるLを決定するためのお気に入りのアルゴリズムである場合、Φ P は成り立たない可能性があります。知っているのは、Lを決定する他のシステムFプログラムP 'があり、Φ P 'が成り立つことだけです。残念ながら、P 'ΦLPPLΦ(P)PLΦ(P)Pあなたのよりはるかに不自然です。実際、多項式クロックのチューリングマシンをΦを満たすシステムF項としてエンコードすることにより、完全性が証明されます。したがって、お気に入りのアルゴリズムを使用してLを解く唯一の保証された方法は、そのアルゴリズムをTuringマシンに実装し、完全性証明で指定されたエンコーディングを使用してシステムFで変換することです(独自のエンコーディングは機能しない可能性があります!)。プログラミングの面で最もエレガントなソリューションとは言えません...もちろん、多くの場合、「自然な」プログラムPΦを満たします。ただし、他の多くのケースではそうではありません。上記のLICS 1999論文では、ホフマンは例として挿入ソートを提供しています。PΦLPΦ

より広い言語のポリタイムプログラム(上記の例ではシステムF)を正確に入力できる、意図的に完全な型システムが存在します。もちろん、それらは一般的に決定できません。見る

Ugo Dal Lago、Marco Gaboardi。線形依存型と相対的完全性。コンピュータサイエンスにおける論理的手法 8(4)、2011年。


1
後半は何を言おうとしているのか分かりません。あなたの説明に基づいて、同じ問題を解決するFプログラムへのポリタイムクロックのチューリングマシンの構文変換があります。私の知る限り、これはある計算モデルから別の計算モデルに変換するときに期待できる最高のものです。
EmilJeřábek14年

3
@EmilJeřábek:はかなり制限的であり、多くの「自然な」ポリタイムFプログラムを拒否すると言っています。そこにシステムFプログラマのようなものがあって、あなたは1、と私はタイプの単項整数を乗算するためのプログラム(書き留めて、あなたを求めている場合であればN T = XをX X X X)は、おそらく書きたいλ M N トンをλ N N TΛ X λ X ΦNat:=バツバツバツバツバツ。次に、用語が拒否されたことに失望する可能性があります。代わりに、加算を反復して乗算をプログラムする必要があります。(続き)λメートルNatλNatΛバツλsバツバツメートルバツバツs
Damiano Mazza 14

3
(上記の例は本物です。ポリタイムのすべての線形論理派生型システムでは、乗算の通常の用語は型指定できません)。挿入ソートなどはプログラムできない(確かにポリタイムです)と言ったとしても、もっとがっかりするかもしれませんが、それ実装するTuringマシンを書き留めてから、システムFにエンコードする必要があります。あなたはがっかりするでしょう:どの高級プログラマーのどのプログラマーが「入れ子になったループの型チェックはできません。これをアセンブリーにコーディングしてください」と言って喜んでくれるでしょうか?:-)for
Damiano Mazza 14

大丈夫だと思います。私は主に関数検索(特定のプロパティを最大化する関数を見つける)に興味があるので、プログラマーである必要はありません。コンピューターはそうです。今夜、私はこれらの参考文献を調べる必要があるでしょう。ありがとう!
ジェイク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.