その中にいくつかの直線的な障害物がある長方形の部屋をシミュレートしようとしているので、networkx のグラフとして問題を定式化しました。障害物を追加するには、ノードを選択し、そのエッジをすべて削除します。グラフが分割されないようにするために、これは私が使用したコードです
self.G = nx.grid_2d_graph(*room_size)
# create obstacles but keep graph strongly connected
for i in range(obstacles):
copy = self.G.copy
while nx.number_connected_components(copy) != 1:
copy = self.G.copy
copy.remove_node(sample(self.G.nodes(),1))
self.G = copy
しかし、「nx.number_connected_components(copy)」でエラーが発生するようです:「関数」オブジェクトには属性「is_directed」がありません
グラフは明らかに無向な grid_2d_graph であるため、これは私には意味がありません。何が問題で、どうすれば修正できますか?