Afegiu comentaris a la funció donada per fer que el codi sigui més llegible per humans.
input: def hill_climbing(initial_board):
    current = initial_board
    while current.has_successors():
        neighbour = Board(current.get_random_successor(), "best")
        if neighbour.value() >= current.value():
            return current
        current = neighbour
    return current
output: def hill_climbing(initial_board):
""" Algorisme hill climbing.

Realitza una cerca hill climbing a initial_board i retorna un objecte de
tipus Board que representa l'estat objectiu (mínim local/global).

Atributs:
    current: objecte tipus Board.
    neighbour: objecte de tipus Board que és un successor de current.

:param initial_board:  Un objecte Board amb un estat generat aleatòriament. i.e. un estat inicial.
:return: Un objecte Board que no té més successors. i.e. un estat final (mínim local/global).
"""

current = initial_board
while current.has_successors():
    neighbour = Board(current.get_random_successor(), "best")
    if neighbour.value() >= current.value():
        return current
    current = neighbour
return current