Пример #1
0
		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:
Пример #2
0
	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]
Пример #3
0
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)
	

Пример #4
0
	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)