p=k.split(', ') g.add_vertex(p[0], p[1], p[2]) k=f.readline() while(k !=None): if(k==''): break elif(k!= 'Edges:\n'): p=k.split(', ') g.add_edge(p[0], p[1], int(p[2])) k=f.readline() else: k=f.readline() continue PQ.push('houston', 0) g.get_vertex('houston').visited='yes' route['houston']=0 GBFS(g, g.get_vertex('lafayette'), PQ, route, results) if PQ.isEmpty(): mn=route[results[0]] for ki in results: if mn>route[ki]: mn=route[ki] for kil in route.keys(): if mn==route[kil] and g.get_vertex('lafayette').get_id() in kil.split('->'): break print "The path used by Greedy Best-First Search(manhattan distance) is %s and the distance covered is %d" %(kil, mn) PQ1=PriorityQueue() results1=[] route1={} for v in g:
k=f.readline() while (k!= 'Edges:\n'): p=k.split(', ') g.add_vertex(p[0], p[1], p[2]) k=f.readline() while(k !=None): if(k==''): break elif(k!= 'Edges:\n'): p=k.split(', ') g.add_edge(p[0], p[1], int(p[2])) k=f.readline() else: k=f.readline() continue vi=g.get_vertex('houston') g.get_vertex('houston').visited='yes' route['houston']=0 for i in range(1,3): if i==1: st='manhattan' PQ.push('houston', g.get_vertex('houston').distance(vi)+g.get_vertex('lafayette').distance(vi)) else: st='biolab' PQ.push('houston', g.get_vertex('houston').distance1(vi)+g.get_vertex('lafayette').distance1(vi)) AS(g, g.get_vertex('lafayette'), PQ, route, results, i) if PQ.isEmpty(): mn=route[results[0]] for ki in results: if mn>route[ki]: mn=route[ki]
if __name__ == '__main__': g = Graph() distance=0 stack= Stack() path=[] f=open('input.txt', 'r') f.readline() k=f.readline() p=k.split(', ') for name in p: g.add_vertex(name) print name k=f.readline() while(k !=None): if(k==''): break elif(k!= 'Edges:\n'): p=k.split(', ') g.add_edge(p[0], p[1], int(p[2])) k=f.readline() else: k=f.readline() continue stack.push(g.get_vertex('houston')) g.get_vertex('houston').visited='yes' path.append('houston') DFS(g.get_vertex('houston'), g.get_vertex('lafayette'), stack, path, distance)
return 0 if __name__ == '__main__': g = Graph() distance=0 Q=Queue() path=[] f=open('input.txt', 'r') f.readline() k=f.readline() p=k.split(', ') for name in p: g.add_vertex(name) print name k=f.readline() while(k !=None): if(k==''): break elif(k!= 'Edges:\n'): p=k.split(', ') g.add_edge(p[0], p[1], int(p[2])) k=f.readline() else: k=f.readline() continue path.append('houston') g.get_vertex('houston').visited='yes' BFS(g.get_vertex('houston'), g.get_vertex('lafayette'), Q, path, distance)