Autores : Enrico Trombetta, Francesco Perrone
Na ciência da computação teórica, um sistema de transição é um conceito usado no estudo da computação. É usado para descrever o comportamento potencial de sistemas discretos. Consiste em estados e transições entre estados, que podem ser rotulados com rótulos escolhidos em um conjunto; o mesmo rótulo pode aparecer em mais de uma transição. Se o conjunto de rótulos for um singleton, o sistema é essencialmente não rotulado e é possível uma definição mais simples que omite os rótulos.
Retirado da Wikipédia.
Este é o cenário em que comecei a trabalhar:
O problema envolve dois agentes, Hal e Carla. Hal, diabético, perdeu a insulina por acidente e precisa tomar urgentemente alguma para se manter vivo. Ele não tem tempo para comprar um novo estoque, mas sabe que Carla guarda um pouco de insulina em casa, bem perto. Hal não tem permissão para acessar a propriedade de Carla, além de Hal saber que Carla também é diabética e ele pode estar colocando a vida dela em perigo ao roubar seu suprimento. Por outro lado, Hal acredita que Carla poderá comprar insulina mais tarde.
Uma breve discussão sobre este cenário pode ser encontrada em notes/LTS_insulin.pdf
(a fonte LaTex está disponível na pasta src
).
Um esboço de implementação é fornecido em src/LTS.pl
no Prolog (em particular, decidimos adotar o SWI Prolog).
Para invocar um caminho, carregue a base de conhecimento no interpretador, carregue o estado inicial e execute um caminho.
Por exemplo:
?- [LTS].
initial_state ( InitialState ), path( InitialState , Path ) .
InitialState = . ..
Path = . ..
[And a bunch of alternative paths]
true .
?- initial_state(InitialState), export_tree("tree.csv", InitialState).
InitialState = . ..
true .
O último comando deve escrever uma lista csv de cada caminho. O formato está documentado em src/LTS.pl
, mas deve ser (espero) bastante simples.
Marco:
[] Conclua a implementação LTS da função de árvore.
[] Implementar um analisador
[ ] Melhorar a discussão do LTS
[] Adicione rótulos às transições.
[ ] ...