3次元バイパートマッチングアルゴリズムを実装する必要があります。私はthis codeを持っています。これは、2次元の二者間マッチングアルゴリズムです。私はそれをPHPに変換することができ、それは正常に動作します。しかし、私のプログラムでは、の特定のタイムスロットの部屋にコースをマッチさせる必要があることに気付きました。 2次元二者間マッチングアルゴリズムを使用すると、すでに割り当てられた部屋は他のタイムスロットのコースには使用できません。タイムスロットが異なると同じ部屋を別のコースに再び使うことができるようにしたい。 graph [u] [v] [w](ここで、uはもちろん指数、vは部屋のインデックス、wはタイムスロットのインデックス)の3つの次元のグラフを入力として使用するには、このコードを変更できますか?PHPでの3次元バイパートマッチングアルゴリズムの実装方法
1
A
答えて
2
このようにして、バイパートマッチングは機能しません。 「Bi」は2を意味する。ただし、グラフを二部構成に簡単に変換できます。左側のコースと右側のルームを考えてみるのではなく、このように考えてください。コースはまだ左側に残っていますが、右側にはルームとタイムスロットのノードが組み合わされています。このように - あなたは現実世界の問題に取り組んでいる場合は
Course CSE 101------Room 301 Time 10:00 - 11:00
\
\
\
\
\
Course CSE 145------Room 301 Time 11:00 - 12:00
\
\
\
\
\-Room 301 Time 12:00 - 13:00
、同じコースの2クラスが上であってはならない、週に3コースの教室を割り当てるなどの他の制約があるでしょうそのような場合、グラフの二者モデルから一般的なフローネットワークに移動しなければならないでしょう。
関連する問題
- 1. 3次元再構成アルゴリズムの実装方法
- 2. PHPの3次元配列
- 3. 3次元のphpソート配列
- 4. 2次元間隔ツリーのJava実装
- 5. 2次元リストビューを実装する方法
- 6. 次の3次元配列の作成方法は?
- 7. ハッシュテーブル、PHPでのマップの実装方法
- 8. 次のアニメーションの実装方法は?
- 9. 3次元形状ファイルをPythonで2次元に変換する方法
- 10. 行列:異なる次元+実装
- 11. 次のクエリを実装する方法
- 12. OOP:3次元の幾何学的形状を表す実装クラス
- 13. 多次元PHP配列(最近のニュースタイムベースの実装)を並べ替える方法
- 14. 3次元パースペクティブビュー
- 15. 3次元データベーステーブル
- 16. cntkで広い1次元畳み込みを実装する方法
- 17. 高次元で `opIndex`を実装する方法は?私に与え
- 18. Tensorflowで要素1次元補間を実装する方法は?
- 19. Javascriptでの2次元配列からの3次元配列
- 20. ベクトルを3倍して3次元行列を得る方法
- 21. スクリプトを使って3次元オブジェクトを他の3次元オブジェクトにドラッグする方法は?
- 22. Rインデックス配列。 3次元の行列を使用して3次元配列をインデックスする方法
- 23. リアルタイムライブメッセージングの実装方法jQuery Ajax Mysql Php
- 24. トークンベースフォームをPHPで実装する方法
- 25. Javaで複数次元のAdaboostを実装する
- 26. 3次元形状のフレックス
- 27. Javaの3次元配列
- 28. 3次元のRデータフレーム
- 29. 3次元配列のトラバーサル
- 30. Cの3次元ポインタメモリ
ご回答いただきありがとうございます。私はその質問を投稿した後にそのようになることを認識しました。初心者が一般的なフローネットワークについて学ぶためにオンラインであらゆるリソースをお勧めできますか? – user1258469
[こちら](http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=maxFlow)(およびそのセクション2(http://community.topcoder.com/tc?module= Static&d1 = tutorials&d2 = maxFlow2))チュートリアルをご覧ください。私はCLRSの「Introduction to Algorithms」のネットワークフローの章を読むことをお勧めします。 –
もう一度ご協力いただきありがとうございます。 – user1258469