構造の計算:式を最小の形式に圧縮する


11

Calculus of Constructionsが強く正規化されていることを知っています。つまり、すべての式は、ベータ、η削減された正規表現を持つことができません。実際、これは元の式と同じ値を計算する最も効率的な式です。

ただし、場合によっては、正規化によって小さな式が(サイズに関して)巨大な式に縮小される場合があります。

最小形式の式はありますか?最小サイズで同じ値を計算するフォーム。

言い換えれば、時間効率の良い正規形の代わりに、スペース効率の良いものです。

回答:


8

私たちが「同じ価値」と考えるものには、少しの自由があります。「同じ値」が「観測的に同等」を意味する場合、そのようなアルゴリズムは存在しないことを示しましょう。構築の微積分の断片、すなわち、ゲーデルのシステムT(単純に型付けされた計算、自然数、およびそれらの原始再帰)を使用します。λ

数所与、聞かせ¯ N、すなわち、それを表す対応する数字であり、n個のアプリケーションS U C C0。チューリングmahcine与えられたM、聞かせてMは数字エンコーディングもMいくつかの合理的な方法インチnn¯nsucc0MMM

2つの閉じた用語と言うある同等の、書かれたT uの全てについて、N NTt,u:natnattunN及びStn¯同じ数字に両方の正規化(私たちは強く正規claculusにいるので、彼らは数字に正規化)。sn¯

私たちはタイプの任意の閉じられた用語与えられたアルゴリズム、持っていたと仮定し、最小限の同等の用語を計算します。その後、次のようにHalting oracleを解決できます。natnat

用語ある全てについて、そのようなN N、すべてチューリングマシンMSは、M ¯ Nに正規化¯ 1であればTの内の停止N手順は、そしてそれはに正規化¯ 0そう。固定数のステップnに対するチューリングマシンのシミュレーションはプリミティブな再帰的であるため、これはよく知られています。S:nat×natnatnNMS(M,n¯)1¯Tn0¯n

有限個の閉じた用語が存在するに等しい最小の用語であるλ X N tがZ1,,Zk。我々はそれを与えるとき、私たちの最小化アルゴリズムは、それらのいずれかを返し λ X N トンλx:nat.0、それが偶数の場合であってもよい λ X N Tλx:nat.0実際、このような最小の用語は 0だけです。このすべてが、問題事項は同等である有限個の最小限の条件があることであることだけではないん λ X N トンをλx:nat.0λx:nat.0

さて、任意のマシンの与えられた、言葉を考える U = λ X N トンM 場合、Mはその後永久に実行 U ¯ Nに正規化を ¯ 0毎ため Nとに相当する λ X N T

u:=λx:nat.S(M,x)
Mun¯0¯nλx:nat.0MuZ1,,ZkMZ1,,Zk

β


Z1、.. Zkをどのように計算しますか?
user47376

する必要はありません。つまり、私が説明しているアルゴリズムはそこにあり、私たちはそれが何であるかを正確に知りませんが、それは無関係です。私は実際にアルゴリズムを実行しようとはしていません。あなたのアルゴリズムが存在しないことを示すために、その存在が必要です。
アンドレイバウアー

はい、しかし、あなたの議論は、私のアルゴリズムが存在する場合、停止問題を解決することができると言います。チューリングマシンMが停止するかどうかを判断するには、アルゴリズムをuを正規化し、Z1、.. Zkのいずれかであるかどうかをチェックします。そのため、それらを列挙できる必要があります。そうでなければ、停止しない可能性があります。
user47376

Z1,,ZkkZkZ[i]

7

(λx:T.C x x) uβC u u
u

この意味で、型付けされていない用語を最適な方法で減らし、共有を可能な限り減らす方法は知られています。これについては、https://stackoverflow.com/a/41737550/2059388 で説明しています。関連する引用は、J。ランピングの最適なラムダ計算のアルゴリズムです。型付けされていない計算の定理がCICに拡張できることは疑いの余地がありません。

他の関連する質問は、研究の活発な分野で効率的な変換を実行する方法を実際に型変換を実行するときに消去、または可能なタイプの情報量で、例えば参照ミシュラ・リンガーの論文を


6

コーディの答えが触れた視点を主張させてください。

λλλλ

Mf

Mx¯l(|x|)f(x)¯
l(|x|)l(n)=O(nk)kf

λΘ(n)Θ(2n)λλ

λλ

λ

通常のフォームに、左端、最も外側のステップ数は:この同じ構文が逆ナイーブ直感に、上記の質問への答えはイエス、実際にされ、それを証明するために使用することができるであるので、でもサイズが爆発すれば、合理的なコスト測定実際、同じ計算を表す別の方法(線形明示的置換を使用)があります。

  1. サイズは爆発しませ
  2. λ

これはすべてAccattoliとDal Lagoの論文「Beta Reduction is Invariant、Indeed」で説明されています(LICS 2014以降、最新のジャーナルバージョンがあると思います)。

λ


私が念頭に置いていたのは、たとえば、百万ステップを展開して百万要素リストを生成する用語です。これは、その値の最も効率的な表現である実際のリストに正規化されます(実際の最終結果であり、追加の手順は不要です)。しかし、展開用語自体は非常に小さい場合があります。
user47376

β

はい、アンドレイが言ったように不可能です。それが私の質問に答えました。
user47376
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.