ラムダ計算における複雑性理論の同等の定式化?


11

複雑さの理論では、時間と空間の複雑さの定義はどちらも普遍的なチューリングマシンを参照しています。停止するまでのステップ数、およびテープ上の接触したセルの数。

Church-Turingの論文を考えると、ラムダ計算の観点からも複雑さを定義できるはずです。

私の直感的な概念は、時間の複雑さはβ削減の数として表すことができ(De Brujinインデックスを使用してα変換を定義することができ、いずれにしてもηはほとんど削減ではない)、空間の複雑さは最大の削減におけるシンボル(λ、DBインデックス、「適用」シンボル)。

これは正しいです?もしそうなら、どこでリファレンスを入手できますか?そうでない場合、どのように私は間違っていますか?


これは暗黙の計算の複雑さのように聞こえますか?
Taのタンディン

回答:


15

あなたが指摘するように、λ計算は一見単純な時間の複雑さの概念を持っています:ちょうどβ還元ステップの数を数えます。残念ながら、物事は単純ではありません。私たちは尋ねるべきです:

 Is counting β-reduction steps a good complexity measure?

この質問に答えるには、最初に複雑さの測定で何を意味するのかを明確にする必要があります。Slotとvan Emde Boasの論文から 1つの良い答えが得られます。優れた複雑さの尺度は、チューリングマシンを使用して定義された時間の複雑さの標準的な概念と多項式の関係を持つ必要があります。換言すれば、合理的な符号化TRが存在すべきであるλ計算条件から、各タームのためのそのチューリングマシンへ(。)Mサイズの|M|Mは、t r M )のときに、poly|M|値に正確に減少しますtrMpoly|trM|値に減少します。

長い間、これがλ計算で達成できるかどうかは不明でした。主な問題は次のとおりです。

  • 指数サイズの多項式のステップ数で正規形を生成する項があります。(1)を参照してください。通常のフォームを書き留める場合でも、指数関数的な時間がかかります。

  • 選択した削減戦略も重要な役割を果たします。たとえば、多項式の並​​列βステップ数を削減する用語のファミリーが存在します(最適なλ削減の意味で(2)、その複雑さは基本的ではありません(3、4))。

ペーパー(1)は、左端の名前によるCall-By-Nameの削減を前提として、複雑度クラスPTIMEを維持する合理的なエンコーディングを示すことで問題を明らかにしています。重要な洞察は、指数関数的な爆発は、サブ用語の適切な共有によって打ち負かされる可能性のある興味のない理由でのみ発生する可能性があるようです。

(1)のような論文は、βステップを数えるにせよ、チューリングマシンステップを数えるにせよ、PTIMEのような大まかな複雑さのクラスが一致することを示していることに注意してください。これは、O(log n)のような複雑性の低いクラスも一致することを意味しません。もちろん、そのような複雑さのクラスは、チューリングマシンモデルのバリエーション(例:1テープvsマルチテープ)でも安定しません。

D.マザの作品(5)は、チューリングマシンの代わりに関数型言語(λ計算のバリアント)を使用して、クックレビンの定理(SATの完全性)を証明しています。重要な洞察はこれです:

ブール回路チューリングマシン=アフィン λ-条項λ-条項

空間の複雑さに関する状況が理解されているかどうかはわかりません。


  1. B. Accattoli、U。Dal Lago、ベータリダクションは不変、確かに

  2. J.-J. 課税、削減は、ダン・ラムダ計算を修正します。

  3. JL Lawall、HG Mairson、最適性と非効率性:ラムダ計算のコストモデルとは何ですか?

  4. A. Asperti、H。Mairson、 Parallelベータリダクションは初歩的な再帰ではありません

  5. D. Mazza、Church Meets CookおよびLevin



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