Skip to content

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

Notifications You must be signed in to change notification settings

euyogi/Prototipo-LightsOutPDDL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 

Repository files navigation

Prototipo-LightsOutPDDL

Header

Este é um programa em que ele lê da entrada padrão um mapa do puzzle lights-out no seguinte estilo:

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

About

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

Topics

Resources

Stars

Watchers

Forks