Vor kurzem schlug Dana Scott den stochastischen Lambda-Kalkül vor, einen Versuch, probabilistische Elemente in den (untypisierten) Lambda-Kalkül einzuführen, der auf einer Semantik basiert, die als Graph-Modell bezeichnet wird. Sie finden seine Folien online zum Beispiel hier und seinen Artikel im Journal of Applied Logic , vol. 12 (2014).
Durch eine schnelle Suche im Internet fand ich jedoch ähnliche frühere Forschungsergebnisse, zum Beispiel für das Hindley-Milner-Typ-System . Die Art und Weise, wie sie probabilistische Semantik einführen, ähnelt der von Scott (im ersten Fall werden Monaden verwendet, im zweiten Fall wird ein Continuation-Passing-Stil verwendet).
Inwiefern unterscheidet sich die Arbeit von Scott von früheren Arbeiten in Bezug auf die Theorien selbst oder ihre möglichen Anwendungen?
Antworten:
Die Verwendung von CPS scheint in erster Linie dazu zu dienen, Berechnungen eine Gesamtreihenfolge aufzuerlegen, und dem Zugriff auf die Zufallsquelle eine Gesamtreihenfolge aufzuerlegen. Die Staatsmonade sollte es genauso gut machen.
Scotts "Zufallsvariablen" scheinen den "Stichprobenfunktionen" von Park in seiner operativen Semantik zu entsprechen . Die Technik der Transformation standardeinheitlicher Werte in Werte mit beliebiger Verteilung ist allgemein als inverse Transformationsabtastung bekannt .
Ich glaube, es gibt nur einen grundlegenden Unterschied zwischen Ramseys und Scotts Semantik. Ramsey interpretiert Programme als Berechnungen, die ein Maß für die Programmausgaben bilden. Scott's geht von einem einheitlichen Maß für Eingaben aus und interpretiert Programme als Transformationen dieser Eingaben. (Das Ausgabemaß kann im Prinzip unter Verwendung von Vorabbildern berechnet werden .) Scotts entspricht der Verwendung der Zufallsmonade in Haskell.
In seinem Gesamtansatz scheint Scotts Semantik der zweiten Hälfte meiner Dissertation über probabilistische Sprachen am ähnlichsten zu sein - mit der Ausnahme, dass ich mich an Werte erster Ordnung gehalten habe, anstatt eine clevere Codierung zu verwenden, unendliche Bäume von Zufallszahlen anstelle von Strömen verwendet und Programme als interpretiert habe Pfeilberechnungen. (Einer der Pfeile berechnet die Transformation vom festen Wahrscheinlichkeitsraum zu Programmausgaben; die anderen berechnen Vorbilder und ungefähre Vorbilder.) In Kapitel 7 meiner Dissertation wird erklärt, warum ich Programme als Transformationen eines festen Wahrscheinlichkeitsraums besser interpretiere als sie als Berechnungen zu interpretieren dass eine Maßnahme bauen. Im Grunde kommt es darauf an, "Fixpunkte von Maßnahmen sind viel komplizierter, aber wir verstehen Fixpunkte von Programmen ziemlich gut."
quelle