Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/euyogi/prototipo-lightsoutpddl

Exemplo de programa que utiliza planejadores PDDL para resolver um problema. lights-out💡💡
https://github.com/euyogi/prototipo-lightsoutpddl

ia ipc lights-out lights-out-game madagascar pddl planning

Last synced: about 2 months ago
JSON representation

Exemplo de programa que utiliza planejadores PDDL para resolver um problema. lights-out💡💡

Awesome Lists containing this project

README

        

# Prototipo-LightsOutPDDL

Header

Este Ă© um programa em que ele lĂŞ da entrada padrĂŁo um mapa do puzzle lights-out no seguinte estilo:

```python
DLD
LdL
DLD
```

Representando o seguinte mapa do jogo:

Imagem do mapa

E o programa dirá as respectivas células que devem ser clicadas para resolver o puzzle com base no plano gerado
por um planejador PDDL, nesse caso o plano terá apenas um passo e será (1, 1).

Mapa:

No mapa D representa uma célula desligada, d uma célula desligada com uma lâmpada quebrada, L uma célula ligada, l uma célula ligada com uma lâmpada quebrada.

No jogo, ao clicar em uma célula desligada ou ligada, esta e as adjascentes serão invertidas.
No caso de clicar em uma quebrada as adjascentes serĂŁo invertidas mas a clicada nĂŁo.

O puzzle esta resolvido quando todas as células estão desligadas.

Funcionamento:

Para funcionar é necessário um planejador PDDL, e nesse caso como extraio cada passo do plano gerado, só funcionará com o
planejador Madagascar. Porém, ajustes na leitura do plano podem ser feitos para se adaptar a outro planejador.

Também é necessário especificar o caminho correspondente do planejador no código.

Para executar o programa também é necessário compilá-lo em um .exe com um compilador C++ após as mudanças acima terem sido realizadas.

Para executar o validador é necessário remover as linhas em que os arquivos problema e plano são removidos, pois ele faz a validação
do plano gerado a partir desses dois arquivos.

Performance:

Está ajustado para resolver os planos de forma rápida, assim não necessariamente teremos planos ótimos (menor quantidade de passos possível)
mas em compensação a geração dos planos não deve demorar muito com o crescimento da complexidade dos mapas.


Feito por: Yogi Nam de Souza Barbosa

Footer