Dinamik Programlama hiçbir zaman Açgözlü'den daha zayıf değil mi?


15

Devre karmaşıklığında, çeşitli devre modellerinin güçleri arasında ayrımlarımız vardır.

İspat karmaşıklığında, çeşitli ispat sistemlerinin güçleri arasında ayrımlarımız var.

Ancak algoritmik olarak, algoritmik paradigmaların güçleri arasında hala çok az ayrımımız var. .

Aşağıdaki sorularım iki paradigma için bu ikinci soruna değinmeyi amaçlıyor: Açgözlü ve Dinamik Programlama.

Bir dizi temel öğemiz var ve alt kümelerinin bazı aileleri uygulanabilir çözümler olarak ilan edildi. Bu ailenin aşağıya kapalı olduğunu varsayıyoruz: uygulanabilir çözümün alt kümeleri uygulanabilir. Zemin elemanlarına negatif olmayan ağırlıkların atanması göz önüne alındığında, sorun uygun bir çözümün maksimum toplam ağırlığını hesaplamaktır.

Açgözlü algoritma, boş bir kısmi çözelti ile başlar ve her aşamada, eğer mümkün ise, yani uzatılmış çözelti hala mümkünse, en büyük ağırlıkta henüz işlenmemiş bir element ekler. İyi bilinen Rado-Edmonds teoremi, bu algoritmanın, uygulanabilir çözümler ailesi bir matroid olduğu takdirde tüm girdi ağırlıkları için en uygun çözümü bulacağını belirtir.

Kabaca söylemek gerekirse, sadece Max ve Sum (veya Min ve Sum) işlemlerini kullanıyorsa DP algoritması basittir . Daha spesifik olmak gerekirse (Joshua tarafından önerildiği gibi), basit bir DP algoritması ile fanin-2 Max ve Sum geçitleri olan bir (max, +) devre anlamına geleceğim. Girişler , i-i elemanına verilen ağırlığa karşılık gelen değişkenlerdir . Bu tür bir devre çözebilir herhangi bir uygun çözümün en büyük toplam ağırlığı hesaplayarak bu tür bir problemi vardır. Ancak, katlanarak bu tür birçok çözümümüz varsa (neredeyse her zaman olduğu gibi) büyük bir abartılmış olabilir.benben

Soru 1: Karşılık gelen maksimizasyon problemini çözmek için herhangi bir basit DP algoritmasının süper polinom sayıda işleme ihtiyaç duyacağı matroidler var mı?

YORUM (24.12.2015 eklendi): Bu soru (aşağıya bakınız) cevaplanır: orada olan bu tür Matroid'ler, hatta ezici çoğunluğu içinde.

Bir sonraki soru, yaklaşım problemleri için Açgözlü ve basit DP'yi ayırmayı ister . Gelen En Ağırlık Eşleştirme sorun, uygun çözümler ailesi tam ikili tüm eşleşmeleri oluşur grafik. Kenarlarına belirli bir ağırlık ataması için amaç, bir eşleşmenin maksimum ağırlığını hesaplamaktır (ağırlık her zaman mükemmel bir eşleşme olacaktır, çünkü ağırlık negatif değildir). nxn

Basit açgözlü algoritma bu sorunu faktör 2'de yaklaşık olarak tahmin edebilir: her zaman azami ağırlığın henüz görülmemiş bir ayrık kenarını alın. Elde edilen ağırlık, optimal ağırlığın en az yarısı olacaktır.

Soru 2: Basit bir DP algoritması, yalnızca polinom olarak çok sayıda Max ve Sum işlemi kullanarak faktör 2 içindeki Maks-Ağırlık Eşleştirme sorununa yaklaşabilir mi?

Tabii ki, bir kenarın maksimum ağırlığının katının çıktısını veren önemsiz bir DP algoritması, bu soruna n faktörü dahilinde yaklaşır . Ama çok daha küçük bir faktör istiyoruz. Sanırım bir faktör n / log n elde edilemez ama yine: bunu nasıl kanıtlamak için ? nnn/günlükn

İLGİLİ: Maksimum Ağırlık Eşleşmesinin bir kuzeni Ödev problemidir : mükemmel bir eşleşmenin minimum ağırlığını bulun . Bu problem (tam olarak bile) doğrusal programlama ile (Macar algoritması denir) sadece işlemleri. Ancak daha düşük kalıcı fonksiyonunun hesaplanması monoton Boole devrelerin boyutunu Razborov sınırı (oldukça direkt olarak) ifade eder, herhangi bir (!) Sonlu kullanmalıdır faktörü içinde bu sorunu yaklaşan bir (dk, +) devre n Ω ( log n )Ö(n3)nΩ(günlükn) işlemler . Böylece, en aza indirmek içinbasit DP algoritmaları Doğrusal Programlamadan çok daha zayıf olabilir. Yukarıdaki sorularım böyle DP algoritmalarının Greedy'den bile daha zayıf olabileceğini göstermeyi amaçlıyor.

Birisi benzer soruların birisi tarafından değerlendirildiğini gördü mü?


EKLENDİ (24.12.2015 tarihinde): Soru 2 , faktör r = 2 ile açgözlü algoritma ile tahmin edilebilecek belirli bir maksimizasyon probleminin (Maks-Ağırlık Eşleştirme problemi) çok boyutlu bir basit ile yaklaşılamayacağını göstermeyi amaçlamaktadır. Aynı faktörlü DP r . Bu arada, Açgözlü ve basit DP arasında daha zayıf bir ayırma elde ettim: her r = o ( n / log n ) için , faktör r ile açgözlü algoritma ile tahmin edilebilen açık bir maksimizasyon problemi var , ancak çok boyutlu basit DP yok algoritma bu soruna daha küçük bir yaklaşıkr=2rr=Ö(n/günlükn)r faktörü (bkz<r/3 çizim için buraya ). Yine de, Soru 2'nin kendisi (bu özel Maks-Ağırlık problemi için gerekli değildir) hala geçerli: her iki algoritma tarafından aynı faktörü hedeflemek ilginç olacaktır .


2
"Basit DP algoritmasını" "fan girişi 2 geçitli herhangi bir (maks, +) devre" olarak tanımlamak istiyor musunuz ?
Joshua Grochow

xben,jKnD(j,1)=xs,jD(j,l)=min{D(j,l-1),mbennben{D(ben,l-1)+xben,j}}D(t,n-1)Ö(n3)

Yanıtlar:


6

Soru 1'in cevabının olumlu olduğunu düşünüyorum : basit DP'nin kötü bir şekilde başarısız olduğu matroidler var ! Yani, bir optimizasyon problemini tam olarak çözmeye çalışırken basit DP Açgözlü'den çok daha kötü olabilir .

KnKnff(maksimum,+)

22n/n3/2n

2kkMatroid'ler. Öte yandan, bildiğim kadarıyla, DP tabanlı yaklaşım algoritmaları genellikle giriş ağırlıklarının bir tür "ölçeklendirmesini" kullanır ve yalnızca "sırt çantası benzeri" sorunlar veya bazı programlama sorunları için geçerlidir. Soru 2'ye verilen olumsuz bir cevap , DP'nin bu "yaklaşım zayıflığı" nı doğrulayacaktır .


1
Biraz teğetsel bir açıklama: DP aynı zamanda çeşitli sabit boyutlu Öklid problemleri, örneğin Öklid TSP'si için Arora tarzı algoritmalarda da kullanılır. Ama bu hala girdiyi yuvarlama ruhunda.
Sasho Nikolov

@Sasho: Evet, bunlar gerçekten sevimli DP tabanlı algoritmalar. Woeginger , DP'nin yaklaşık olarak onlara yardımcı olabileceği sorunları yakalamak için bir girişimde bile bulundu. Ama saf olan iyi bir DP yaklaşımı görmedim (sadece Max ve Sum veya Min ve Sum, yuvarlama / ölçeklendirme, ArgMax yok vb.) Tabii ki, bu sadece benim hatam olabilir: yaklaşım algoritmaları benim için yeni bir şey .
Stasys

Saf anlamında iyi bir "saf" DP yaklaşımının herhangi bir örneğinin farkında değilim: tüm örnekler bir çeşit yuvarlama kullandığının farkındayım.
Sasho Nikolov
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.