Cálculos lambda estocásticos de Scott

19

Recentemente, Dana Scott propôs o cálculo lambda estocástico, uma tentativa de introduzir elementos probabilísticos no cálculo lambda (sem tipo) com base em uma semântica chamada modelo gráfico. Você pode encontrar seus slides on-line, por exemplo, aqui e seu artigo no Journal of Applied Logic , vol. 12 (2014).

No entanto, em uma rápida pesquisa na Web, encontrei pesquisas anteriores semelhantes, por exemplo, as do sistema do tipo Hindley-Milner . A maneira como eles introduzem a semântica probabilística é semelhante à de Scott (no primeiro, eles usam mônadas, enquanto no segundo Scott usa o estilo de passagem de continuação).

De que maneira o trabalho de Scott é diferente do trabalho anterior disponível, em termos das próprias teorias ou de suas possíveis aplicações?

Pteromys
fonte
Como demorei um pouco para encontrá-lo, aqui está um link: sciencedirect.com/science/article/pii/S1570868314000238
Blaisorblade

Respostas:

15

Uma força aparente de sua abordagem é que ela permite que funções de ordem superior (ou seja, termos lambda) sejam resultados observáveis, o que geralmente mede a teoria que é bastante complicada. (O problema básico é que espaços de funções mensuráveis ​​geralmente não possuem álgebra de Borel para o qual a função de aplicativo - às vezes chamada de "eval" - é mensurável; veja a introdução ao artigo sobre estruturas de Borel para espaços de função .) Scott faz isso usando um Gödel que codifica de termos lambda para números naturais e trabalha diretamente com os termos codificados. Um ponto fraco dessa abordagem pode ser que a codificação pode ser difícil de ser estendida com números reais como valores de programa. (Editar: isso não é uma fraqueza - veja o comentário de Andrej abaixo.)σ

O uso do CPS parece ser principalmente para impor uma ordem total nos cálculos, impor uma ordem total ao acesso à fonte aleatória. A mônada estadual deve fazer o mesmo.

As "variáveis ​​aleatórias" de Scott parecem ser as mesmas que as "funções de amostragem" de Park em sua semântica operacional . A técnica de transformar valores uniformes padrão em valores com qualquer distribuição é mais amplamente conhecida como amostragem por transformação inversa .

Acredito que há apenas uma diferença fundamental entre a semântica de Ramsey e Scott. Ramsey interpreta programas como cálculos que constroem uma medida nas saídas do programa. Scott assume uma medida uniforme existente sobre insumos e interpreta os programas como transformações desses insumos. (A medida de saída pode, em princípio, ser calculada usando pré-imagens .) Scott é análogo ao uso da mônada aleatória em Haskell.

Em sua abordagem geral, a semântica de Scott parece mais semelhante à segunda metade da minha dissertação sobre linguagens probabilísticas - exceto que eu permaneci com valores de primeira ordem em vez de usar uma codificação inteligente, usei árvores infinitas de números aleatórios em vez de fluxos e interpretou programas como cálculos de flechas. (Uma das setas calcula a transformação do espaço de probabilidade fixo em saídas do programa; as outras calculam pré-imagens e pré-imagens aproximadas.) O capítulo 7 da minha dissertação explica por que acho que interpretar programas como transformações de um espaço de probabilidade fixo é melhor do que interpretá-los como cálculos que constroem uma medida. Basicamente, tudo se resume a "pontos de fixação de medidas são muito complicados, mas entendemos muito bem os pontos de fixação de programas".

Neil Toronto
fonte
3
λλλ
11
@ Martin: Eu realmente não posso responder tão rapidamente porque não sei muito sobre cálculo de processos, mas parece que valeria a pena investigar. Eu ficaria curioso para saber como são as propriedades dos cálculos do processo após a transferência e se as propriedades transferidas podem ser aproveitadas de alguma maneira.
Neil Toronto
2
T0 0λ
@ Andrej: Então, estender a codificação com números reais não deve ser um problema, então?
Neil Toronto
11
λλ