Recorte alfa beta

La poda alfa- beta es un  algoritmo de búsqueda que busca reducir el número de nodos evaluados en un árbol de búsqueda por el algoritmo minimax . Diseñado para juegos antagónicos y usado para juegos de máquina (en computadora ajedrez , computadora go y otros). El algoritmo se basa en la idea de que la evaluación de una rama del árbol de búsqueda puede finalizar prematuramente (sin calcular todos los valores de la función de evaluación) si se encuentra que el valor de la función de evaluación para esta rama está en en todo caso peor que el calculado para el ramal anterior. La poda alfa-beta es una optimización porque no afecta la corrección del algoritmo.

Historia

Allen Newell y Herbert Simon , usando lo que John McCarthy llamó una "aproximación" [1] en 1958, escribieron que la poda alfa-beta " parece haber sido inventada repetidamente " [2] . Arthur Samuel , Richards, Hart, Levin, Edwards propusieron de forma independiente las primeras versiones de este algoritmo [3] . McCarthy también presentó ideas similares en el Seminario de Dartmouth en 1956, y luego, en 1961, propuso a un grupo de sus estudiantes en el MIT , incluido Alan Kotok [4] , para la investigación . Alexander Brudno descubrió el algoritmo de forma independiente y publicó sus resultados en 1963 [5] . En 1975, Donald Knuth y Ronald Moore mejoraron el algoritmo agregando la poda "beta" [6] [7] .

Optimización minimax

La ventaja de la poda alfa-beta es, de hecho, que algunas de las ramas de subnivel del árbol de búsqueda se pueden excluir después de que al menos una de las ramas de nivel se haya considerado en su totalidad. Dado que el recorte se produce en todos los niveles de anidamiento (excepto en el último), el efecto puede ser bastante significativo. La eficiencia del método se ve significativamente afectada por la clasificación preliminar de opciones (sin enumeración o con enumeración a menor profundidad): al clasificar, cuantas más opciones "buenas" se consideren al principio, más ramas "malas" se pueden cortar sin un análisis exhaustivo.

Notas

  1. McCarthy J. Human Level AI es más difícil de lo que parecía en 1955 (LaTeX2HTML 27 de noviembre de 2006). Fecha de acceso: 20 de diciembre de 2006. Archivado desde el original el 8 de abril de 2012.
  2. Newell A. , Simon HA Computer Science as Empirical Inquiry: Symbols and Search  //  Communications of the ACM, vol. 19, núm. 3: diario. - 1976. - Marzo. Archivado desde el original el 28 de junio de 2007.
  3. Richards DJ, Hart TP La heurística alfa-beta (AIM-030) . Instituto de Tecnología de Massachusetts (4 de diciembre de 1961 al 28 de octubre de 1963). Consultado el 21 de diciembre de 2006. Archivado desde el original el 8 de abril de 2012.
  4. Kotok A. MIT Artificial Intelligence Memo 41 (XHTML 3 de diciembre de 2004). Consultado el 1 de julio de 2006. Archivado desde el original el 8 de abril de 2012.
  5. Marsland TA Computer Chess Methods (PDF) de Encyclopedia of Artificial Intelligence / S. Shapiro (editor) (PDF) 159-171. J. Wiley & Sons (mayo de 1987). Consultado el 21 de diciembre de 2006. Archivado desde el original el 8 de abril de 2012.
  6. Knuth DE, Moore RW Un análisis de la poda alfa-beta  (neopr.)  // Inteligencia artificial vol. 6, núm. 4.- 1975.- S. 293-326 . , reimpreso como "Parte 9" del libro: Knuth DE Documentos seleccionados sobre análisis de algoritmos  (inglés) . — Stanford, California: Centro para el Estudio del Lenguaje y la Información - CSLI Lecture Notes, no. 102, 2000. ISBN 1-57586-212-3 .
  7. Abramson B. Control Strategies for Two-Player Games  (indefinido)  // ACM Computing Surveys, vol. 21, núm. 2.- 1989.- junio ( vol. 21 ). - art. 137 . -doi : 10.1145/ 66443.66444 . Archivado desde el original el 20 de agosto de 2008. Copia archivada (enlace no disponible) . Consultado el 25 de octubre de 2009. Archivado desde el original el 20 de agosto de 2008.