class TestDepthFirstSearch(unittest.TestCase): def setUp(self): self.dfs = DFS(ROMENIA, start="Arad") def test_dfs_search_success(self): self.assertEqual("Bucharest", self.dfs.search("Bucharest")) def test_dfs_search_failure(self): target = "Catalao" expected = "{0} Not Found".format(target) self.assertEqual(expected, self.dfs.search(target)) def test_get_path_success(self): path_expected = [ "Arad", "Sibiu", "Rimnicu Vilcea", "Pitesti", "Craiova", "Dobreta", "Mehadia", "Lugoj", "Timisoara", ] self.dfs.search("Bucharest") self.assertEqual(path_expected, self.dfs.get_path()) def test_get_cost_success(self): self.dfs.search("Bucharest") self.assertEqual(9, self.dfs.cost())
class TestDepthFirstSearch(unittest.TestCase): def setUp(self): self.dfs = DFS(ROMENIA, start='Arad') def test_dfs_search_success(self): self.assertEqual('Bucharest', self.dfs.search('Bucharest')) def test_dfs_search_failure(self): target = 'Catalao' expected = '{0} Not Found'.format(target) self.assertEqual(expected, self.dfs.search(target)) def test_get_path_success(self): path_expected = ['Arad', 'Sibiu', 'Rimnicu Vilcea', 'Pitesti', 'Craiova', 'Dobreta', 'Mehadia', 'Lugoj', 'Timisoara'] self.dfs.search('Bucharest') self.assertEqual(path_expected, self.dfs.get_path()) def test_get_cost_success(self): self.dfs.search('Bucharest') self.assertEqual(9, self.dfs.cost())
print "\nBFS - Map2" world = World(Util.read_file(map2), b_map2) bfs_search = BFS(world) bfs_search.search() print timeit.Timer(bfs_search.search).timeit(1) print "\nBFS - Map3" world = World(Util.read_file(map3), b_map3) bfs_search = BFS(world) bfs_search.search() print timeit.Timer(bfs_search.search).timeit(1) print "\nDFS - Map1" world = World(Util.read_file(map1), d_map1) dfs_search = DFS(world) dfs_search.search() print timeit.Timer(dfs_search.search).timeit(1) print "\nDFS - Map2" world = World(Util.read_file(map2), d_map2) dfs_search = DFS(world) dfs_search.search() print timeit.Timer(dfs_search.search).timeit(1) print "\nDFS - Map3" world = World(Util.read_file(map3), d_map3) dfs_search = DFS(world) dfs_search.search() print timeit.Timer(dfs_search.search).timeit(1)
import balloon_manager import read_input_file from cell import Cell from dfs import DFS from graph2 import Graph2, Vertex2 config = read_input_file.load_configuration('test_input') selected_targets = balloon_manager.select_targets(config) balloons = balloon_manager.assign_balloons(config, selected_targets) g = Graph2(config) dfs = DFS(g, config) for balloon in balloons: target_vertex = Vertex2(balloon.target_cell, 1) dfs.search(dfs.start_vertex, target_vertex) print "start_vertex: %s, target_vertex: %s" % (dfs.start_vertex, target_vertex) print "path found: %s" % dfs.path_found print "path: %s" % dfs.get_path(target_vertex) if False: for r in range(config['R']): # For all rows for c in range(config['C']): # For all columns v = Vertex2(Cell(r, c), 2) adj = g.adj(v) print "Adjacent cells for vertex %s are: %s" % (v, adj)
from dfs import DFS from bfs import BFS def print_steps(steps_sol): for s in steps_sol: print("================================") for i in range(0, 9, 3): print(s[i:i + 3]) agent = DFS() steps = agent.search([1, 2, 5, 3, 4, 0, 6, 7, 8]) print_steps(steps) agent = BFS() steps = agent.search([1, 2, 0, 3, 4, 5, 6, 7, 8]) print_steps(steps)
def solveDFS(rubik): aux = time.time() solution_DFS = DFS.search(rubik, lambda x: x == RubikPuzzle()) time["DFS: "](time.time() - aux) * 1000 aux = 0 return solution_DFS
def test_dfs(self): agent = DFS() steps = agent.search([1, 2, 5, 3, 4, 0, 6, 7, 8]) print("Solved in {} steps".format(len(steps))) print(steps)
def test_dfs(): adj = np.array([[0, 1, 0], [0, 0, 1], [1, 0, 0]]) graph = from_numpy_array(adj) dfs = DFS() dfs.search(graph)