Skip to content

creisidoggu/RPS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Práctica Agentes Inteligentes

1. Especificación del entorno de tareas

Observable Agentes Determinista Episódico Estático Discreto Conocido
Parcial Multiagente Estocástico Secuencial Estático Discreto Conocido
  • Parcialmente observable, ya que el agente no tiene un acceso total al estado del entorno ya que no se le muestra lo que el jugador va a sacar antes de sacarlo.

  • Multiagente, porque el agente jugando al RPS es un entorno competitivo de dos agentes en el que uno es el modelo y el otro es su contrincante a batir.

  • Estocástico, ya que no hay un siguiente estado del entorno al realizar la primera acción.

  • Secuencial, ya que la decisión que se tome en esta modificará la siguiente decisión del agente puesto que recopilará los datos de las partidas.

  • Estático, ya que no hay cambios ni en el entorno ni en la decisión del agente.

  • Discreto, ya que el estado del entorno y la manera en la que el tiempo es manejado se basa de manera no continua ya que es un juego por turnos.

  • Conocido, ya que el entorno es unica y exclusivamente el RPS y nada más.

2. Identificación del tipo de agente y estructura

El modelo a utilizar es considerado un Agente reactivo basado en modelos ya que para jugar utiliza información previamente recopilada para sus decisiones futuras.

Agente basado en modelos

  1. player_data es un archivo json en el que el agente recopila información de los anteriores estados de la partida haciendo una suma de las veces que usó cada opción.

  2. load_save_data y write_save_data son funciones para acceder y escribir sobre ese archivo player_data haciendo así la memoria del agente inteligente.

  3. asses_game es la función de condición del estado de la partida para los agentes haciendo que se pueda ganar, perder o empatar dependiendo de la opción elegida.

  4. get_computer_action es la función condición que decide la acción que usará el agente, en caso de que no haya datos guardados usará random la primera vez y en base a las siguientes veces irá recopilando datos que luego se guardarán en la memoria.

3. Ampliación de RPS+ls

Añadida la funcionalidad de Lagarto [3] y Spock [4], además de un menú de selección previo para seleccionar la modalidad a jugar

4. Instalación

Este proyecto no requiere de ningún tipo de instalación a mayores que la del propio proyecto.

git clone https://github.com/creisidoggu/RPS.git

About

Agente para el juego de Piedra Papel Tijeras (Rock Paper Scissors)

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages