犬猫ハーフ回答ポイント 100ptウォッチ
1493194204

有向グラフの部分パスを列挙するアルゴリズムを教えて下さい。


今、添付画像の様な有向グラフが有ります。
ノード数Nは12~40程度です。
このグラフから、以下の条件を満たす部分パスを列挙するアルゴリズムを教えて貰いたいです。

1. 任意のノードを始点とする。
2. パスのn番目とn+1番目のノードは、有効エッジで結ばれている。
3. パス中に含まれるノードは、重複しないか、又は、重複するノードでパスが終端する。

例えば、添付画像のKを始点とする場合に、以下の集合を得たいです。

 { K→L, K→L→M, K→L→M→K, K→M, K→M→K }

ざっと検索した結果、BDD/ZDDというキーワードが出てきましたが、これが私の希望するアルゴリズムでしょうか?
(この方向で情報収集を続けて良いか、もっと良い別のアルゴリズムがあるか迷っています。)

また、BDD/ZDDはどの程度のオーダで計算可能でしょうか?
(実用上はパスの長さの上限を5~10程度に設定する事も可能です。)

長々と書いてしまいましたが、一部の回答のみでも結構ですので、よろしくお願いします。

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

みんなの回答

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2017-04-26 17:10:04
終了日時
2017-05-26 17:15:04
回答条件
1人10回まで

この質問のカテゴリ

この質問に含まれるキーワード

アルゴリズム292キーワード1958ノード95実用363

人気の質問

メニュー

PC版