スコットの確率的ラムダ計算


19

最近、Dana Scottは確率的ラムダ計算を提案しました。これは、グラフモデルと呼ばれるセマンティクスに基づいて確率型要素を(型なし)ラムダ計算に導入する試みです。彼のスライドは、たとえばここでオンラインで見つけることができ、彼の論文はJournal of Applied Logic、vol。12(2014)。

しかし、Webで簡単に検索したところ、たとえばHindley-Milner型システムに関する同様の以前の研究が見つかりました。確率論的なセマンティクスを導入する方法は、スコットのものに似ています(前者ではモナドを使用し、後者ではスコットは継続渡しスタイルを使用します)。

スコットの研究は、理論自体またはそれらの可能な応用の点で、利用可能な以前の研究とどのように異なりますか?


それを見つけるのにしばらく時間がかかったので、ここにリンクがあります:sciencedirect.com/science/article/pii/S1570868314000238
Blaisorblade

回答:


15

彼のアプローチの明らかな強みの1つは、高次関数(つまり、ラムダ項)を観測可能な結果にすることができることです。これは、一般に、理論が非常に注意を要します。(基本的な問題は、測定可能な関数の空間には一般にアプリケーション関数(「eval」と呼ばれることもある)が測定可能なボレル代数がないことです関数空間の論文Borel構造の紹介を参照してください。)ラムダ項から自然数へのGödelエンコード、およびエンコードされた項を直接操作します。このアプローチの弱点の1つは、プログラム値として実数を使用してエンコードを拡張することが困難な場合があることです。(編集:これは弱点ではありません-以下のAndrejのコメントを参照してください。)σ

CPSを使用する主な目的は、ランダムソースへのアクセスに完全な順序を課すために、計算に完全な順序を課すことです。状態モナドも同様に行う必要があります。

Scottの「ランダム変数」は、Parkの運用上のセマンティクスにおける「サンプリング関数」と同じようです。標準均一値を任意の分布の値に変換する手法は、逆変換サンプリングとしてより広く知られています。

RamseyのセマンティクスとScottのセマンティクスの間には、根本的な違いが1つしかないと思います。Ramsey'sは、プログラムをプログラム出力の指標を構築する計算として解釈します。Scott'sは、入力に関する既存の統一尺度を想定し、プログラムをそれらの入力の変換として解釈します。(出力メジャーは、原則としてプリイメージを使用して計算できます。)スコットは、Haskellのランダムモナドを使用することに似ています。

全体的なアプローチでは、スコットのセマンティクスは確率的言語に関する論文の後半に最も似ているようです -巧妙なエンコーディングを使用する代わりに一次値に固執し、ストリームの代わりに乱数の無限ツリーを使用し、プログラムを矢印の計算。(矢印の1つは、固定確率空間からプログラム出力への変換を計算します。他の矢印は、プリイメージと近似プリイメージを計算します。)論文の第7章では、プログラムを固定確率空間の変換として解釈する方が、計算として解釈するよりも優れていると考える理由を説明していますメジャーを構築します。基本的には、「測定値の固定点は非常に複雑ですが、プログラムの固定点はかなりよく理解できます」ということになります。


3
λλλ

1
@Martin:私はプロセスの計算についてあまり知らないので、すぐに答えることはできませんが、調査する価値があるようです。プロセス計算のプロパティが転送後どのように見えるか、転送されたプロパティを何らかの方法で活用できるかどうかを知りたいです。
ニールトロント14年

2
T0λ

@Andrej:では、エンコードを実数で拡張することは問題になりませんか?
ニールトロント14年

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