39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
from grid import a_star_main
|
|
from search import ucs, bfs, dfs
|
|
from graph import Graph
|
|
|
|
# directed and weighted digraph
|
|
romania = Graph(['Or', 'Ne', 'Ze', 'Ia', 'Ar', 'Si', 'Fa',
|
|
'Va', 'Ri', 'Ti', 'Lu', 'Pi', 'Ur', 'Hi',
|
|
'Me', 'Bu', 'Dr', 'Ef', 'Cr', 'Gi'],
|
|
[
|
|
('Or', 'Ze', 71), ('Or', 'Si', 151),
|
|
('Ne', 'Ia', 87), ('Ze', 'Ar', 75),
|
|
('Ia', 'Va', 92), ('Ar', 'Si', 140),
|
|
('Ar', 'Ti', 118), ('Si', 'Fa', 99),
|
|
('Si', 'Ri', 80), ('Fa', 'Bu', 211),
|
|
('Va', 'Ur', 142), ('Ri', 'Pi', 97),
|
|
('Ri', 'Cr', 146), ('Ti', 'Lu', 111),
|
|
('Lu', 'Me', 70), ('Me', 'Dr', 75),
|
|
('Dr', 'Cr', 120), ('Cr', 'Pi', 138),
|
|
('Pi', 'Bu', 101), ('Bu', 'Gi', 90),
|
|
('Bu', 'Ur', 85), ('Ur', 'Hi', 98),
|
|
('Hi', 'Ef', 86)
|
|
])
|
|
|
|
|
|
def main():
|
|
# Task 1
|
|
graph = romania
|
|
ucs(graph, 'Ti', 'Bu')
|
|
|
|
graph = romania
|
|
bfs(graph, 'Ti', 'Bu')
|
|
|
|
graph = romania
|
|
dfs(graph, 'Ti', 'Bu')
|
|
|
|
# Task 3 A*
|
|
a_star_main()
|
|
|
|
main() |