Espero que esto no sea una pregunta demasiado arbitraria, pero he estado revisando los códigos fuente de Faile y TSCP y los he jugado uno contra el otro. Por lo que puedo ver, los motores tienen mucho en común, pero Faile busca ~ 1.3 millones de nodos por segundo mientras que TSCP busca solo 300k nodos por segundo.¿Por qué Faile es mucho más rápido que el Simple Chess Program (TSCP)? (Optimización del motor de ajedrez)
El código fuente para faile se puede encontrar aquí: http://faile.sourceforge.net/download.php. El código fuente de TSCP se puede encontrar aquí: http://www.tckerrigan.com/Chess/TSCP.
Después de mirar a través de ellos veo algunas similitudes: ambos usan una representación de matriz (aunque Faile usa una placa de tamaño 144), ambos usan una búsqueda alpha beta con algún tipo de tabla de transposición, ambos tienen funciones de evaluación muy similares. La principal diferencia que puedo encontrar es que Faile usa una representación redundante del tablero al tener también matrices de las ubicaciones de las piezas. Esto significa que cuando se generan movimientos (por funciones muy similares para ambos programas), Faile tiene que pasar por un ciclo de menos piezas malas, mientras que mantener esta matriz cuesta considerablemente menos recursos.
Mi pregunta es: ¿por qué hay una diferencia 4x en la velocidad de estos dos programas? Además, ¿por qué Faile constantemente vence al TSCP (estimo una diferencia de ~ 200 ELO simplemente observando sus movimientos)? Para el último, parece ser porque Faile está buscando varias capas más profundas.
Gracias por la respuesta. Puedo compartir algunas investigaciones que hice en el mientras tanto.Creo que encontré que tal vez la razón más importante, mientras que lo que dijiste es una buena razón, es que si bien parece que al principio TSCP está usando tablas de transposición, en realidad no es así. Crea una clave Zobrist pero solo la usa para dibujar por repetición. Esto significa que potencialmente analiza algunas posiciones muchas veces. Según lo que he leído, las tablas de transposición pueden componer un aumento de rendimiento de 3-4x. –