Escribo una IA para un juego de cartas y después de algunas pruebas descubro que el uso de MTD (f) en mi algoritmo alfa beta - una serie de búsquedas en la ventana cero - es más rápido que simplemente usar alfa-beta por sí mismo.Cómo usar tablas de transposición con MTD (f)
La DMT (f) algoritmo se describe bien aquí http://people.csail.mit.edu/plaat/mtdf.html
El problema que tengo es que para cada pasada en el MTD (f) de búsqueda (por cada una conjetura) que no vuelva a usar cualquiera de las posiciones anteriores He almacenado aunque la escritura en el enlace sugiere que debería (de hecho, borrar la tabla entre iteraciones acelera el algoritmo).
Mi problema es que cuando almaceno una posición y un valor en mi tabla de transposición, también almaceno los valores alfa y beta para los que es válido. Por lo tanto, un segundo pase a través del árbol con una conjetura diferente (y, por lo tanto, alfa y beta) no puede reutilizar ninguna información. ¿Es esto lo que se espera o me estoy perdiendo algo fundamental aquí?
Por ejemplo, si para alpha = 3 beta = 4 llegamos a un resultado de 7 (obviamente un punto de corte) ¿debo guardar eso en la tabla como válido para alpha = 3 a beta = 6? O beta = 7?
Gracias, esto es exactamente lo que estaba buscando y ha taponado algunos huecos en mi comprensión. – Daniel
Creo que también es necesario para demostrar de alguna manera que no invalida la suposición alfa/beta para usar los valores tt de una búsqueda más profunda. Al menos si quieres plena potencia. –