def boggle_hill_climbing(board=None, ntimes=100, verbose=True):
    """Solve inverse Boggle by hill-climbing: find a high-scoring board by
    starting with a random one and changing it."""
    finder = BoggleFinder()
    if board is None:
        board = random_boggle()
    best = len(finder.set_board(board))
    for _ in range(ntimes):
        i, oldc = mutate_boggle(board)
        new = len(finder.set_board(board))
        if new > best:
            best = new
            if verbose: print best, _, board
        else:
            board[i] = oldc ## Change back
    if verbose:
        print_boggle(board)
    return board, best
def boggle_hill_climbing(board=None, ntimes=100, verbose=True):
    """Solve inverse Boggle by hill-climbing: find a high-scoring board by
    starting with a random one and changing it."""
    finder = BoggleFinder()
    if board is None:
        board = random_boggle()
    best = len(finder.set_board(board))
    for _ in range(ntimes):
        i, oldc = mutate_boggle(board)
        new = len(finder.set_board(board))
        if new > best:
            best = new
            if verbose: print best, _, board
        else:
            board[i] = oldc ## Change back
    if verbose:
        print_boggle(board)
    return board, best
def boggle_hill_climbing ( board = None , ntimes = 100 , verbose = True ) : finder = BoggleFinder ( ) if board is None : board = random_boggle ( ) best = len ( finder . set_board ( board ) ) for _ in range ( ntimes ) : i , oldc = mutate_boggle ( board ) new = len ( finder . set_board ( board ) ) if new > best : best = new if verbose : print best , _ , board else : board [ i ] = oldc ## Change back if verbose : print_boggle ( board ) return board , best
Solve inverse Boggle by hill-climbing: find a high-scoring board by
    starting with a random one and changing it.
Solve inverse Boggle by hill - climbing : find a high - scoring board by starting with a random one and changing it .