Ben bu sorunu göstermeye çalışacağı indirgeme ile NP-zor .Planar-3-SAT
Gelen azalma Planar-3-SAT
Bazı temel Gadget'lar
Alet bize azaltacak olan bir devre, kullanım için kapıları oluşturmak için sağlayacak geometri iç konfigürasyonları .Planar-3-SAT
4X3-Gadget
Bu gadget'ın iki geçerli minimum kare bölüm durumu vardır :
Sol A 4X3-Gadget . Orta ve sağ: İki olası asgari kare bölme durumu .
5x4-Gadget
Bu gadget, sadece daha büyük boyutlara sahip bir 4X3 gadget'a benziyor .
Sol A 5x4-Gadget . Orta ve sağ: İki olası asgari kare bölme durumu .
uç nokta-Gadget
TF
Sol: Uç nokta gadget'ının tel çerçevesi . Merkez: Gerçek değerli son nokta. Sağ: Yanlış değerli son nokta.
i-wire gadget'ı
Bir i-wire gadget , ima teli kısaltmasıdır .
Kurallar:
Misal:
72
İşte nasıl kullanılır:
Şekil 8,9 , Sol: iki uç nokta boyunca tel kafes i-teli . Sağ: Birlik.
Şimdi, bir uç nokta doğru durumdaysa, diğer uç noktayı itilmiş konuma zorlar . Misal:
Sol: Kare bölme diyagramı; sol anahtar aşağı, tüm kareleri i-teli aşağı iter ve son olarak diğer anahtarı ( son nokta ) iter . Sağ: Kare bölme diyagramı; sol uç nokta dolu, tüm kareleri i-teli aşağı doğru "itiyor" ve soldaki uç noktayı "yukarı" olmaya zorluyor .
A⟹¬BA⟹B
Ancak, bu kısıtlanmamış davayı bırakır:
İki i-teli birleştirirsek , iki yönlü bir sonuç elde edebiliriz, esasen bir boolean (in) eşitliği:
Yani, iki i-telleri pek bir devre gibi, tam bir eşitlik ilişkisi taşıyabilir - aslında, bu ise bir devre. Bu çiftleri kullanılabilir bir tel oluşturmak için kullanacağız .
l−12+2
i-telleri gerektiği gibi yönlendirilebilir.
tel
Bir tel , her bir uç noktada aynı kapılara bağlanan bir çift i- telden oluşur .
- İ-telleri kırmızı ve yeşil renklidir.
- 3
- Her kapı piminin yeşil ve kırmızı bir teması olacaktır; bir tel doğru şekilde bağlanmalıdır.
- Değişmez kural: bir i-teli diğer i-teli ters yönde itilir, her kapı bunu kabul eder ve bundan emin olur (aksi belirtilmedikçe).
- Her tel iki yönlü bir ima içerdiğinden, değerleri bir devrede bir tel gibi kapıdan kapıya taşır.
- Her tel her iki uçtan bir kapıya bağlanmalıdır. . Bu başarısız olursa, tarif ettiğim bazı kapıların varsayımlarını ve yukarıdaki değişmez kuralı mahvedebilir; ancak, uçlar arasında uç noktaları olan kapılar güvenlidir - kapıyı bozması konusunda endişelenmeden başıboş kabloları bu uç noktalara bağlayabilirsiniz .
- kablolar bağlandığı herhangi bir devreye giden kablolar da dahil olmak üzere tek uzunlukta olmalıdır ; ancak aşağıda, çift uzunlukta bir telin tek uzunlukta olmasına izin veren tek bir atlama geçidini tarif edeceğim.
Resimler :
Yukarıda: Bir tel .
Sol ve sağ: Bir telin iki olası minimum kare bölme durumu . Tel sadece bu uzunluktaysa, sağa veya sola kaymayacak ve bir kareyi daha küçük parçalara ayırmak zorunda kalacağını unutmayın.
teller gerektiği gibi yönlendirilebilir.
viraj kapısı : Bir telin bükülmesi
Sol: Tel çerçeve görünümü. Sağ: Birlik görünümü.
4X3 gadget'ının kullanımına dikkat edin . Kırmızı ucu tuhaf uzunluğa sabitlemek için kullanılır.
Aşağıda , virajın iki olası minimal kare bölümleme durumu bulunmaktadır:
Sol ve sağ: Bir bükme telinin iki olası minimum kare kare bölme durumu .
Kapı gerektiği gibi yönlendirilebilir. Açıkçası, bu kapı diğer yönde çalışmak üzere yansıtılabilir.
Tel bükme
Bir teli kaydırmak kolaydır. Tel kafes illüstrasyon:
adlı değerli kapısı
Bir adlı-değeri-geçidi , esasen bir tel kontaklı bir kapı gibi bir uç nokta:
tek atlama kapısı : Bir tel atlama tuhaf
Bazen sadece tek uzunlukta kablolara sahip olmak uygunsuz olabilir. Örneğin:
Gördüğünüz gibi, bu uzatma biraz sinir bozucu. İşte 4X3 geçidini kullanan karşılık gelen bir çözüm :
Yani, bunu bir kapıya dönüştürdüğümüzde, tek atlama kapısı (tel kafes içinde) elde edilir:
Kapı gerektiği gibi yönlendirilebilir.
twist-gate : Bir telin bükülmesi
Bazen bir kapı ile kullanmak için yanlış taraflardaki kırmızı ve siyah i-telleri alırsınız . Bu durumda, kırmızı ve siyah i-tellerini karşı taraflara bükmek için bir büküm kapısı sağlanır .
Tel kafes illüstrasyon:
Çalıştığına ikna edin:
A
Kapı gerektiği gibi yönlendirilebilir.
split-gate : Bir telin bölünmesi
Bir telin bölünmesi, tel kafes:
Kendinizi işe yaradığına ikna edin:
A
A
Not: Ayırıcıya giren ve çıkan her tel , değişmezi korumak için kesinlikle bir yerdeki uç noktaya bağlanmalıdır. Alternatif olarak, ayırıcının uç çiftlerinin her birine uç noktalar ekleyebilirsiniz.
Kapı gerektiği gibi yönlendirilebilir.
değil kapısı
Not gate bir tel alır ve ters etkileri olan bir tel çıkarır. Bu, tellerin renklerini yeniden etiketlemesi dışında temelde bir bükümlü geçittir. Not -gate şöyle görünür:
Ve iki olası durumun bir görüşü:
Kapı gerektiği gibi yönlendirilebilir.
şarttan kapısı
İçin şarttan kapısı , öncelikle tanıtmak şarttan gadget :
3
Kapı böyle görünüyor:
3
Açıklama:
- Clause-gadget ile başlayın ve okları takip edin.
- Ok çizgileri olmayan, bir devrenin parçası olduğu anlamına gelir, ancak kapı tarafından bir duruma zorlanmaz.
- Devlet şarttan Gadget uç noktaları güçleri birine değerli olması doğrudur .
3-CNF
Kapı gerektiği gibi yönlendirilebilir.
indirgeme
Φ(x)Planar-3-SAT
Φ(x)=∧niCi,C={(xj∨xk∨xl)}
Görsel bir yardım (orijinal kaynak: Terrain Guarding NP- Hard'dur (PDF) , tikz'de çoğaltılmıştır):
Sonra:
- xi∈xxi¬xi
- Kapıları birbirine değil , birbirlerinin değerlerini mantıksal olarak reddedecekleri şekilde bir geçitle bağlayın .
- Değişkenlerin 'kapılar' çokgenlerini düzlemsel gömme yerlerine yerleştirin.
- Her bir cümle için, cümlenin düzlemsel gömme konumundaki konumuna bir cümle kapısı yerleştirin.
- Yukarıda açıklanan kapıları kullanarak tüm değişkenleri kendi cümlelerine bağlayın.
- Bir Run asgari kare paritioning-algoritma geçidin çokgen tüm sonuçlanan dikmesi (tüm devre).
- Algoritma, kapının tüm minimum kare bölümleme durumu boyutlarının (paylaşılan köşeler için çıkarma) toplamını döndürürse , tatmin edici olur. Eğer tatmin edici değilse, kısıtlanmış bir aygıtı daha küçük karelere ayırmaya zorlayacak ve böylece devreyi bölümlemek için gereken karelerin sayısını artıracaktır.
Neden çalışıyor?
- Her aygıtın minimum kare bölüm durumu boyutu vardır; yani, bu gadget'ın minimal kare bölümü belirli bir boyuttadır.
- Bazı gadget'ların bu boyutta birkaç durumu vardır; bu durumların her biri geçerli minimum kare bölümlerdir .
- Gadget'lar yalnızca köşelerde birleştirildiğinde, gadget'ların minimal kare bölümleme durumlarının toplamı * hala bunların birleşmesinin minimUM-kare bölümleme durumudur ; bunu sezgisel olarak görebilirsiniz: köşeye katılmak, bir karenin başka bir gadget'tan bir kareyi genişletmesi / bağlanması için yeterli alan sağlamaz.
- Köşesinde gadget'lar birleştirerek azaltmak etmese de toplam asgari kare bölüm boyutunu , bu mu ilgilidir ve her-diğer aygıtları sınırlamak.
- Yukarıda gösterilen kapılarla, durumları yeterince kısıtlayabilirsiniz, böylece mantıksal formül tatmin edici değilse, bir veya daha fazla gadget daha da küçük karelere girmeli ve minimum kare bölüm boyutunu artırmalıdır .
grafik kaynakları
Ayrıca imgur URL'lerinin "s", "m", "l" soneklerini kaldırarak daha büyük görüntüler görebilirsiniz. Örneğin, http://i.stack.imgur.com/6CKlG.jpg adresine giderek
bunun daha büyük bir resmini görebilirsiniz: http://i.stack.imgur.com/6CKlGs.jpg . Önce eksik "s" dikkat edin .jpg
.