Negatif olmayan verilere sahip 0-1 programları için kesin üstel zaman algoritmaları


9

Naif algoritmayı yenen aşağıdaki sorun için bilinen algoritmalar var mı?

Giriş: matris A ve vektörler b,c, burada tüm girişler A,b,c negatif olmayan tamsayılardır.

Çıktı: optimum çözüm x için max{cTx:Axb,x{0,1}n}.

Bu soru, önceki sorumun rafine bir sürümüdür 0-1 programlama için kesin üstel zaman algoritmaları .

Yanıtlar:


5

sıfır olmayan katsayıların sayısı doğrusal ise , bu sorunu daha kısa sürede çözen bir algoritma vardır .An2n

İşte böyle. Optimizasyon problemi ve buna karşılık gelen karar problemi arasındaki standart bağlantıyı kullanıyoruz. Test için bir çözüm olup olmadığı burada ve , bir karar sorun oluşturur: Daha kısıtlaması bitişik olacak matrisi ve test olmadığını herhangi vardır öyle ki ve . Özellikle, yeni bir matris oluşturacak alarak içeren ve fazladan bir satır ekleme , ve oluşturacak alarakxAxbcTxαcTxαAxAxbcTxαAAcTbbve ile fazladan bir satıra bitişik . Biz bir karar problemi edinin: orada mevcut mu öyle ki ? Bu karar sorunun cevabı bize, orijinal değer optimizasyonu problemine veya daha büyük bir çözüm olup olmadığını söyler . Açıklandığı gibi Ayrıca için önceki sorunun cevabı , bu karar sorunu az çözülebilir sıfır olmayan katsayı sayısının ise, zaman lineerdir (ve bu yüzden, olmayan sayısı sıfır katsayıları ) ' de lineerdir . Şimdi üzerinde ikili aramayı kullanabilirizαx{0,1}nAxbα2nAnAnαoptimizasyon probleminizi daha kısa sürede çözmek için .2n

AustinBuchanan ve Stefan Schneider'a bu cevabın önceki bir versiyonunda hata ayıklamaya yardımcı oldukları için teşekkür ederim.


Daha güçlü bir cevap verebilir misiniz: "bir zaman algoritması var" veya " den daha hızlı bir algoritma çözülecektir ..." gibi? O(2n/2)O(2n)
Austin Buchanan

@AustinBuchanan, boyutlarının sayısı yeterince küçükse , diğer soruya verdiğim yanıtta belgelendiği gibi bir algoritması vardır . Nasıl yapılacağını bildiğim en iyisi bu; Bundan daha iyisini nasıl yapacağımı bilmiyorum. Belki başkaları daha güçlü bir cevap verebilir! bO(2n/2)
DW

O(2n/2) kısıtlama sayısı olduğunda ne kadar zaman kalır ? O(1)
Austin Buchanan

4

Minimizasyon problemini ele , aşağıdaki azalma ) zamanında çalışan bir algoritmanın olduğunu gösterir. için SETH'yi çürütür. Bir reformülasyon, amaçlanan sorun için aynı sonucu kanıtlamaktadır (maksimizasyon sürümü).miny{cTy:Ayb,y{0,1}n}O(2δn/2)δ<1

Bir örnek verilen değişkenlerle CNF-SAT , formüle 0-1 IP iki değişken ile SAT örneğindeki her bir değişkeni için . Her zamanki gibi, madde , olarak temsil edilir . Ardından SAT örneğindeki her değişkeni için , sınırlaması ekleyin . Amaç yi en aza indirmektir . IP objektif olacaktır SAT örneği IFF karşılanabilir olduğunu.Φ=i=1mCi{xj}j=1nyj,y¯jxj(x1x¯2x3)y1+y¯2+y31xjyj+y¯j1j=1n(yj+y¯j)n

Düzeltme için Stefan Schneider'a teşekkürler.

Güncelleme: CNF-Sat kadar zor problemler üzerine yazarlar SET COVER'in , zamanında çözülemeyeceğini düşünüyorlar , burada kümelerin sayısını ifade ediyor. Doğruysa, sorunum zamanında da çözülemez .O(2δn)δ<1nO(2δn)

Anlarım kadarıyla, SETH varsayarak, sorunum süresi içinde çözülemez 2. Farklı güncelleyin o zamandan beri, gösterilmiştir (boyut bir zemin seti ile Set vurmak o ) olamaz zaman içinde çözüldü .O(2δn)nO(2δn)


3
Değişken sayısını ikiye katladığınız için, bunun yalnızca çalışma zamanı ile ilgili bir algoritmanın SETH ile çelişeceğini gösterdiğini düşünüyorum. O(2δn/2)
Stefan Schneider

Bekleyin ... CNF-SAT Kadar Zor Sorunlar'daki yazarlar, "her , Set isabet için bir algoritmasının SETH'i ihlal edeceğini" belirtir. Bu çalışmıyor mu? ϵ<1O(2ϵn)
Austin Buchanan
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.