首页 > 解决方案 > 用于在图中查找路线的搜索算法

问题描述

我正在尝试实施 DFS、BFS 和 UCS(统一成本搜索)以使用此CSV文件查找不同火车站之间的路线。如果您使用任何文本编辑器打开数据文件,您将看到文件的内容为:

"Harrow & Wealdstone", "Kenton", "Bakerloo", 3, "5", "0"
"Kenton", "South Kenton", "Bakerloo", 2, "4", "0"
· · ·
"Bank/Monument", "Waterloo", "Waterloo & City", 4, "1", "0"

CSV 文件中的每一行代表一个 Tube“步骤”,格式如下:

[StartingStation], [EndingStation], [TubeLine], [AverageTimeTaken], [MainZone], [SecondaryZone]

在哪里:

我已经实现了搜索算法,但无法将 CSV 数据转换为合适的图形(使用 NetworkX)作为算法的输入。

我想打印与搜索相关的信息,例如站点、成本、扩展的节点数量等。如何表示一个状态以及如何从每个站点构建一个新状态,这些站点可以从当前状态但尚未访问过的站点到达到目前为止的当前路径?下面的代码在打印时产生一个空输出tube_data?谢谢。

import pandas as pd
import networkx as nx
import matplotlib.pyplot  as plt

tube_data = pd.read_csv('tubedata.csv')
Graphtype = nx.Graph()
tube_data = nx.read_edgelist(tube_data, delimiter=',')

标签: pythonnetworkxdepth-first-searchbreadth-first-searchuniform-cost-search

解决方案


推荐阅读