編集:答えは間違っています。パスフローが時刻sで開始し、時刻tで終了し、エッジeを通過すると、この期間エッジeをブロックするという(愚かな)暗黙の仮定を立てました。ただし、これは正しくありません。見る *。
注:おそらく、このアプローチは不必要に複雑または不正確です。私は検証しようとしましたが、慎重に書き留めましたが、膨大な時間を費やしませんでした。
「備蓄」が許可されていないと仮定すると、たとえば、フローをすぐに転送する必要があります。ましょ表すエッジの数及びN入力長。私はそれを考慮しなかったので、連続時間または離散時間を指定しませんでした。断続的な思考のために機能するはずです。mN
その後、ソースからシンクへの「パスフロー」のセットとしてソリューションを説明できます。パスフローは四重である以下からなる:単純なパスPソースからシンクへ; パスフローsの開始時間。パスaを通る流量。スループット・レートR。(P、s 、a 、r )Psar
解決策はパスフローの集合によって与えられます。これらのパスフローによって与えられた解が|の時間多項式で正しいかどうかを検証できます。F | およびN:F| F|N
- すべてのエッジについてと時間の瞬間トン、すべてのパス-流れが上に行くのスループット・レートまで追加の電子時間でトンを。すべてのパスフローには開始時刻と終了時刻があるため、パスフローが開始または終了する時点のみを考慮する必要があります(これらの時点の間、エッジeを超えるパスフローに関しては何も変化しません)。etete
- すべてのパスフローについて、すべてのフローが時間前にシンクに到着するかどうかを確認できます。T
- すべてのエッジについて、パスフローが破壊された後に通過するかどうかを確認できます。
- フロー下限は、フローパスのフロー量を合計することで簡単に確認できます。B
ここで、パスフローの数が多項式であることを示す必要があります。N
特定のソリューションに対して、フローがエッジを通過した時間とエッジが破壊された時間を判断できます。これを同等の解決策で問題に変換します。各エッジが使用できる場合と使用できない場合-開始時刻と終了時刻にそれぞれの境界に強い境界があります。してみましょうはこれらすべての時間のセットを示します。{ t1、。。。、tk}
いくつかの非コンパクトなソリューションと(最初は)空のパスフローセットを検討してください。アイデアは、非コンパクトなソリューションでパスフローを繰り返し見つけ、それを削除して、パスフローのセットに保存するというものです。
間その開始と終了をパスは、フロー検索およびTのJ、I < Jが、いずれかの間で終わらないのt PとTのqは、このようなこと[ トンのP、TのQ ] ⊆ [ T I、TのJ ]。LET F 、I 、Jは、一連の間の経路は、流れて示したT JおよびTのjを上記のような特性を有します。t私tji < jtptq[ tp、tq] ⊆ [ t私、tj]F私、jtjtj
よりも短い間隔のすべてのパスフローを既に削除したと仮定します。[ t i、t j ]で開始および終了するパスフローを貪欲に見つけます。見つかったら、このフローをソリューションから削除し、それに応じて頂点のスループットレートを調整し、ソースからシンクに送信されるフローの量も調整します。このパスフローでは、スループットを最大化します。これは、少なくとも1つのエッジが最大スループットレートに達しているか、このパスフローを削除した後、このエッジを超えるフローがなくなったことを意味します。これは期間[ t i + 1、t j[ i 、j ][ t私、tj]。どちらの場合も、このエッジを通るフローはこれ以上ありません。F s 、t | ≤M。[ ti + 1、tj − 1]| Fs 、t| ≤メートル
(*)なぜ以前の主張が真実なのですか?さて、における他のすべてのパスフロー、t jはt i + 1の前に始まり、t j − 1の後に終わります。したがって、特定のエッジを使用する時間内にオーバーラップする必要があります。パスフローのスループットが最大化されるため、タイトなエッジが必要です。Ft私、tjti + 1tj − 1
∑I 、J ∈ [ K ]| F私、j| ≤C M3c