Exemple #1
0
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())
Exemple #2
0
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())
Exemple #3
0
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)
Exemple #5
0
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)
Exemple #6
0
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
Exemple #7
0
 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)
Exemple #8
0
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)