from node import Node
from problem import Problem
from search import Search


p = Problem()
s = Search(p)
r = s.BFS()

print(r.status)
path = r.path
path.reverse()
print(path)
print("number of visited : ")
print (r.expandedNodes)
print("number of expansions : ")
print (r.expansions)
예제 #2
0
from display import Display
from search import Search

d = Display(20,20)
grid, start, target = d.make_grid(weight=True)

s = Search(grid, start, target)

visited = s.DFS_iterative(branches=False)

path = s.make_path()
d.draw_visited(visited)
d.draw_path(path)

d.reset_grid(weight=False)
s.DFS_recursive(start)
visited = s.visited
path = s.make_path()
d.draw_visited(visited)
d.draw_path(path)

d.reset_grid()
visited = s.BFS()
path = s.make_path()
d.draw_visited(visited, distance=True)
d.draw_path(path)




예제 #3
0
    elif menu.setting_end:
        grid.set_end_point()

    if menu.build:
        grid.build_wall()

    elif menu.remove:
        grid.remove_wall()

    if menu.run():
        for row in grid.grid:
            for node in row:
                node.visited = False
                node.in_path = False
        if menu.BFS:
            search.BFS(grid.start_node, grid.end_node)
        elif menu.DFS:
            search.DFS(grid.start_node, grid.end_node)
        elif menu.A_star:
            search.a_star(grid.start_node, grid.end_node)

# call back function for menu options
    menu.choose_serach()
    menu.build_walls()
    menu.remove_walls()
    menu.set_start()
    menu.set_end()
    menu.visulise()
    menu.clear_clicked()
    menu.choose_serach()
from node import Node
from problem import Problem
from search import Search

p = Problem()
s = Search(p)

path = s.BFS().path
path.reverse()
print(path)