return False if __name__ == "__main__": graph = Graph() graph.add_node("S") graph.add_node_from(["S", "A", "B", "C", "D", "E", "F", "G", "H"]) graph.add_edges_from( [ ("S", "A", 3), ("S", "B", 6), ("S", "C", 2), ("A", "D", 3), ("B", "D", 4), ("B", "G", 9), ("B", "E", 2), ("C", "E", 1), ("D", "F", 5), ("E", "H", 5), ("F", "E", 6), ("H", "G", 8), ("F", "G", 5), ], is_duplicated=True # Bỏ qua hướng của các đường đi ) # initial setup graph.nodes[0].cost = 0 # cost của node S = 0 graph.nodes[0].path = ['S'] # S -> S là S result = uniform_cost_search(graph, graph.nodes[0], graph.nodes[7]) # Tìm đường đi từ S -> G # In kết quả có tìm ra đường đi hay ko print(result)
if __name__ == "__main__": graph = Graph() graph.add_node_from([ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O" ]) graph.add_edges_from([ ("A", "B", 2), ("A", "C", 1), ("A", "D", 3), ("B", "E", 5), ("B", "F", 4), ("C", "G", 6), ("C", "H", 3), ("D", "I", 2), ("D", "J", 4), ("F", "K", 2), ("F", "L", 1), ("F", "M", 4), ("H", "N", 2), ("H", "O", 4), ]) # initial setup graph.nodes[0].goal_cost = 6 # goal_cost của node A = 6 graph.nodes[0].cost = 0 # Set cost node A = 0 graph.nodes[ 0].f = graph.nodes[0].cost + graph.nodes[0].goal_cost # f cua Node A graph.nodes[1].goal_cost = 3 # goal_cost của node B = 3 graph.nodes[2].goal_cost = 4 # goal_cost của node C = 4 graph.nodes[3].goal_cost = 5 # goal_cost của node D = 5
if __name__ == "__main__": graph = Graph() graph.add_node_from([ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O" ]) graph.add_edges_from([ ("A", "B"), ("A", "C"), ("A", "D"), ("B", "E"), ("B", "F"), ("C", "G"), ("C", "H"), ("D", "I"), ("D", "J"), ("F", "K"), ("F", "L"), ("F", "M"), ("H", "N"), ("H", "O"), ], ) # initial setup graph.nodes[0].goal_cost = 6 # goal_cost của node A = 6 graph.nodes[1].goal_cost = 3 # goal_cost của node B = 3 graph.nodes[2].goal_cost = 4 # goal_cost của node C = 4 graph.nodes[3].goal_cost = 5 # goal_cost của node D = 5 graph.nodes[4].goal_cost = 3 # goal_cost của node E = 3 graph.nodes[5].goal_cost = 1 # goal_cost của node F = 1 graph.nodes[6].goal_cost = 6 # goal_cost của node G = 6