位置が制約されたトポロジカルソートの複雑さ


15

Iは入力DAGとして与えられていの各頂点の頂点さらにいくつかで標識されている。GnxS(x){1,,n}

トポロジカルソート全単射であるの頂点からへようにすべてのため、、からパスがある場合ににおける次に、。すべてのに対してようなトポロジカルなが存在するかどうかを判断したいと思います。GfG{1,,n}xyxyGf(x)f(y)Gxf(x)S(x)

この決定問題の複雑さは何ですか?

[注:明らかにこれはNPにあります。許可された頂点/位置のペアのグラフを見ると、順序に違反するためにペアリング間の無向エッジが競合しているため、クリークごとに最大1つのペア、最大で1つのペアを選択する、互いに素なクリークのグラフが表示されます位置と頂点ごとに最大1つのペア-それは3次元マッチングに関連しているように見えますが、この特定の問題の追加構造ではまだ難しいかどうかわかりません。]

回答:


9

この問題はNP困難だと思います。MinSATから削減をスケッチしようとします。MinSAT問題ではCNFが与えられ、目標は満足する節の数を最小限にすることです。この問題はNPハードです。たとえば、http://epubs.siam.org/doi/abs/10.1137/S0895480191220836?journalCode = sjdmecを参照してください

頂点を2つのグループに分割します。一部はリテラルを表し、その他は句を表します。したがって、n=2v+cで、vはCNFの変数の数(通常示されますn)、cは句の数です。各リテラル頂点からエッジが発生する節頂点にエッジを向けます。x i{ i i + v + k }kは任意のパラメーター)として表すリテラル頂点のSを定義します。したがって、f x ixi{i,i+v+k}kf(xi)=i及びf(x¯i)=i+v+kまたはf(x¯i)=i及びf(xi)=i+v+k。各節頂点について、なので、節頂点の kは「小さい」です。S={v+1,,v+k,2v+k+1,,n}k

現在、CNFには、上記のインスタンスで問題を解決できる場合にのみ、少なくとも句がfalse であるという割り当てがあります。MinSATの問題は、CNF式φに少なくともk句が偽になる代入があるかどうかを正確にテストすることであるため、これは問題がNP困難であることを示しています。kφk

あなたはこの減少を理解するために、ここでの直感です:小さなラベル()真理値をFalseに相当し、大規模なラベル(V + K + 1 ... 2 V + K)対応へ本当です。リテラル頂点の制約は、各ていることを確認し、X iのいずれかのTrueまたはFalse、それである¯ X I1,2,,v+kv+k+1,,2v+kxixi¯反対の真理値を持ちます。エッジにより、いずれかのリテラルがTrueの場合、それを含むすべての節頂点にもTrueが割り当てられます。(対照的に、節内のすべてのリテラルにFalseが割り当てられている場合、このグラフ構造により節頂点にFalseまたはTrueを割り当てることができます。)最後に、を選択すると、節頂点のkにFalse それらのc - kにはTrueが割り当てられます。このグラフの有効なトポロジカルソートがあるのであれば、その後、少なくとも作るの変数への代入があるk個の節のφは、kkckkφfalse(Falseが割り当てられたすべての節頂点と、場合によってはTrueが割り当てられたものの一部)。逆に、φの節の少なくともを偽にする変数への割り当てがある場合、このグラフの有効なトポロジカルな並べ替えがあります(明白な方法でリテラル頂点のラベルを記入します;そしてφの各節が真である場合、対応する節頂点にTrueに対応するラベルを付けます。他の節頂点は、任意の真理値に対応するラベルを受け取ることができます。kφφ


ご回答有難うございます!あなたのスケッチを理解しようとしています。が何であるかを説明してもらえますか?k
a3nm

1
@ a3nm:kはMinSAT入力に与えられるパラメーターです。
domotorp

1
@Marzio:SATは MinSATと同等ではありません c | 、後者の問題のように、すべての句が偽である必要があります。あなたのφは、すべての句偽の割り当てを持っていません。もちろん、これは私の削減が正しいことを証明しませんk=|c|ϕ
...-domotorp

これは素晴らしい削減です!@ a3nm、答えを編集してdomotorpのエレガントな削減をより詳細に説明することを提案しました。承認されれば、アイデアをより明確に理解するのに役立つことを願っています。
DW

@domotorp:あなたは正しいです、私はMinSATが何であるかを完全に見落としました。素敵な削減!!!
マルツィオデビアージ

2

を任意(必ずしも全単射ではない)にできるようにして問題を緩和すると、多項式になることに注意してください。アルゴリズムは、トポロジカルソートと同様に進みます。頂点に1つずつ番号を付け、隣接する番号が付けられた番号のない頂点のセットUを維持します。可能な限り、あなたは、選択した頂点のx Uとして数を最小の要素S X その中、隣人の数よりも大きいです。インスタンスG S が、前のアルゴリズムがG fUxUS(x)(G,S)は、すべての頂点に番号が付けられて終了します。(G,S)


公正な点として、この緩和は貪欲なヒューリスティックが機能することを意味し、それはが頂点の数ではなく任意の値である場合でも同じです。単射性と全射性がもはや同等ではない後者のケースでは、貪欲なヒューリスティックが機能するために両方(1つだけではなく)を緩和する必要があることに同意しますか?n
a3nm

2

些細な観察は、のすべてのためのxが、この問題は2SATに還元することにより、多項式時間で解けるあります。|S(x)|2x

方法は次のとおりです。可変導入、各頂点に対するX及び各Iように、I S X 。各ペアのためのX Yからパスがある場合、頂点の、XYは、我々はいくつかの制約を取得する:場合、I S X J S Y 、及びI > J、我々は制約を受ける¬ v x ivx,ixiiS(x)x,yxyiS(x)jS(y)i>j。全単射は、私たちに制約の別のセットを提供します:各ペアのためのx yの持つ頂点の X Y、場合私はS X I S yが、私たちは追加 ¬ のV Xを¬ VのY I。最後に、各頂点にラベルを割り当てる必要があるという要件により、さらに別の制​​約セットが得られます。各 xに対して S ¬vx,i¬vy,jx,yxyiS(x)iS(y)¬vx,i¬vy,ix、我々は制約取得のV X IVのX jは。(注制約の唯一の最後のセットは約束を活用することをその | S X |2ごとに、 X。)S(x)={i,j}vx,ivx,j|S(x)|2x

この観察結果は、特定の状況では役に立ちません。ごめんなさい

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.