PLANARİTE için en basit polinom algoritması nedir?


28

Polinom zamanında bir grafiğin düzlemde çizilip çizilemeyeceğine, hatta birçoğunun doğrusal bir çalışma süresine sahip olmasına karar veren birkaç algoritma vardır. Ancak, sınıfta kolay ve hızlı bir şekilde açıklayabildiği çok basit bir algoritma bulamadım ve PLANARİTE'nin P de olduğunu gösterebilirdim.

Gerekirse, Kuratowski'nin veya Fary'nin teoremini kullanabilirsiniz, fakat grafik minör teoremi gibi derin şeyler kullanmayın. Ayrıca çalışma zamanı umurumda değil, sadece polinom bir şey istiyorum.

Aşağıda basitlik / derinlemesine teoriye gerek duyulmayan bir işlemlik olduğunu gösteren şu ana kadar en iyi 3 algoritma bulunmaktadır.

Algoritma 1: Bir grafiğin polinom zamanında minör olarak veya içerip içermediğini kontrol edebilirsek , derin teori kullanarak çok basit bir algoritma elde ederiz. (Bu teorinin, Saeed'in işaret ettiği gibi zaten grafik yerleştirmeleri kullandığına dikkat edin, bu yüzden bu, gerçek bir algoritmik yaklaşım değildir, sadece grafik minör teoremini zaten bilen / kabul eden öğrencilere söylemesi basit bir şeydir.)K 3 , 3K5K3,3

Algoritma 2 [birinin cevabına dayanarak]: 3 bağlantılı grafikle başa çıkmak için yeterli olduğunu görmek kolaydır. Bunlar için bir yüz bulun ve ardından Tutte'nin bahar teoremini uygulayın.

Algoritma 3 [Juho tarafından önerilir]: Demoucron, Malgrange ve Pertuiset (DMP) algoritması. Bir döngü çizin, kalan grafiğin bileşenlerine parça adı verilir, bunları uygun bir şekilde yerleştiririz (bu arada yeni parçalar oluşturur). Bu yaklaşım başka teorem kullanmaz.


1
Sanırım çoğu, en basit polinom zaman algoritmasının Demoucron, Malgrange ve Pertuiset (DMP) algoritması olduğu konusunda hemfikir. Genellikle bir algoritma ders kitabıdır (bkz. Örneğin Gibbons 1985 veya Bondy & Murty 1976). Sadece düzlemselliğe karar vermek yeterli mi, yoksa algoritma da düzlemsel bir gömme mi sağlamalı? IIRC, Boyer ve Myrvold @joro'nun SODA'99 makalesi büyük olasılıkla, özellikle zaman karmaşıklığı ile ilgili detayları ortaya koymaktadır.
Juho

2
Sadece karar sorununu istiyorsan IS PLANAR, polinom zamanında varlığı kontrol edilebilecek iki küçük çocuk yeterli değil mi?
joro

2
@joro: Evet, elbette bu basit bir çözüm olurdu, ancak böyle güçlü bir teorem kullanmaktan kaçınmayı tercih ederim.
domotorp

1
Bahsettiğim algoritma temelde Auslander-Parter algoritmasıydı. Algoritmamdaki sorun, bileşenlerin grafiğini iki tarafa ayırabileceğimizi söylediğimde 7. bölümdü. Orijinal algoritmada yapabiliriz, ancak algoritmada, bileşenlerin daha kesin tanımlarına ihtiyacımız olduğunu söyledim ve onu ayrıntılı bir şekilde açıklamak istemedim. Özyinelemeli kısmı açıkça doğruydu (eğer 7. adımı yapabilirsek, o zaman biz yapılır), onun doğruluğu hakkında şüpheniz var. Cevabımı güncellemedim, çünkü iki sayfa civarında olacağını gördüm ve daha fazla kısaltma yapamayacağım ve basit olarak adlandırmak iyi değil.
Saeed,

3
3 bağlantılı kasaya küçültmek kavramsal olarak basittir ve her durumda açıklanmalıdır. Verimlilikle fazla ilgilenmiyorsak 3 bağlantılı kasaya indirgeme kolayca yapılabilir. Tüm 2 düğüm kesmelerini kontrol edin.
Chandra Chekuri

Yanıtlar:


6

Bir algoritma tanımlayacağım. Bunun "kolay" olarak nitelendirildiğinden emin değilim ve ispatların bazıları o kadar kolay değil.

İlk önce grafiği, Chandra Chekuri tarafından belirtildiği gibi 3 bağlantılı bileşenlere ayırıyoruz.

  1. Grafiği bağlı bileşenlere bölün.
  2. Bağlanan her bileşeni 2 bağlantılı bileşenlere bölün. Bu, bağlı olup olmadığını her 2-bağlı bileşenin her bir köşesi için polinom zaman kontrolünde yapılabilir .G i G i - vvGiGiv
  3. Her 2 bağlı bileşeni 3 bağlı bileşenlere bölün. Bu, nin bağlı olup olmadığına bağlı olarak 2-bağlı her bir bileşeninin iki ayrı köşesinin polinom zaman kontrolünde yapılabilir .G i G i - { v , u }v,uGiGi{v,u}

Grafiğin 3 bağlı bir bileşeninin düzlemsel olup olmadığını kontrol etme problemini azalttık. 3 bağlantılı bir bileşen göstermesini sağlayın .G

  1. Herhangi bir çevrim al arasında .GCG
  2. Dışbükey bir çokgenin köşeleri olarak köşelerini sabitleyin. Diğer köşe noktalarının her birini komşularının barycenter'ına koyun. Bu, her tepe noktasının koordinatlarını söyleyen bir doğrusal denklem sistemine yol açar. Let Elde edilen çizim olabilir; geçişleri olabilir.DCD
  3. Eğer hiçbir geçişleri var, biz bitti.D
  4. nin herhangi bir bileşeninde köşelerini alın . nin indüklenen altyazılarına olan kısıtlaması düzlemsel olmalıdır. Aksi takdirde, düzlemsel değildir. Bir yüzü al çekme içinde kaynaklı alt grafiği ile sınırlı , ve izin tanımlayan çevrim olması . Eğer düzlemsel olması, o zaman bir yüz devir olması gerekir. ( bir Hamilton döngüsü olduğunda, bir kenar kullanılarak yapılmalıdır.)G - V ( C ) D G [ U V ( C ) ] G F D G [ U V ( C ) ] C F G C C C UGV(C)DG[UV(C)]GFDG[UV(C)]CFGCCC
  5. Adım 2'yi C yerine C 'ile tekrarlayın. Elde edilen çizim düzlemsel ise, düzlemseldir. Başka düzlemsel değil.GGG

Uyarılar:

  • Tutte'nin ilkbahar gömmesinin düzlemsel bir göbeklenme sağladığını iddia etmek kolay değildir. Edelsbrunner ve Harer, Hesaplamalı Topoloji kitabındaki sunumu beğendim, ancak bu sadece nirengi için. Colin de Verdiere, http://www.di.ens.fr/~colin/cours/algo-graphs-surfaces.pdf , 1.4. Genel referans Linial, Lovász, Wigderson: Kauçuk bantlar, dışbükey gömüler ve grafik bağlantısıdır. Combinatorica 8 (1): 91-102 (1988).
  • Çok yönlü bir aritmetik işlemlerde doğrusal bir denklem sistemini çözmek, Gaussian ortadan kaldırmasıyla kolaydır. Çok sayıda bit kullanarak bunu çözmek o kadar kolay değil.

Köprü ve üst üste binme grafiğini kullanmaktan kaçınmak için cevabı değiştirdim.
Birisi

Her 3 bağlı bileşenin gömülebileceğini varsayalım. Öyleyse orijinal grafik hakkında ne çıkarabiliriz? Bu 3 bağlantılı grafik kullanarak (en fazla) bir gömme vardır, muhtemelen buradan bitirebiliriz, ancak bu adım da yapılmalıdır.
domotorp

Sonunda, 4. adımda, düzlemsel olmayan bir çizimdeki yüz nedir? Sanırım bu hala doğal bir şekilde tanımlanabilir. Ve en sonunda, "Başka G düzlemsel değil" gerçekten önemsiz görünüyor.
domotorp

DG[UV(C)]G

Bu konuda hemfikiriz, ancak bunun nasıl yardımcı olduğunu anlamıyorum.
domotorp

3

Boyer ve Myrvold'un algoritması, düzlemsel test algoritmalarının durumu arasında sayılmaktadır.

Kesme Kenarı: Basitleştirilmiş O (n) Boyer ve Myrvold tarafından Kenar Eklemeli Düzlem.

Bu kitap bölümü birçok düzlemsel test algoritmasını araştırıyor ve umarım yeterince basit bir algoritma bulursunuz.


Düzlemsel algoritmaların en son teknolojisiyle ilgilenmiyorum, açıklanması kolay bir şey istiyorum. Kitaptaki Demoucron, Malgrange ve Pertuiset (DMP) algoritmasından daha basit bir şey bulamadım.
domotorp

0

Peki ya Hopcroft ve Tarjan'ın 1974 algoritması {1} ?


{1} Hopcroft, John ve Robert Tarjan. "Verimli düzlemsellik testi." ACM Dergisi (JACM) 21.4 (1974): 549-568.


Hızlı ve basit bir algoritma değil.
domotorp

0

LogSpace’de iki algoritma

  1. Eric Allender ve Meena Mahajan - Düzlemsellik Testinin Karmaşıklığı
  2. Samir Datta ve Gautam Prakriya - Planarlık Testi Tekrar Ziyaret Edildi

İkincisi, ilkinden çok daha basittir.


Hiç basit değil.
domotorp
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.