Yarı zamanlı programları polinom zamanda çözme


17

Lineer programların (LP), elipsoid yöntemi veya Karmarkar algoritması gibi bir iç nokta yöntemi kullanılarak tam olarak polinom zamanında çözülebileceğini biliyoruz. Süper polinom (üstel) sayıda değişken / kısıtlamaya sahip bazı LP'ler, onlar için bir polinom zaman ayırma kehaneti tasarlayabilmemiz koşuluyla polinom zamanda da çözülebilir.

Semidefinite programları (SDP) ne olacak? Polinom zamanında hangi SDP sınıfları tam olarak çözülebilir? Bir SDP tam olarak çözülemediğinde, onu çözmek için her zaman bir FPTAS / PTAS tasarlayabilir miyiz? Bunun yapılabileceği teknik koşullar nelerdir? Polinom zaman ayırma kehaneti tasarlayabilirsek, polinom zamanında üstel sayıda değişken / kısıtlamalı SDP'yi çözebilir miyiz?

Kombinatoryal optimizasyon problemlerinde (MAX-CUT, grafik renklendirme) oluşan SDP'leri verimli bir şekilde çözebilir miyiz? Yalnızca faktörü içinde çözebilirsek , bunun sabit faktör yaklaşım algoritmaları üzerinde bir etkisi olmayacak mı (Goemans-Williamson MAX-CUT algoritması için 0.878 gibi)?1+ε

Bununla ilgili iyi bir referans çok takdir edilecektir.


3
Aslında yöntem genel olarak dışbükey programlama için çalışır
Suresh Venkat

8
Polinom zamanında genel bir SDP'yi çözememenizin en az iki nedeni vardır. (1) Çözümü üssel boyutta olan SDP'ler vardır. (2) SDP'ler, polinom zamanıyla çözülebilir olarak bilinmeyen kare kök probleminin toplamını kodlayabilir.
Robin Kothari

2
@RobinKothari SDP'lerde genellikle "polinom zamanında çözülebilir", 1 / ϵ " IIRC'de zaman polinomunda OPT'nin (katkı maddesi) içine girer . ps SDP kare toplamı köklerini nasıl kodlar? ε1/ε
Suresh Venkat

8
@SureshVenkat: Diyelim ki girişleri olan 2x2 bir matrisimiz var [ab; CD]. Bunun pozitif semidefinite ve d = 1 olduğunu söyleyin. Bu, b = c ve a> = b ^ 2 anlamına gelir. Böylece b, a'nın kare kökü ile üst sınırdadır. Şimdi bu tür birkaç b'nin toplamını en üst düzeye çıkarabiliriz. Optimum değer, ilgili aların kare köklerinin toplamı olacaktır.
Robin Kothari

2
Çoklayıcı değil, katkı maddesi. Ayrıca, en.wikipedia.org/wiki/Semidefinite_programming#Algoritmalar
Suresh Venkat

Yanıtlar:


16

Elipsoid yöntemi ve iç nokta yöntemleri SDP'leri çözmek için de genişletilebilir. Ayrıntılar için SDP'lerdeki standart metinlere başvurabilirsiniz. Işte bir tane:

Semidefinite Programlama . Vandenberge ve Stephen Boyd, 1996.


Güzel referans Jagadish.
Arindam Pal

Çok güzel referans! Teşekkürler! Polinom zaman algoritmasının SDP'yi çözdüğünü söylerken, algoritmalar tam olarak veya yaklaşık olarak optimum çözüm için çözülüyor mu?
Tüm
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.