Giter VIP home page Giter VIP logo

sia-tp1's Introduction

Instituto Tecnologico de Buenos Aires

Sistemas de Inteligencia Artificial

Trabajo Practico 1

Metodos de busqueda Desinformados e Informados

Objetivos

Se debera crear un generador de soluciones para el juego Sokoban.

Descripcion del juego

Se busca minimizar la cantidad de movimientos para resolver los escenarios del Sokoban. Este juego sucede en un tablero con casilleros (discreto) de dos dimensiones. Se cuenta con un jugador, paredes, cajas y objetivos. La cantidad de cajas equivale a la cantidad de objetivos. El jugador podra moverse en cualquiera de las 4 direcciones, siempre que no se encuentre una pared. El jugador puede empujar las cajas, pero no tirar de ellas. Una caja A consecutiva a otra caja B se comporta como una pared si es empujada en la direccion y sentido A →B . Un escenario se encontrara resuelto cuando todas las cajas se encuentren en un objetivo. Ejemplo. URL

Descripcion del trabajo

Se debera realizar lo siguiente:

  • Implementacion de las estrategias de busqueda no informadas: Depth-First Search, Breadth-First Search e Iterative Deepening Depth-First Search.
  • Implementacion de las estrategias de busquedas informadas: Global Greedy Search, A* e Iterative Deepening A*.
  • Desarrollo de al menos 3 heurısticas. Dichas heurısticas deben ser no triviales y al menos dos de ellas deben ser admisibles. De haber una heurıstica no admisible, se debera contar con una justificacion valida para su inclusion y los casos de uso. El sistema debe poder ejecutar la busqueda utilizando cualquiera de ellas.
  • Implementacion de una funcion de costo.
  • Para configurar los diferentes parametros del problema, deberan contar con la lectura de un archivo de configuracion.
  • El sistema debe exponer como resultado:
    • Parametros con los que se realizo la busqueda.
    • El resultado de la busqueda (exito/fracaso).
    • La profundidad de la solucion.
    • El costo obtenido de la solucion.
    • Cantidad de nodos expandidos (al finalizar).
    • Cantidad de nodos frontera (al finalizar).
    • Solucion (estado inicial + estados intermedios + estado final)
    • Tiempo de procesamiento.

No esta permitido el uso de librerıas externas sin el consentimiento de la catedra.

Repositorio

Cada grupo contara con un repositorio para la entrega del trabajo, donde debe encontrarse todo el material entregado. La direccion de acceso tambien se publicara en el campus. Generar una carpeta para el TP1 dentro del repositorio. De esta forma, podremos ordenadamente agregar carpetas con las entregas siguientes.

Forma de entrega

  • Crear el tag TP1 (respetar las mayusculas) en el repositorio con el trabajo completo. Los contenidos deben contar con:
    • Todo lo mencionado en la seccion Descripcion del trabajo.
    • Codigo fuente del trabajo.
    • Binarios ejecutables (incluyendo librerıas, plugins y todo lo necesario para su funcionamiento).
    • Documento de la presentacion oral (ppt, pps, pdf, etc.)
    • Un README con la descripcion detallada de los procedimientos para compilar y ejecutar el sistema; y al menos dos configuraciones de ejecucion que se crean oportunas.

Presentacion oral

Cada grupo realizara una presentacion oral de 15 minutos (como maximo), donde resumira el trabajo realizado, detallara los resultados obtenidos y explicara las conclusiones a las que llego. Ademas deberan responder las preguntas que los docentes formulen. Los docentes podran pedir que se hagan corridas en vivo modificando cualquier parametro del programa. No incluir la descripcion del juego en la presentacion. Todos los alumnos del grupo deberan participar equitativamente de la presentacion.

Fecha y horario de entrega

Entrega digital: 7 de Abril del 2020 a las 08:59hs Presentacion oral: 7 de Abril del 2020 a las 09:00hs

sia-tp1's People

Contributors

shipupi avatar

Watchers

James Cloos avatar  avatar

Forkers

marinafuster

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.