Hasta donde entiendo, a grandes rasgos, los motores de ajedrez funcionan de la siguiente manera:
- calcular todas las variaciones posibles (árbol de juego) hasta cierta profundidad
- evaluar la posición final en función de algunos criterios (material, actividad de la pieza ...)
- basado en esta evaluación, decida cuál es la mejor jugada
Entiendo completamente que para tener un motor eficiente hay formas de podar ciertas líneas, limitando la profundidad, etc. Pero esta no es mi pregunta.
La pregunta es: ¿Hay algún intento alternativo de programar un motor de ajedrez (no necesariamente fuerte, pero tampoco aleatorio) que no siga este esquema?