Este algoritmo se basa en un entorno de búsqueda primero en profundidad en el
que están involucrados 2 jugadores según una función de utilidad: un max (agente inteligente) y un min (contrincante). Su objetivo es obtener la mejor estrategia para ganar; está basado también en la búsqueda donde se tienen dos tipos de nodos: AND y OR. En los nodos OR, la búsqueda es alternativa, es decir, sólo se puede realizar una acción u otra en un estado; los nodos AND permiten descomponer un problema en sub-problemas, solucionando primero cada sub-problema para luego unir ese conjunto de soluciones y obtener la solución global. En los juegos que implementa este algoritmo se hacen planes de contingencia, donde se deben considerar diferentes posibilidades dependiendo las situaciones que se den. Por ejemplo: se tiene un jugador (agente) y otro (contrincante), en el que el jugador agente no sabe la acción que hará su contrincante, es allí que se implementa un plan de contingencia que permitirá al jugador agente actuar según la acción que realice su oponente, siendo las acciones del jugador agente: OR, porque puede realizar solo una acción; pero también surgen los nodos AND debido a que, como no sabe realmente lo que hará su oponente, deberá tomar en cuenta todos las posibles acciones que pueda ejecutar.