Code Monkey home page Code Monkey logo

ufla-ia-jogo-dos-8's Introduction

Jogo dos 8

Este projeto é um trabalho realizado pelos alunos Gustavo Rodrigues Sousa e Luiz Carlos Coelho Conde para a disciplina de Inteligência Artificial ministrada pelo professor Ahmed Ali Abdalla Esmin pelo DCC da UFLA no primeiro semestre de 2020.

Requisitos

Para executar este programa, é necessário ter o Python instalado (versão 3 ou acima), PIP e a biblioteca PyGame

Com o python instalado, execute:

pip install pygame

Para instalar a biblioteca PyGame

Executar

Para executar o programa:

python jogo_dos_8.py

ou

python3 jogo_dos_8.py

Caso você tenha mais de uma versão do python instaladas.

Instruções

Na interface gráfica, o usuário pode clicar nos botões para escolher qual algoritmo a I.A. deverá executar para solucionar o problema. Antes de cada nova tentativa, é necessário reiniciar o problema com um dos 4 botões de "Novo Jogo" escolhendo quantas movimentações de embaralhamento devem ser feitas.

O botão "Reverter tudo" faz com que o jogo retorne ao estado inicial voltando na pilha de ações que são armazenadas.

Em "Resolver com heurística" o jogo será resolvido pelo método heurístico que geralmente é bem mais rápido mas não oferece a resposta otimizada.

Já com "Resolver usando BFS" a resolução será obtida com busca em largura, garantindo asua otimalidade porém pode levar mais tempo.

Resultados

Testando 3 jogos de 12 movimentos em cada algoritmo, obteve-se os seguintes resultados:

A heurística levou 30ms, 4ms e 80ms com média de 38ms.

A BFS levou 21055ms, 30375ms e 78387ms com média de 43272ms.

Porém em alguns casos a heurística pode ficar por tempo indeterminado executando até que ache um resultado, o que torna impraticável a espera.

Heurística BFS
30ms 21055ms
4ms 30375ms
38ms 78387ms

Testes feitos em um processador Intel Core i7-3770k.

Problemas encontrados

  • No Windows o jogo pode aparecer como "Não respondendo" em algum momento, mas ele continua executando mesmo assim, pra isso é só esperar um pouco.
  • Tentamos adicionar threads para evitar que a heurística fosse executada por tempo indeterminado, mas não adiantou muito.

Desinstalar o PyGame

pip uninstall pygame

ufla-ia-jogo-dos-8's People

Contributors

luizcoelhoc1 avatar

Watchers

Gustavo Sousa avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.