Sınırlı konumlarla topolojik sıralama karmaşıklığı


15

I girişi DAG olarak verilen am G ve n her bir köşe köşe x ilave olarak bir ile etiketlenir S(x){1,,n} .

Bir topolojik sıralama G bir bijection olan f köşe gelen G için {1,,n} , öyle ki tüm x , y , bir yol olup olmadığını x için y de G daha sonra f(x)f(y) . Tüm x , f ( x ) S ( x için topolojik bir türü olup olmadığına karar vermek istiyorumGxf(x)S(x) .

Bu karar sorununun karmaşıklığı nedir?

[Notlar: Açıkça bu NP. İzin verilen tepe / konum çiftlerinin grafiğine bakarsanız, düzeni ihlal ettikleri için çakışan eşleşmeler arasında yönlendirilmemiş kenarlara sahipseniz, her bir klip için en fazla bir çift, her biri için en fazla bir çift seçmek istediğiniz ayrık uçların grafiğini alırsınız. ve her köşe için en fazla bir çift - 3 boyutlu eşleştirme ile ilgili gibi görünüyor, ancak bu özel sorunun ek yapısı ile hala zor olup olmadığını göremiyorum.]

Yanıtlar:


9

Bence bu problem NP-zor. MinSAT'tan bir indirim çizmeye çalışıyorum. MinSAT probleminde bize bir CNF verilir ve amacımız memnun cümlelerin sayısını en aza indirmektir. Bu sorun NP açısından zordur, bkz. Örneğin http://epubs.siam.org/doi/abs/10.1137/S0895480191220836?journalCode=sjdmec

Köşeleri iki gruba ayırın - bazıları değişmezleri, diğerleri yan tümceleri temsil eder, bu nedenle ; burada v , CNF'nin değişkenleri sayısıdır (genellikle n ile gösterilir ) ve c , yan tümce sayısıdır. Her değişmez tepe noktasından bir kenarı oluştuğu yan tümce tepe noktasına yönlendirin. X i'yi { i , i + v + k } (burada k isteğe bağlı bir parametredir) olarak temsil eden bir değişmez köşe için S'yi tanımlayın , böylece f ( x i )n=2v+cvncSxi{i,i+v+k}k ve f ( ˉ x i ) = i + v + k veya f ( ˉ x i ) = i ve f ( x i ) = i + v + k . Her fıkra-vertix için S = { v + 1 , , v + k , 2 v + k + 1 , … olsunf(xi)=if(x¯i)=i+v+kf(x¯i)=if(xi)=i+v+k , bu nedenleyan tümce köşelerinin k `` küçük '' olur.S={v+1,,v+k,2v+k+1,,n}k

Şimdi CNF'nin, ancak yukarıdaki örnek için sorununuz çözülebiliyorsa ve en azından cümleciklerinin yanlış olduğu bir ödevi vardır . MinSAT sorunu, bir CNF formülünün φ en az k yan tümcesini yanlış yapan bir atamaya sahip olup olmadığını sınamaktır , bu da sorununuzun NP-zor olduğunu gösterir.kφk

Bu azaltmayı anlamanıza yardımcı olmak için sezgi: küçük etiketler ( ) Yanlış doğruluk değerine karşılık gelir ve büyük etiketler ( v + k + 1 , , 2 v + k ) karşılık gelir Doğru. Değişmez köşeler için kısıtlamalar, her x i'nin Doğru veya Yanlış olmasını ve ¯ x i olmasını sağlar1,2,,v+kv+k+1,,2v+kxixi¯tam tersi bir değere sahiptir. Kenarlar, herhangi bir değişmez değer True ise, onu içeren tüm yan tümce köşe noktalarına da True atanmasını sağlar. (Bir yan tümcesinde tümü değişmezdir Yanlış atanmışsa aksine, daha sonra bu grafik yapısı şarttan tepe ya Yanlış veya Doğru atanmasını sağlar.) Son olarak, seçimi teminat altın o k şarttan köşe Yanlış atanır ve edilir c - k'larına True atanır. Dolayısıyla, bu grafiğin geçerli bir topolojik türü varsa, değişkenlere φ cümlelerinin en az k'sını yapan bir atama vardır.kkckkφfalse (False olarak atanan tüm yan tümce köşeleri ve büyük olasılıkla True olarak atanmış olanlardan bazıları). En azından yapar değişkenlere bir atama varsa Tersine, getirdiği hükümlerin φ Yanlış, o zaman bu grafiğin geçerli bir topolojik sıralama (biz bariz bir şekilde değişmez-köşeler için etiket doldurun olduğu; ve için her maddesi cp diğer şarttan köşeler) keyfi bir gerçek değerine karşılık gelen etiket alabilir; doğru olduğu için, buna karşılık gelen bir tepe noktası şarttan doğru tekabül bir etiket sağlar.kφφ


Cevabınız için teşekkürler! Eskizini anlamaya çalışıyorum. Ne açıklayan sakıncası var nedir? k
a3nm

1
@ a3nm: k, MinSAT girişi için verilen bir parametredir.
domotorp

1
@Marzio: SAT, , ikinci problemde olduğu gibi tüm cümlelerin yanlış olmasını isteriz. Kişisel φ bir bütün maddelerinin yanlış atama yok. Tabii ki bu benim indirgememin doğru olduğunu kanıtlamaz ...k=|c|ϕ
domotorp

Bu muhteşem bir azalma! @ a3nm, domotorp'un zarif indirgemesini daha ayrıntılı olarak açıklamak için cevaba bir düzenleme önerdim; onaylanırsa, umarım fikirleri daha net anlamanıza yardımcı olur.
DW

@domotorp: Haklısın, MinSAT'in ne olduğunu tamamen özledim. Güzel azaltma !!!
Marzio De Biasi

2

Sorunu keyfi olmasına (iki yönlü olması gerekmez) izin vererek gevşetirseniz , o zaman polinom haline gelir. Algoritma topolojik sıralamaya benzer şekilde ilerler: komşuları numaralandırılmış numarasız köşelerin U setini koruyarak köşeleri tek tek numaralandırırsınız. Mümkün olduğunda, seçtiğiniz bir köşe x U ve birlikte sayı onu en küçük unsuru S ( x ) onun içinde komşularının sayılardan daha büyüktür. Bir örneğin ( G , S ) , önceki algoritmanın ( G ,fUxUS(x)(G,S)(G,S)


n

2

Önemsiz bir gözlem, eğer |S(x)|2 for all x, then this problem is solvable in polynomial time, by reduction to 2SAT.

Here's how. Introduce a variable vx,i for each vertex x and each i such that iS(x). For each pair x,y of vertices, if there is a path from x to y, we get some constraints: if iS(x), jS(y), and i>j, then we get the constraint ¬vx,i¬vy,j. Bijectivity gives us another set of constraints: for each pair x,y of vertices with xy, if iS(x) and iS(y), we add ¬vx,i¬vy,i. Finally, the requirement that each vertex must be assigned a label gives us yet another set of constraints: for each x, if S(x)={i,j}, we get the constraint vx,ivx,j. (Note that only the last set of constraints exploit the promise that |S(x)|2 for each x.)

I realize this observation won't help you in your particular situation. Sorry about that.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.