Beispiel #1
0
def test_local_beam_search():
    initial = 0
    goal = 10
    limits = (-goal, goal)
    p = AnnotatedProblem(
        EasyProblem(initial, initial_cost=initial, extra=limits))
    sol = next(local_beam_search(p, graph=False))
    assert abs(sol.state_node.state - limits[0]) <= 0.1

    p2 = HillProblem(initial, goal=goal, initial_cost=initial, extra=limits)
    sol = next(local_beam_search(p2))
    assert abs(sol.state_node.state - goal) <= 0.1

    p3 = HillProblemNoGoalTest(initial,
                               goal=goal,
                               initial_cost=initial,
                               extra=limits)
    sol = next(local_beam_search(p3))
    assert abs(sol.state_node.state - goal) <= 0.1

    p4 = AnnotatedProblem(
        HillProblem(initial, goal=initial, initial_cost=initial, extra=limits))
    sol = next(local_beam_search(p4))
    assert p4.nodes_expanded == 0
    assert p4.goal_tests == 1
    assert abs(sol.state_node.state - initial) <= 0.1

    p5 = AnnotatedProblem(PlateauProblem(initial))
    sol = next(local_beam_search(p5, beam_width=2))
def test_local_beam_search():
    initial = 0
    goal = 10
    limits = (-goal, goal)
    p = AnnotatedProblem(EasyProblem(initial, initial_cost=initial, extra=limits))
    sol = next(local_beam_search(p, graph_search=False))
    assert abs(sol.state - limits[0]) <= 0.1
Beispiel #3
0
 def beam2(problem):
     return local_beam_search(problem, beam_width=2)
 def local_beam_width2(problem):
     return local_beam_search(problem, beam_width=2)
Beispiel #5
0
 def beam2(problem):
     return local_beam_search(problem, beam_width=2, cost_limit=0)
 def beam1(problem):
     return local_beam_search(problem, beam_width=1)