Skip to content
 
 

Latest commit

 

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Programación III - Inteligencia Artificial y Algoritmos de Búsqueda

Universidad: Universidad Nacional de Rosario • Materia: Programación III • Lenguaje: Python 3.10+ • Biblioteca gráfica: Pygame


📋 Descripción

Este repositorio reúne los dos trabajos prácticos desarrollados para la materia Programación III de la Universidad Nacional de Rosario.

Ambos proyectos abordan problemas clásicos de Inteligencia Artificial, implementando algoritmos de búsqueda y toma de decisiones con una interfaz gráfica desarrollada en Pygame.

Los proyectos fueron realizados de forma grupal y permiten visualizar el funcionamiento interno de los algoritmos mediante animaciones e interacción con el usuario.


📂 Proyectos

1. Pathfinding - Algoritmos de Búsqueda

Implementación y visualización de distintos algoritmos clásicos de búsqueda sobre grafos aplicados al problema de búsqueda de caminos.

Pathfinding

Algoritmos implementados

  • Depth First Search (DFS)
  • Breadth First Search (BFS)
  • Uniform Cost Search (UCS)
  • Greedy Best First Search (GBFS)
  • A* Search

Características

  • Visualización paso a paso de la exploración.
  • Comparación entre algoritmos.
  • Generación de laberintos.
  • Interfaz gráfica con Pygame.
  • Arquitectura modular.

📄 Documentación completa: 👉 pathfinding/README.md


2. Tateti - Inteligencia Artificial con Minimax

Implementación del juego Tateti (Tres en línea) incorporando una inteligencia artificial basada en el algoritmo Minimax.

Tateti

Características

  • Implementación del algoritmo Minimax.

  • Interfaz gráfica desarrollada con Pygame.

  • Tres modos de juego:

    • Humano vs Humano
    • Humano vs IA
    • IA vs IA
  • Arquitectura modular.

  • Pruebas unitarias.

📄 Documentación completa: 👉 tateti/README.md


🧠 Conceptos abordados

  • Inteligencia Artificial
  • Espacio de estados
  • Problemas de búsqueda
  • Algoritmos de búsqueda informados y no informados
  • Teoría de juegos
  • Algoritmo Minimax
  • Heurísticas
  • Representación de grafos
  • Estructuras de datos
  • Programación orientada a objetos
  • Desarrollo de interfaces gráficas con Pygame

🛠 Tecnologías utilizadas

  • Python 3.10+
  • Pygame
  • Programación Orientada a Objetos
  • Git
  • GitHub

📁 Estructura del repositorio

pathfinding-and-tictactoe-ai/
├── assets/
│   ├── gifs/
│   ├── pathfinding/
│   └── tateti/
├── pathfinding/
│   ├── README.md
│   └── ...
├── tateti/
│   ├── README.md
│   └── ...
└── README.md

🚀 Instalación

1. Clonar el repositorio

git clone https://github.com/A6u5/pathfinding-and-tictactoe-ai.git

2. Acceder al repositorio

cd pathfinding-and-tictactoe-ai

Cada proyecto posee su propio archivo README.md con las instrucciones de instalación y ejecución.

  • 📄 Pathfinding → pathfinding/README.md
  • 📄 Tateti → tateti/README.md

👥 Integrantes


📚 Bibliografía

  • Russell, S. & Norvig, P. Artificial Intelligence: A Modern Approach.
  • Material de la cátedra de Programación III.

About

Implementación de algoritmos clásicos de Inteligencia Artificial en Python: Pathfinding (DFS, BFS, UCS, GBFS y A) y Tateti con Minimax. Trabajo práctico de Programación III (UNR).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages