Récemment, Dana Scott a proposé le calcul lambda stochastique, une tentative d'introduire des éléments probabilistes dans le calcul lambda (non typé) basé sur une sémantique appelée modèle graphique. Vous pouvez retrouver ses slides en ligne par exemple ici et son article dans Journal of Applied Logic , vol. 12 (2014).
Cependant, par une recherche rapide sur le Web, j'ai trouvé des recherches antérieures similaires, par exemple, que pour le système de type Hindley-Milner . La façon dont ils introduisent la sémantique probabiliste est similaire à celle de Scott (dans le premier, ils utilisent des monades tandis que dans le second, Scott utilise un style de passage de continuation).
En quoi le travail de Scott est-il différent du travail précédent, en termes de théories elles-mêmes ou de leurs applications possibles?
Réponses:
L'utilisation de CPS semble être principalement pour imposer un ordre total sur les calculs, pour imposer un ordre total sur l'accès à la source aléatoire. La monade d'État devrait faire de même.
Les «variables aléatoires» de Scott semblent être les mêmes que les «fonctions d'échantillonnage» de Park dans sa sémantique opérationnelle . La technique de transformation des valeurs standard uniformes en valeurs avec n'importe quelle distribution est plus largement connue sous le nom d' échantillonnage à transformée inverse .
Je crois qu'il n'y a qu'une différence fondamentale entre la sémantique de Ramsey et de Scott. Ramsey interprète les programmes comme des calculs qui construisent une mesure sur les résultats du programme. Scott's suppose une mesure uniforme existante sur les entrées et interprète les programmes comme des transformations de ces entrées. (La mesure de sortie peut en principe être calculée à l'aide de préimages .) Scott est analogue à l'utilisation de la monade aléatoire dans Haskell.
Dans son approche globale, la sémantique de Scott semble plus similaire à la seconde moitié de ma thèse sur les langages probabilistes - sauf que je suis resté avec des valeurs de premier ordre au lieu d'utiliser un encodage intelligent, utilisé des arbres infinis de nombres aléatoires au lieu de flux et interprété des programmes comme calculs des flèches. (L'une des flèches calcule la transformation de l'espace de probabilité fixe en sorties de programme; les autres calculent les préimages et les préimages approximatives.) Le chapitre 7 de ma thèse explique pourquoi je pense qu'il est préférable d'interpréter les programmes comme des transformations d'un espace de probabilité fixe que de les interpréter comme des calculs qui construisent une mesure. Cela revient essentiellement à "les points fixes des mesures sont bien compliqués, mais nous comprenons assez bien les points fixes des programmes."
la source