Seyrek bir grafiğin çevresini bulmak için en uygun algoritma?


14

Seyrek yönlendirilmemiş bir grafiğin çevresini nasıl bulacağımı merak ediyorum . Seyrek olarak kastediyorum . Optimum olarak en düşük zaman karmaşıklığını kastediyorum.|E|=O(|V|)

Tarjan'ın yönlendirilmemiş grafikler için algoritmasında bazı değişiklikler yapmayı düşündüm , ancak iyi sonuçlar bulamadım. Aslında 2 bağlantılı bir bileşen bulabilirsem, o zaman ilk bölümü elde edebilecek bir tür indüksiyonla çevresi bulabileceğimi düşündüm. Yine de yanlış yolda olabilirim. Asimptotik olarak (yani ) ' den daha iyi herhangi bir algoritma kabul edilir.O(|V|)Θ(|V|2)o(|V|2)


1
Virginia Vassilevska Williams ve Ryan Williams, genel grafiklerde çevre buluntusunun subkübik dönüşümler altında APSP'ye eşdeğer olduğunu gösteren bir makaleye sahiptir. İlişkinin seyrek grafikler için geçerli olup olmadığını bilmiyorum, ancak bu, subkokratik olmanın zor olabileceği anlamına geliyor. Her ikisinin de ayrıntıları
paylaşmasına


SSS girişlerine doğrudan yorum bırakmıyoruz, bir öneriniz varsa bir meta tartışma başlatabilir veya buradan mesaj gönderebilirsiniz .
Kaveh

Yanıtlar:


24

Yönlendirilmemiş ağırlıksız grafiklerde çevre sorunu hakkında bildiklerim. Her şeyden önce, eğer çevre eşitse , zamanında belirtebilirsiniz - bu Itai ve Rodeh'in eski bir sonucudur (A. Itai ve M. Rodeh. Bir grafikte minimum devre bulmak. SIAM J. Computing, 7 (4): 413–423, 1978.). Fikir var: grafikteki her köşe için, ilk döngü kapanana kadar bir BFS başlatın (sonra durun ve bir sonraki tepe noktasına geçin); bulunan en kısa döngüyü döndürür. Çevresi bile en kısa döngü ise en kısa döngü olacaktır. Özellikle grafiğiniz iki taraflı ise, bu daima çevresi hesaplar. Çevresi ise garip, ancak, uzunluk döngüsünü bulacaksınız veya size göre kapalı olabilir, böylece .O(n2)ggg+11

Şimdi, garip çevredeki asıl sorun, kaçınılmaz olarak algoritmanızın grafiğin bir üçgeni olup olmadığını tespit edebilmesi gerektiğidir. Bu kullanım matris çarpımı en iyi algoritmalar: min { üzerindeki grafikler zaman düğümleri ve kenarları. Itai ve Rodeh, yoğun grafiklerde bir üçgen bulabilen herhangi bir algoritmanın da çevreyi hesaplayabildiğini gösterdi, bu nedenle zaman çevresi algoritmasına sahibiz . Bununla birlikte, seyrek grafiklerde çevre için çalışma süresi, üçgenleri bulmak için iyi değildir. Genel olarak bildiğimiz en iyi şey . Özellikle, en zor görünen şey, şu grafiklere sahip zaman algoritmasını bulmaktır.O(n2.38,m1.41)nmO(n2.38)O(mn)o(n2)m=O(n) .

Yaklaşım algoritmalarına önem veriyorsanız, Liam Roditty ve ben SODA'12'de şu konuda yeni bir makalemiz var: Liam Roditty, V. Vassilevska Williams: Çevresi için subadratik zaman yaklaştırma algoritmaları. SODA 2012: 833-845. Burada subakadratik zamanda yaklaştırmanın bulunabileceğini ve toplamsal yaklaşımlar ve uzantılarla ilgili diğer bazı sonuçların olduğunu gösteriyoruz. Genel olarak konuşursak, Bondy ve Simonovits teoremi nedeniyle, yoğun grafikleriniz olduğunda, kenarlarında, bunlar zaten kısa çift döngüler içerir, kabaca . Dolayısıyla grafik ne kadar yoğunsa, çevreyle iyi bir yaklaşım bulmak o kadar kolay olur. Grafik çok seyrek olduğunda, çevre esasen keyfi olarak büyük olabilir.2n1+1/k2k


5
harika! Uzmanın gelmesini umuyordum :)
Suresh Venkat

Virginia, sonucu için iyi bir referans nedir? Bu Yuster ve Zwick tarafından mı? O(m1.41)
Rachit

2
zamanlı üçgen bulgu algoritması bu yazıda olan N. Alon, R. Yuster, ABD Zwick. "Verilen uzunluk döngülerini bulma ve sayma", Proc. ESA, 1994, sayfa 354–364. O(m1.41)
virgi


5

Düzlemsel bir grafiğin çevresini bulmak ilginç bir tarihe sahiptir. Doğrusal bir zaman algoritması ve iyileştirmelerin geçmişi için Chang ve Lu'nun bu makalesine bakın .

Kolan bulmak için genel bir tekniktir yoktur herhangi seyrek grafiğin. Genellikle daha iyi sınırlar elde etmek için ilgili özel ayrışmalara veya düğünlere bakmak zorundayız. Bir grafik "kanıtlanabilir" seyrek ise, genellikle onunla ilişkili hoş bir yapı vardır. Örneğin, sınırlandırılmış üçlü genişlik grafikleri seyrektir ve ilişkili ağaç ayrışmalarına sahiptirler.

Genel seyrek grafikler için algoritması tasarlamak açık bir sorundur.o(n2)


Düzlemsel kağıt ilginç görünüyor, teşekkürler.
Saeed
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.