最適な評価者は実際に最適ですか?


10

次の用語(bruijn-indexesを使用):

BADTERM = λ((0 λλλλ((((3 λλ(((0 3) 4) (1 λλ0))) λλ(((0 4) 3) (1 0))) λ1) λλ1)) λλλ(2 (2 (2 (2 (2 (2 (2 (2 0)))))))))

教会に適用すると、数Nは、単純なものを含むいくつかの既存のエバリュエーターで通常の形式にすぐに評価されます。しかし、その用語を相互作用ネットにエンコードし、Lampingの抽象アルゴリズムを使用して評価すると、に関連して指数関数的にベータ削減が行われNます。Optlamでは、具体的には次のとおりです。

N   interactions(betas)     (BADTERM N)
1   129(72)                 λλλ(1 (2 (2 (2 (2 (2 (2 (2 0))))))))
2   437(205)                λλλ(2 (1 (2 (2 (2 (2 (2 (2 0))))))))
3   976(510)                λλλ(1 (1 (2 (2 (2 (2 (2 (2 0))))))))
4   1836(1080)              λλλ(2 (2 (1 (2 (2 (2 (2 (2 0))))))))
5   3448(2241)              λλλ(1 (2 (1 (2 (2 (2 (2 (2 0))))))))
6   6355(4537)              λλλ(2 (1 (1 (2 (2 (2 (2 (2 0))))))))
7   11888(9181)             λλλ(1 (1 (1 (2 (2 (2 (2 (2 0))))))))
8   22590(18388)            λλλ(2 (2 (2 (1 (2 (2 (2 (2 0))))))))
9   43833(36830)            λλλ(1 (2 (2 (1 (2 (2 (2 (2 0))))))))
10  85799(73666)            λλλ(2 (1 (2 (1 (2 (2 (2 (2 0))))))))
11  169287(147420)          λλλ(1 (1 (2 (1 (2 (2 (2 (2 0))))))))
12  335692(294885)          λλλ(2 (2 (1 (1 (2 (2 (2 (2 0))))))))
13  668091(589821)          λλλ(1 (2 (1 (1 (2 (2 (2 (2 0))))))))
14  1332241(1179619)        λλλ(2 (1 (1 (1 (2 (2 (2 (2 0))))))))
15  2659977(2359329)        λλλ(1 (1 (1 (1 (2 (2 (2 (2 0))))))))

BOHMなどの同様のエバリュエーターでは、ベータステップははるかに少なくなりますが、相互作用は多くなります。最適なエバリュエーターが最適である場合、既存のエバリュエーターよりも漸近的に遅い用語をどのように評価できますか?

このリンクには、用語の起源と、反対に動作する同じ関数の実装についての説明があり、ほとんど奇妙なことに、指数時間で実行する必要があります-ほとんどの評価者では指数時間で実行されますが、最適です評価者は線形時間でそれを正規化します!

回答:


5

オプトラムの効率

私はBADTERMやoptlamエバリュエーターの実装の詳細については調べていませんが、optlamがBOHMのような別の最適なエバリュエーターとは大幅に異なるいくつかのβ相互作用を実行することは非常に奇妙です。そのような数は、定義により、与えられた用語で基本的に同じでなければなりません。optlamのコアの正当性を確信していますか?

最適な評価者の効率

これらのエバリュエーターの最適性の概念はLévy-optimalityとしてより適切に知られていることを思い出してください。最小ステップ数のβステップを実行する簡約の戦略は計算できないため、これは単純なものではありません。次に、最小限に抑えられるのは、redexのファミリー全体で実行される並列のβ削減ステップの数です。これは、2つのredexeが他からコピーされたときにリレーションを対称的かつ推移的に閉じることによって得られるセットです。Asperti、Coppola、およびによって示されるように、正規化の負荷のほとんどが前者から後者に転送される可能性があることを知っているので、一般的に、βステップの数と残りの複製ステップの間に不一致が見られることは驚くべきではありません。マティーニ[1]。

以前の経験的観測ではすでに顕著なパフォーマンスの改善が見られたため、最適なエバリュエーターで用語を正規化するために必要な相互作用の総数が通常の相互作用よりも少ないことは、驚くことではありません。これにもかかわらず、指数関数的時間から線形時間までのこのような非常に複雑なジャンプは、おそらく、その種の発見された最初の例です。(これを確認します。)

一方、最適な削減の効率に関する理論的な結果(これはあなたの大きな問題です)は、EALタイプの証明ネット(これは基本的に最適な制限と同じです)に制限されているため、まだ少なく一般的ではありません評価者(私が正しく理解している場合)ですが、最悪の場合、共有削減の複雑さは定数係数によって通常の制限に制限されるため、すべてが穏やかに肯定的です[2,3]。

参考文献

  1. A. Asperti、P。Coppola、およびS. Martini、(最適)複製は基本的な再帰はありません、情報と計算、vol。193、2004。
  2. P. Baillot、P。Coppola、およびU. Dal Lago、ライトロジックと最適な削減:完全性と複雑さ、情報と計算、vol。209、いいえ。2、pp。118–142、2011。
  3. S. Guerrini、T。Leventis、およびM. Solieri、Deep intooptimity –制限付きロジックの共有実装の複雑さと正確さ、DICE 2012、タリン、エストニア、2012。

Such a number must be, by definition, basically the same on a given termので、私は考えました。Optlamが私がテストした多くのケースでBOHMと同じ数のベータを提供するので、それは私を驚かせました。ただし、必要に応じて呼び出す戦略のため、場合によってはそれより少なくなります。誰かがオラクルなしの削減は実際には最適ではないと私に言ったが、今はもう分からない。全体として、私は深く混乱しています。しかし、いいえ、Optlamが正しく機能している証拠はまったくありません。私はあなたのコメントの残りについて考えています-ありがとう。
MaiaVictor 2015年

さらに、Badtermと同じように動作するさまざまな用語を実際に見つけました。私は問題をさらに研究しているので、それを複製するより簡単な用語を見つけることができます。
MaiaVictor 2015年

Lévy最適性自体に必要なため、BOHMを含む最適な評価者にとっては、一種の並列呼び出しによる戦略が標準です。オラクルは、λ項を最適に削減するために厳密に必要なわけではありません。EALタイプの用語などの階層化された用語は、それを必要としません。
Marco Solieri、2015年

ああ、それでは。とにかく、私が理解していることを確認するために、(ベータ版だけでなく)重複を考慮に入れると、EAL型の場合でも、最適なエバリュエーターを削減するために漸近的に遅い項がある可能性がありますか?その場合、ベータステップのみをカウントすることがなぜ意味があるのか​​、λ計算の削減を目的として相互作用ネットを使用することに本当にメリットがあるのか​​...
MaiaVictor

1
ああ!それでは、オラクルなしで削減できる非EALタイプ可能な用語はありますか?Optlamがそれを削減した場合、それはEALタイプ可能であると想定しました(私にはEALタイプの推論機能がないため)。そうでない場合は、今ではすべてが理にかなっています。EALタイプ可能な用語のサブセットには、並べ替えなどのポリタイムアルゴリズムを表現するのに十分なパワーがあるため、EALタイプ可能な用語を具体的に設計することをお勧めします。しかし、それが実際にどのように行われるのでしょうか。どうもありがとうございます。
MaiaVictor 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.