n

nitin rathod
Revisão de NUI Maynooth

3 anos atrás

BEst University

BEst University

O ambiente da faculdade é muito bom. A melhor faculdade para estudar. Alguém pode entrar em qualquer campo e realizar seus sonhos em qualquer campo, como esportes motorizados, dança, canto E O MAIS IMPORTANTE ESPORTES

UMA * \
GRAPH = {\
'Arad': {'Sibiu': 140, 'Zerind': 75, 'Timisoara': 118}, \
'Zerind': {'Arad': 75, 'Oradea': 71}, \
'Oradea': {'Zerind': 71, 'Sibiu': 151}, \
'Sibiu': {'Arad': 140, 'Oradea': 151, 'Fagaras': 99, 'Rimnicu': 80}, \
'Timisoara': {'Arad': 118, 'Lugoj': 111}, \
'Lugoj': {'Timisoara': 111, 'Mehadia': 70}, \
'Mehadia': {'Lugoj': 70, 'Drobeta': 75}, \
'Drobeta': {'Mehadia': 75, 'Craiova': 120}, \
'Craiova': {'Drobeta': 120, 'Rimnicu': 146, 'Pitesti': 138}, \
'Rimnicu': {'Sibiu': 80, 'Craiova': 146, 'Pitesti': 97}, \
'Fagaras': {'Sibiu': 99, 'Bucareste': 211}, \
'Pitesti': {'Rimnicu': 97, 'Craiova': 138, 'Bucareste': 101}, \
'Bucareste': {'Fagaras': 211, 'Pitesti': 101, 'Giurgiu': 90, 'Urziceni': 85}, \
'Giurgiu': {'Bucareste': 90}, \
'Urziceni': {'Bucareste': 85, 'Vaslui': 142, 'Hirsova': 98}, \
'Hirsova': {'Urziceni': 98, 'Eforie': 86}, \
'Eforie': {'Hirsova': 86}, \
'Vaslui': {'Iasi': 92, 'Urziceni': 142}, \
'Iasi': {'Vaslui': 92, 'Neamt': 87}, \
'Neamt': {'Iasi': 87} \
}

def dfs_paths (origem, destino, caminho = Nenhum):
"" "Todos os caminhos possíveis da origem ao destino usando a pesquisa em profundidade
: fonte de param: nome da cidade de origem
: param destino: nome da cidade de destino
: caminho de parâmetro: caminho percorrido atual (valor padrão = Nenhum)
: yields: Todos os caminhos possíveis da origem ao destino
"" "
se o caminho for Nenhum:
caminho = [fonte]
se origem == destino:
caminho de produção
para next_node em set (GRAPH [fonte] .keys ()) - set (caminho):
rendimento de dfs_paths (next_node, destino, caminho + [next_node])

def ucs (origem, destino):
"" "Caminho mais barato da origem ao destino usando pesquisa de custo uniforme
: fonte de param: nome da cidade de origem
: param destino: nome da cidade de destino
: retorna: custo e caminho para a travessia mais barata
"" "
da importação da fila PriorityQueue
priority_queue, visitado = PriorityQueue (), {}
priority_queue.put ((0, fonte, [fonte]))
visitado [fonte] = 0
embora não seja priority_queue.empty ():
(custo, vértice, caminho) = priority_queue.get ()
se vértice == destino:
custo de retorno, caminho
para next_node em GRAPH [vértice] .keys ():
custo_atual = custo + GRÁFICO [vértice] [próximo_nó]
se não next_node em visitado ou visitado [next_node]> = current_cost:
visitado [next_node] = current_cost
priority_queue.put ((current_cost, next_node, path + [next_node]))

def a_star (origem, destino):
"" "Caminho ótimo da origem ao destino usando heurística de distância em linha reta
: fonte de param: nome da cidade de origem
: param destino: nome da cidade de destino
: retorna: valor heurístico, custo e caminho para travessia ideal
"" "
# AQUI OS VALORES DE DISTÂNCIA EM LINHA RETA SÃO REFERÊNCIA A BUCARESTE COMO O DESTINO
straight_line = {\
'Arad': 366, \
'Zerind': 374, \
'Oradea': 380, \
'Sibiu': 253, \
'Timisoara': 329, \
'Lugs': 244, \
'Mehadia': 241, \
'Drobeta': 242, \
'Craiova': 160, \
'Rimnicu': 193, \
'Fagaras': 176, \
'Pitesti': 100, \
'Bucareste': 0, \
'Júri': 77, \
'Urziceni': 80, \
'Hirsova': 151, \
'Eforie': 161, \
'Vaslui': 199, \
'Iasi': 226, \
'Neamt': 234 \
}

Traduzido

Comentários:

Sem comentários