Recherche de chemin dans le graphique à l'aide de Networkx

Note personnelle:

Créer un graphique

Il est difficile d'écrire à chaque fois, alors créez-le sous la forme d'une liste adjacente

import networkx as nx
g = nx.read_adjlist('/path/to/adjacencylist', create_using=nx.DiGraph())
print('nodes: ' + ', '.join(g.nodes()))

printAffichez tous les nœuds du graphique en ajoutant une instruction.

Rechercher l'itinéraire le plus court

Si vous ajoutez des poids, etc., vous en avez besoin séparément, mais par souci de simplicité, nous ne considérerons pas les poids ici.

nx.shortest_path(g, source="hoge", target="fuga")

La valeur de retour sera une liste contenant des nœuds

Énumération des routes visitées une seule fois sur un nœud

for path in nx.all_simple_paths(g, source='hoge", target="fuga"):
    print(path)

Il affiche également l'itinéraire de détour.

Recommended Posts

Recherche de chemin dans le graphique à l'aide de Networkx
Rechercher sur Twitter avec Python
Algorithme de recherche utilisant word2vec [python]
oslo.config Chemin de recherche du fichier de configuration
Trouvez le chemin critique de PERT en utilisant la recherche de priorité de largeur et la recherche de priorité de profondeur
Modèle de recherche de grille simple à l'aide de Scikit-learn
OSMnx pour la première fois ~ Avec la recherche d'itinéraire la plus courte ~
Rechercher des marques rentables avec COTOHA
Création automatique d'horaire de travail à l'aide de la recherche tabou
Essayez d'utiliser le networkx de Python avec AtCoder
Recherche de priorité de profondeur à l'aide de la pile en Python
Obtenez le chemin du fichier à l'aide de Pathlib