def ques_4(board, belief, target):
    searches = 0
    probability_found = initial.probability_found(map, belief)
    cell = get_max(probability_found)
    while target != cell:
        belief = initial.update_belief(map, belief, cell[0], cell[1])
        searches += 1
        probability_found = initial.probability_found(map, belief)
        cell = get_max(probability_found)
    return searches
def rule_2(map, belief, target):
    earches = 0
    probability_found = initial.probability_found(map, belief)
    cell = get_max(probability_found)
    while (target[0], target[1]) != cell:
        belief = initial.update_belief(map, belief, cell[0], cell[1])
        searches += 1
        prob_found_matrix = initial.probability_found(map, belief)
        cell = get_max(probability_found)
    return searches
def target_move_rule_1(map, belief, target):
    searches = 0
    size = len(map)
    probability_found = initial.probability_found(map, belief)
    cell = get_max(probability_found)
    while (target[0],target[1]) != cell:
        belief = initial.update_belief(map, belief, cell[0], cell[1])
        searches += 1
        target, info = moving(size, target, map)
        belief = update_belief_with_info(map, probability_found, info)
        cell = get_max(belief)
    return searches
def rule_1_dis(map, belief, target, simple = True):
    searches = 0
    cell = get_max(belief)
    size = len(map)
    dis = [[0] * size for i in range(size)]
    while (target[0], target[1]) != cell:
        belief = initial.update_belief(map, belief, cell[0], cell[1])
        searches += dis[cell[0], cell[1]]
        if simple == False:
            cell = get_max_index(probability_distance(map, belief, target))
        else:
            cell = get_max_index(belief)
    return earches
def target_move_rule_2(map, belief, target):
    searches = 0
    size = len(map)
    probability_found = initial.probability_found(map, belief)
    cell = get_max(probability_found)
    while (target[0], target[1]) != next_step:
        belief = initial.update_belief(map, belief, cell[0], cell[1])
        num_searches += 1
        probability_found = intial.probability_found(map, belief)
        target, info = moving(size, target, map)
        probability_found = update_found_with_info(map, probability_found, info)
        cell = get_max_index(probability_found)
    return searches
def rule_2_dis(board, belief, target, simple = True):
    searches = 0
    probability_found = initial.probability_found(map, belief)
    cell = get_max(probability_found)
    size = len(map)
    dis = [[0] * size for i in range(size)]
    while (target[0], target[1]) != cell:
        belief = initial.update_belief(map, belief, cell[0], cell[1])
        searches += dis[cell[0], cell[1]]
        probability_found = initial.probability_found(map, belief)
        dis = initial.distance(size, cell[0], cell[1])
        if simple == False:
            cell = get_max_index(probability_distance(map, belief, target))
        else:
            cell = get_max_index(probability_found)
    return searches