I calcoli lambda stocastici di Scott


19

Di recente, Dana Scott ha proposto un calcolo lambda stocastico, un tentativo di introdurre elementi probabilistici nel calcolo lambda (non tipizzato) basato su una semantica chiamata modello grafico. Puoi trovare le sue diapositive on line ad esempio qui e il suo articolo nel Journal of Applied Logic , vol. 12 (2014).

Tuttavia, tramite una rapida ricerca sul Web, ho trovato ricerche simili simili, ad esempio, per il sistema di tipo Hindley-Milner . Il modo in cui introducono la semantica probabilistica è simile a quello di Scott (nel primo, usano le monadi, mentre nel secondo Scott usa lo stile del passaggio di continuazione).

In che modo il lavoro di Scott è diverso da quello precedente disponibile, in termini di teorie stesse o delle loro possibili applicazioni?


Dal momento che ci ho messo un po 'a trovarlo, ecco un link: sciencedirect.com/science/article/pii/S1570868314000238
Blaisorblade

Risposte:


15

Un punto di forza apparente del suo approccio è che consente a funzioni di ordine superiore (cioè termini lambda) di essere risultati osservabili, che la teoria della misura rende generalmente piuttosto complicata. (Il problema di base è che gli spazi delle funzioni misurabili generalmente non hanno Borel -algebra per i quali la funzione dell'applicazione - a volte chiamata "eval" - è misurabile; vedere l'introduzione alla struttura delle strutture Borel per gli spazi delle funzioni .) Scott lo fa usando una Gödel che codifica da termini lambda a numeri naturali e che lavora direttamente con i termini codificati. Un punto debole di questo approccio potrebbe essere che la codifica potrebbe essere difficile da estendere con numeri reali come valori di programma. (Modifica: questa non è una debolezza - vedi il commento di Andrej di seguito.)σ

L'uso di CPS sembra essere principalmente per imporre un ordine totale sui calcoli, per imporre un ordine totale sull'accesso alla fonte casuale. Anche la monade statale dovrebbe fare altrettanto.

Le "variabili casuali" di Scott sembrano essere le stesse delle "funzioni di campionamento" di Park nella sua semantica operativa . La tecnica di trasformare valori uniformi standard in valori con qualsiasi distribuzione è più ampiamente nota come campionamento di trasformazioni inverse .

Credo che ci sia solo una differenza fondamentale tra la semantica di Ramsey e quella di Scott. Ramsey interpreta i programmi come calcoli che costruiscono una misura sugli output del programma. Scott's assume una misura uniforme esistente sugli input e interpreta i programmi come trasformazioni di tali input. (In linea di principio, la misura di output può essere calcolata usando pre-immagini .) Scott's è analogo all'uso della monade casuale in Haskell.

Nel suo approccio generale, la semantica di Scott sembra molto simile alla seconda metà della mia tesi sui linguaggi probabilistici - tranne che mi sono bloccato con i valori del primo ordine invece di usare una codifica intelligente, ho usato infiniti alberi di numeri casuali invece di flussi e interpretato i programmi come calcoli con le frecce. (Una delle frecce calcola la trasformazione dallo spazio di probabilità fisso in output di programma; le altre calcolano preimmagini e preimmagini approssimative.) Il capitolo 7 della mia tesi spiega perché penso che interpretare i programmi come trasformazioni di uno spazio di probabilità fisso sia meglio che interpretarli come calcoli che costruisce una misura. Fondamentalmente si riduce a "punti fissi di misure sono molto complicati, ma capiamo abbastanza bene punti fissi di programmi".


3
Domanda veloce: ci sono molti calcoli di processo probabilistici. È noto che -calculi può essere incorporato con precisione nei calcoli di processo (sto semplificando un po '), seguendo le pioneristiche funzioni di Milner come processi . Se usiamo le tecniche di Milner per incorporare un -calculus in un calcolo del processo probabilistico, otteniamo un -calculus probabilistico . Quale sarebbe la relazione tra questo e l'approccio di Scott? λλλλ
Martin Berger,

1
@Martin: Non riesco davvero a rispondere così velocemente perché non so molto sui calcoli di processo, ma sembra che varrebbe la pena esaminarlo. Sarei curioso di sapere che aspetto hanno le proprietà dei calcoli di processo dopo averle trasferite e se le proprietà trasferite potrebbero essere sfruttate in qualche modo.
Neil Toronto,

2
Ogni spazio basato sulla incorpora nel modello grafico. Tramite questo incorporamento possiamo quindi sposare felicemente -calculus con la topologia e calcolare, diciamo, numeri reali. L'incorporamento è abbastanza naturale: un punto è rappresentato dal filtro dei suoi quartieri di base. λT0λ
Andrej Bauer,

@Andrej: Quindi estendere la codifica con numeri reali non dovrebbe essere un problema, allora?
Neil Toronto,

1
@NeilToronto Sì, è un argomento interessante. Esiste un gran numero di diversi calcoli di processo e diversi modi per renderli stocastici. Esistono anche diversi modi per codificare -calculus. Il preciso stocastico su arriva riflettendo la codifica dipenderebbe da tutti questi dettagli. λλλ
Martin Berger,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.