IIC2613-Inteligencia-Artificial-2024-1 / Syllabus

Syllabus oficial del curso para su rendición 2024-1.
MIT License
46 stars 0 forks source link

[T3] Pregunta 3: Resultados de usar algoritmo MiniMax como blanca #40

Closed Francisco-Aguilera-xd closed 3 months ago

Francisco-Aguilera-xd commented 3 months ago

Hola! Me está pasando que en la pregunta 3, tanto en la pregunta 3.1 y 3.2, si las blancas juegan con el algoritmo MiniMax, siempre gana, independiente de la profundidad que tenga e independiente del oponente. He simulado bastantes partidas del algoritmo MiniMax jugando como blanca con varias profundidades, y no ha perdido ni una partida, ya sea jugando contra otras MiniMax o jugando contra el Montecarlo. ¿Por qué está ocurriendo esto? Según lo visto en clases, si un MiniMax de profundidad 1 se enfrenta a uno de profundidad 3, debiese ganar más el de profundidad 3, pero esto no me está ocurriendo.

Quedo atento

dfloreaa commented 3 months ago

Hola, aparentemente minimax trata de maximizar en ambos lados debido a un error en los parametros entregados para max_player y min_player.

Eso es lo que puedo ver de primeras en la implementacion entregada, lo conversare con el equipo de ayudantes. Si deseas puedes arreglarlo y hacer reportes con eso en consideracion.

Un saludo y disculpas

dfloreaa commented 3 months ago

En la implementacion de main(), el blanco deberia entregar max_player = True, min_player = False y el negro lo contrario (comenzando minimizando en lugar de maximizando).

Eso deberia corregirlo.

Rodrijzs commented 3 months ago

Hola, tengo el mismo problema y no entiendo bien donde hay que cambiar las variables, en el main no hay ningún max_player o min_player podrían indicar las líneas exactas donde se deben realizar los cambios o subir el código corregido? Gracias!

Francisco-Aguilera-xd commented 3 months ago

Traté de hacer algunos cambios, pero ninguno arregla el error. Podrías mandar una foto de lo que hay que cambiar?

mpiavf commented 3 months ago

Hola, yo también tengo el mismo problema. He intentado cambiando hartas cosas, pero no llego a nada. ¿Qué líneas hay que cambiar para que funcione? Graciass!

Francisco-Aguilera-xd commented 3 months ago

Estuve revisando más el código de la parte de DCCheckers, y pareciera que estuviera incompleto, como que le faltasen cosas por implementar fuera del enunciado de la tarea. Dado a que la entrega es mañana, ¿Se nos va a entregar el código corregido dandonos más plazo para la tarea, o mejor contestamos la tarea con el código actual refiriendonos a los problemas que trae?

Naktraker commented 3 months ago

Hola! lamentablemente he tenido el mismo problema que mis compañeros de arriba. Qué se puede hacer en ese caso? Porque personalmente cuando empecé a hacer la p3, me demoró mucho tiempo hacer las más de 30 simulaciones necesarias, y no se si alcance el tiempo a realizarlo de nuevo. Puesto que según al indicación de más arriba, entiendo que lo que se debe cambiar es:

Para max_player:

evaluation = minimax(move, depth-1, False, min_player, game, alphabeta, alpha, beta)[0] (antiguo)

        evaluation = minimax(move, depth-1, False, True, game, alphabeta, alpha, beta)[0] (nuevo)

Para min_player:

evaluation = minimax(move, depth-1, True, min_player, game, alphabeta, alpha, beta)[0] (antiguo)

        evaluation = minimax(move, depth-1, True, False, game, alphabeta, alpha, beta)[0]  (nuevo)

No obstante, si bien, considero que el programa funciona bien, no tengo la certeza de que, efectivamente aquel era el cambio que se debía realizar. Por lo que personalmente prefiero comenzar la pregunta nuevamente, una vez tenga la confirmación.

De antemano muchas gracias

isufan commented 3 months ago

Hola, me sumo a las dudas de mis compañeros. En la 3.2, para una misma comparación de profundidades (por ejemplo 5v1), hago que en la mitad de los tests las blancas tengan profundidad 1 y luego para la otra mitad tengan profundidad 5, y en todos los tests ganan las blancas (y lo mismo para 1v3 y 3v5), por lo que no sabría sacar buenas conclusiones a partir de eso.

MartinAracena commented 3 months ago

Lo mismo, estuve haciendo las pruebas en el dia, y asumia que tenia que ver con la ventaja de las piezas blancas, pero luego me di cuenta que eso no deberia ser asi.

cstappung commented 3 months ago

Hola! Al final que se hace con este problema? Estoy igual que el resto.