プロバイダから最大受信機数へのリソースの分布
-
29-09-2020 - |
質問
インターネットを必要としている$ n $ $ n $ $ m $ <"を備えた都市があることを検討します。/スパン>市内のインターネットプロバイダー。ここでは都市ですべての居住者がインターネットを必要とし、すべての居住者は彼に利用可能なプロバイダーを知っています。正式に常駐 $ i $ のリストは、プロバイダ $ A_I $ のリストを持っています。また、各プロバイダには最大の接続数があり、すなわちプロバイダ $ i $ がmax $ k_iを持つことができます。$ 接続。インターネットを持つ住民の数が最大限になるようにインターネットを提供する最適な方法を見つけます。
問題についての私の考えは、この質問が制約に関するナックパック問題の派生物のようなものです。これは動的プログラミングを示唆しているが、州を見つけることができません。誰かが私を助けてくれる?
解決
この問題は、最大フロー問題
です。- ノードは、 $ s、¥p_1、p_2、¥cdot、p_m、¥¥1、¥2,2、¥cdots、r_n、¥t $ です。ここで、 $ s $ と $ t $ は、ソースとシンクのための2つの追加ノードが立っています。
- $ s $ と各 capacity $ K_I $ 。
- $ p_i $ と $ r_j $ の間には、capacity 1が $ p_i $ はインターネットを $ r_j $ を提供できます。
- 各 $ r_j $ と容量1の$ t $ の間にはエッジがあります。
$ s $ から $ t $ への最大フローを見つけることです。< / P>
多項式の最大流動問題を解決するための多くのアルゴリズム。たとえば、 Ford-Fulkerson Algorithm と dinicのアルゴリズムはかなり人気があります。さまざまなプログラミング言語でそれらのアルゴリズムを実装するソースコードを簡単に見つけることができます。
これらのアルゴリズムはすべて整数最大フローを生成しますので、計算された最大フローが0.42または $ \ frac {\ sqrt2} 2を提供する必要があると規定されている場合、私たちは心配しません。 $ インターネットを常駐させる。 積分フロー定理。
所属していません cs.stackexchange