Python の Networkx ライブラリを使用して、さまざまな人々の間の関係ネットワークを表す無向グラフを作成しました。私のコードのスニペットは以下のとおりです。
import networkx as nx
def creategraph(filepath):
G=nx.Graph()
#All the various nodes and edges are added in this stretch of code.
return G
私が理解していることから、各ノードは基本的に辞書です。これが私に提示する問題は、別の種類のランダム ウォーク アルゴリズムを実行したいということです。Networkx ライブラリの標準関数の 1 つを使用するように言う前に、それがカスタム アルゴリズムであることを指摘しておきます。creategraph 関数を実行すると、G オブジェクトが返され、別のオブジェクト (X と呼びましょう) に格納されたとします。「ボブ」というノードから始めたいと思います。Bob は Alice と Joe に接続されています。ここで、アリスまたはボブのいずれかを無作為に指すように Y を再割り当てしたいと思います (私が扱っているデータでは、特定のノードから何百ものエッジが出る可能性があります)。どうすればこれを行うことができますか?また、特定のノードの dict で Unicode エントリを処理するにはどうすればよいですか (アリスとジョーが以下にリストされているように)。
X = creategraph("filename")
Y=X['Bob']
print Y
>> {u'Alice': {}, u'Joe': {}}