El algoritmo de Hill-Climbing sirve para encontrar el máximo valor dada una matriz. Para entenderlo imaginemos una competición de alpinismo, en la que soltamos a 5 alpinistas (lanzamientos) en una cordillera (nuestra matriz) sin mapa.
Cada alpinista aparece en un punto aleatorio del mapa e intentará llegar al punto más alto de la cordillera, pero con una condición, siempre tienen que moverse por las zonas con mayor pendiente (puntos próximos de mayor altitud). Cuando un alpinista esté en una cima, para, y el que esté en la cima más alta (valor mayor) ganará.
El algoritmo funciona de la misma manera, nuestros puntos se mueven en función del mayor valor que tengan próximo a ellos en la matriz, y cuando llegan a un máximo paran, ya que no hay puntos mayores a los que moverse, el punto que para en el mayor valor de todos da el máximo de la matriz.