IIC2613-Inteligencia-Artificial-2023-1 / Syllabus

Repositorio base del curso, donde se publicarán enunciados, ayudantías y se resolverán dudas.
39 stars 1 forks source link

Duda algoritmo Minimax #55

Closed mati-gonz closed 1 year ago

mati-gonz commented 1 year ago

Hola! Tengo un par de dudas con respecto a las partes 2.1 y 2.2 de la tarea. Lo que pasa es que mi juego esta corriendo creo que bien, ya que si pongo a la máquina a correr Minimax vs Minimax con distintos IQ gana el de mayor IQ, y no crashea ni nada. Pero me surge la duda, de ¿Cómo sé si mi algoritmo está correctamente implementado? A lo que voy es que, quizás funciona porque sí, pero no sé si implemente bien el Minimax, ¿hay alguna forma en que pueda corroborar esto? Tampoco sé si habré implementado bien la poda, no sé cómo corroborarlo.

Otra duda que tengo es ¿Cuál es el máximo valor IQ que le puedo asignar? Probé asignar 8 pero se me crasheo, no sé si porque mi algoritmo está malo y entra a un loop, o porque IQ 8 es mucha recursión.

CGR0 commented 1 year ago

Hola! La verdad es que es difícil que tu algoritmo funcione por que sí. Mientras estes implementando la idea del algoritmo que se vió en clases no debería haber problema, pero si todavía sigues con la duda puedes apagar la visualización e ir analizando los movimientos que se realizan con minimax y si los movimientos llegan a tener sentido (si se hacen movimientos mas allá de los movimientos aleatorios de random y considerando el IQ asignado) no debieras preocuparte.

Respecto a si las podas están bien simplemente tienes que ver si la eficiencia del algoritmo mejora y no debiera empeorar el desempeño en el juego.

Por último, que tu juego crashee cuando le pones un IQ de 8 es totalmente normal, ya que el algoritmo minimax crea un árbol con posibles jugadas al futuro y tu estás haciendo un árbol de profundidad 8 y pueden haber hasta 26 nodos hijos de un solo nodo. Esto resulta en un trabajo enorme para un computador por lo que es normal que crashee, ya que el IQ que asignaste es bastante grande.

Espero haberte ayudado!