型付きラムダ計算は、与えられた複雑さ以下の*すべて*アルゴリズムを表現できますか?


21

Yコンビネータプリミティブのない型付きラムダ計算のほとんどの種類の複雑さは制限されています。つまり、制限された複雑さの関数のみを表現でき、型システムの表現力が大きくなると制限が大きくなります。例えば、構築の計算は、せいぜい二重に指数関数的な複雑さを表現できることを思い出します。

私の質問は、型付きラムダ計算が特定の複雑さの限界以下のすべてのアルゴリズムを表現できるのか、それとも一部のみを表現できるのかということです。たとえば、ラムダキューブの形式では表現できない指数時間アルゴリズムはありますか?Cubeの異なる頂点で完全に覆われている複雑な空間の「形状」とは何ですか?


答えはイエスだと思います。制限時間のユニバーサルチューリングマシンを表現できます。
カベ

3
二重の指数関数的な上限は確かですか?私の記憶が正しければ、CoC認証は、それがシステムF(すなわち多型が含ま意味ラムダキューブ、の最も表現「コーナー」であるなった、-calculus)を重指数を超えて...とにかく、答えは間違いなくありますはい、たとえばここで私の答えを参照してください。必要に応じて、より詳細な回答を投稿できます。λ
ダミアーノマッツァ

1
申し訳ありませんが、質問を読み間違えました。型付きの -calculiについてではなく、具体的にはLambdaキューブの型付きの -calculi について尋ねているのです。System FとSystem Fについての正確な答えは知っていますが、興味深い複雑さはそこにあるのではないかと心配しています。λ ωλλω
ダミアーノマッツァ

4
アッカーマン関数は、構造の計算で表現できるため、その2つが指数関数的であることは正しくありません。
アンドレイバウアー14

私はCoq'Artの本でその限界について読んだと思うが、私は非常に間違っている可能性が高い。ありがとう!
jkff 14

回答:


19

部分的な回答をします。他の人が空白を埋めてくれることを願っています。

型付きで -calculi、1は、データの通常の表現にタイプ(与える可能性があり教会(単項)整数の、バイナリ文字列のため、ブール用)と不思議何を型付き用語で表現可能/決定可能な機能/問題の複雑さです。正確な回答を知っているのは一部の場合だけであり、単純にタイプされた場合は、「表現可能/決定可能」を定義するときに使用される規則に依存します。とにかく、二重の指数関数的な上限があるケースは知りません。N A T S T R B O O LλNatStrBool

最初に、ラムダキューブの簡単な要約。その8つの計算は、単純に型付けされた -calculus(STLC)の次の3種類の依存関係を有効または無効にすることによって取得されます。λ

  • 多態性:用語は型に依存する場合があります。
  • 依存型:型は用語に依存する場合があります。
  • 高次:タイプはタイプに依存する場合があります。

(用語の用語への依存性は常に存在します)。

ポリモーフィズムを追加すると、システムFが生成されます。ここでは、で教会の整数を入力できます。Girardは、タイプ System Fの項が、2次のPeano算術で全体が証明可能な数値関数を正確に表すことを証明しました。それはほとんど毎日の数学です(選択の形式はありませんが)ので、クラスは巨大です。アッカーマン関数はその中の小さな微生物の一種であり、関数は言うまでもありませんN TN T 2 2 N β N A T S T R S T RB O O LNat:=X.(XX)XXNatNat22n。System Fで表現できない「自然な」数値関数は知りません。例は通常、対角化、または2次PAの一貫性のエンコード、または他の自己参照トリック( -equalityの決定など)システムF自体)。もちろん、システムFでは、単項整数とそのバイナリ表現間で変換を行い、最初のビットが1かどうかをテストできるため、決定可能な問題のクラス(型)も同様に巨大です。βNatStrStrBool

したがって、多型を含むラムダキューブの他の3つの計算は、少なくともシステムFと同じくらい表現力があります。これらには、システムF(多型+高次)が含まれます。構造の計算(CoC)。これは、キューブの最も表現力のある計算です(すべての依存関係が有効になっています)。算術理論または集合理論の観点からCoCの表現力の特徴を知りませんが、かなり恐ろしいに違いありません:-)ω

依存型(本質的には等価と自然数のないMartin-Löf型理論)、高次型、またはその両方を有効にすることで得られる計算に関しては、私はもっと無知です。これらの計算では、型は強力ですが、用語はこの力にアクセスできないため、何が得られるのかわかりません。計算上、単純な型よりもはるかに表現力が増すとは思わないが、私は間違っているかもしれない。

したがって、STLCが残っています。私の知る限り、これは興味深い(つまり、巨大なほどではない)複雑度の上限を持つCubeの唯一の計算です。TCS.SEにはこれに関する未回答の質問があり、実際、状況は少し微妙です。

最初に、アトムを修正してを定義すると、Schwichtenbergの結果があります(ウェブ上のどこかにその論文の英語訳があるのは知っていますが、今は見つかりません)、型の関数は(if-then-elseを使用した)拡張多項式であることがわかります。「スラック」を許可する場合、つまりパラメーターを自由にインスタンス化できるようにし、タイプを考慮する場合N T= X X X X N TN T X N T [ A ] N T A N T [ A ] N T [ A ' ] N トンXNat:=(XX)XXNatNatXNat[A]NatA任意、さらに多くを表現できます。たとえば、指数関数の塔(2倍の指数関数をはるかに超える可能性があります)と先行関数はありますが、減算は行われません(バイナリ関数を検討し、入力しようとした場合))。したがって、STLCで表現可能な数値関数のクラスは少し奇妙で、基本関数の厳密なサブセットですが、よく知られているものには対応していません。Nat[A]Nat[A]Nat

上記と明らかに矛盾する、Mairsonによるこの論文は、任意のチューリングマシンの遷移関数をエンコードする方法を示しており、そこから項を取得します(依存する一部のタイプ場合)入力としてChurch整数を与えると、の形式の多数のステップの固定初期構成から始まるの実行をシミュレートします タワーの高さを固定。これはしませんN a t [ A ] B o o l A M n M 2 2 2 nS t r M MMNat[A]BoolAMnM

222n,
STLCでは、の入力を表すバイナリ文字列(型)をMairsonのの構成を表すために使用される型に変換する方法がないため、すべての基本問題がSTLCによって決定可能であることを示すエンコーディング。そのため、エンコーディングはなんらかの「不均一」です。各入力に個別の用語を使用して、固定入力から要素的に長い実行をシミュレートできますが、任意の入力を処理する用語はありません。StrMM

実際、STLCは「均一に」決定できるものが非常に弱いです。、いくつかのに対してタイプ単純に型付けされた用語で決定できる言語のクラスと呼びましょう(上記のように、タイピング)。私の知る限り、正確な特性評価はありません。ただし、(確定的線形時間)であることはわかっています。封じ込めとそれが厳密であるという事実の両方は、非常にきちんとしたセマンティック引数によって示される可能性があります(有限集合のカテゴリでのSTLCの標準の表示セマンティクスを使用)。前者は最近照井によって示されました SとTをR [A] B O O L A C S T C S T L I N T L I N T I M E C S TCSTStr[A]BoolACSTCSTLINTIME。後者は基本的に、スタットマンの古い結果の再定式化です。の問題の例はMAJORITYです(バイナリ文字列が与えられ、0よりも厳密に1が含まれているかどうかを判断します)。LINTIMECST


(かなり)後のアドオン:上記のと呼ぶクラスは実際に正確な特性評価を行っていることがわかりました。で、この美しい1996紙、HillebrandとKanellakisは、とりわけ、証明することCST

定理。 (通常言語)。 {01}CST=REG{0,1}

(これは彼らの論文の定理3.4です)。

私はこれを二重に驚かします:結果自体(が「ニート」に対応する可能性があることは私には決してありませんでした)と、それがほとんど知られていないことに驚いています。また、上限のの証明が、HillebrandおよびKanellakisで使用されているのと同じ方法を使用していることも面白いです(有限集合のカテゴリで単純に型付けされた -calculusを解釈します)。言い換えれば、が「奇妙な」クラスであることに私たちが何らかの形で満足しているという事実がない限り、照井(および私自身)はこの結果を簡単に再発見できたはずです:-) L I N T I M E λ C S TCSTLINTIMEλCST

(ちなみに、「未知の定理」に関するMOの質問へのこの回答で驚きを共有しました)。


3
その名前をもう一度見るためだけに答えを読み終えました。あなたはすでに私自身の教授以上に教えてくれたと思います。インターネットは美しいものです。ありがとう。
MaiaVictor

@ダミアーノ・マッツァ。あなたの答えが好きでしたが、「均一性」の概念はそれほど些細ではありませんか?
アンドレアアスペルティ

こんにちは、@ Andrea、ありがとうございます。ここでの「均一性」とは、それぞれが固定長の入力でのみ機能する無限のプログラムファミリによって言語を決定するのではなく、可能なすべての入力に対して機能する単一のプログラムを使用して言語を決定するという事実です。さらに悪いことに、Mairsonの論文のように、入力ごとに1つのプログラムがあります)。均一性は -calculusの標準です( -termsは、線形性/親和性などの制限を考慮しない限り、非均一アプローチに使用するにはあまりにも強力です)ある意味で「自明」です。しかし、おそらく私は...あなたのコメントを理解していないですλλλ
ダミアーノ・マッツァ

12

ダミアーノが優れた答えで挙げた質問への答え:

依存型(本質的には等価と自然数のないMartin-Löf型理論)、高次型、またはその両方を有効にすることで得られる計算に関しては、私はもっと無知です。これらの計算では、型は強力ですが、用語はこの力にアクセスできないため、何が得られるのかわかりません。

依存型を追加しても、理論の一貫性の強さは変わりません。単純な依存型は、単純に型指定されたラムダと同じ整合性強度を持ち、構造の計算は、System Fと同じ整合性強度を持ちます。ω

実際、純粋なMartin-Löf型理論(lambda-cubeの)は、0 = 1が偽を意味することを証明できません。これを行うには、少なくとも一つの宇宙を必要とする-と宇宙はgigantically理論の強度を高めます。帰納的構築の計算(大まかに言うと、加えて帰納的タイプに加えて数え切れないほど多くの宇宙)は、数え切れないほど多くのアクセスできない基数を持つZFCと一貫性の強さで等しい。 λ P ωλPλPω

帰納的型と大規模な消去を追加する場合、構文の命令型計算の強さはわかりません。


ありがとう@Neel!これで全体像が把握できたと思います。
ダミアーノマッツァ14

7

ダミアーノの優れた答えを補完しようとします。

一般に、型付きの -calculusは、特定のロジックの実現者の言語として使用できます。特に、システムは、2次のHeyting算術を実現する言語です。非公式定理は次のように述べることができますF H A 2λF HA2

型付き計算が論理の実現者である場合、の定義可能な関数はの証明可能な合計関数関係を正確に表します。L T LTLTL

もちろん、詳細はより曖昧で、は少なくとも算術演算を含む必要がありますが、このアイデアを適用するとL

  • システムの定義可能な関数は、の証明可能な合計関数です(これには、アッカーマン関数と、はるかに高速で成長する関数が含まれます)H A 2FHA2

  • システムの定義可能な関数は、(peano算術)の証明可能な全関数です。これには、アッカーマン関数も含まれます(ただし、システムよりもはるかに少ない関数が含まれます)。P A FTPAF

計算を正確にキャプチャする型付きの -calculi がいくつかあります。これらには通常、複製を制御するための線形型システムが含まれます。そのような例の1つに、BaillotとTeruiがあります。P T I M EλPTIME

一般に、これは研究の大きな道であるため、以前の回答の 1つを参照します


3
Cf. 複雑さの理論的変種についてのStephen CookとAlasdair Urquhartの「実行可能に建設的な算術の機能的解釈」、1993年。
カベ14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.