El algoritmo Hill Climbing tiene el objetivo de encontrar el máximo de una función f(x,y) en una malla 2d. Primero selecciona un punto aleatorio en el grid sobre el que se trabaja. A continuación busca el mayor de sus 4 vecinos y lo selecciona como nuevo punto sobre el que trabajar. Realiza esto hasta llegar a un punto en el cual sus 4 vecinos son menores que el.
El problema es que no garantiza encontrar el máximo absoluto, pues en muchas funciones hay máximos locales y la búsqueda finalizaría en estos.
La variante de Monte Carlo en parte soluciona esto. Realiza el algoritmo a partir de muchos puntos aleatorios, aumentando la probabilidad de encontrar la solución, pero no garantiza encontrarla. Al finalizar la búsqueda de los caminos, selecciona el punto mas alto encontrado (la estrella) y devuelve ese punto como solución.