다항식 시간으로 반정의 프로그램 풀기


17

우리는 선형 프로그램 (LP)이 타원체 방법이나 Karmarkar의 알고리즘과 같은 내부 포인트 방법을 사용하여 다항식 시간으로 정확하게 풀 수 있음을 알고 있습니다. 다항식 시간 분리 오라클을 설계 할 수 있다면, 초 다항식 (지수)의 변수 / 제약 수를 갖는 일부 LP도 다항식 시간으로 해결할 수 있습니다.

반 정규 프로그램 (SDP)은 어떻습니까? 다항식 시간에 어떤 클래스의 SDP를 정확하게 해결할 수 있습니까? SDP를 정확하게 해석 할 수없는 경우 항상 FPTAS / PTAS를 설계하여 해결할 수 있습니까? 이를 수행 할 수있는 기술 조건은 무엇입니까? 다항식 시간 분리 오라클을 설계 할 수 있다면 다항식 시간에 지수의 변수 / 제약 조건이있는 SDP를 해결할 수 있습니까?

조합 최적화 문제 (MAX-CUT, 그래프 채색)에서 발생하는 SDP를 효율적으로 해결할 수 있습니까? 계수 내에서만 풀 수 있다면 상수 계수 근사 알고리즘 (Goemans-Williamson MAX-CUT 알고리즘의 경우 0.878)에 영향을 미치지 않습니까?1+ϵ

이것에 대한 좋은 참조는 높이 평가 될 것입니다.


3
실제로이 방법은 일반적으로 볼록 프로그래밍에 효과적입니다.
Suresh Venkat

8
다항식 시간으로 일반 SDP를 해결할 수없는 이유는 두 가지 이상 있습니다. (1) 해가 지수 크기 인 SDP가 있습니다. (2) SDP는 다항식 시간 해결이 불가능한 것으로 알려진 제곱근 문제의 합을 인코딩 할 수 있습니다.
Robin Kothari

2
@RobinKothari SDP의 경우, 일반적으로 "다항식 시간으로 해석 가능"은 " 1 / ϵ IIRC의 시간 다항식에서 OPT의 (첨가제) 내 가져 오기"로 대체됩니다 . 추신 : SDP는 어떻게 제곱근을 인코딩합니까? ϵ1/ϵ
수레 쉬 벤 카트

8
@SureshVenkat : 항목이있는 2x2 행렬이 있다고 가정합니다. [ab; CD]. 이것이 양의 반올림이고 d = 1이라고 가정하십시오. 이것은 b = c 및 a> = b ^ 2를 의미합니다. 따라서 b는 a의 제곱근에 의해 상한이됩니다. 이제 우리는 그러한 b의 합계를 최대화 할 수 있습니다. 최적의 값은 각 a의 제곱근의 합입니다.
로빈 코타 리

2
곱하기는 아니지만 부가 적입니다. 또한 en.wikipedia.org/wiki/Semidefinite_programming#Algorithms
Suresh Venkat

답변:


16

SDP를 해결하기 위해 타원체 방법과 내부 포인트 방법을 확장 할 수 있습니다. 자세한 내용은 SDP의 표준 텍스트를 참조하십시오. 여기 하나가 있습니다 :

준정의 프로그래밍 . 반덴버그와 스티븐 보이드, 1996.


좋은 참조 Jagadish.
Arindam Pal

좋은 참고 자료! 감사! SDP를 해결하는 다항식 시간 알고리즘을 말할 때 알고리즘이 최적의 솔루션을 위해 정확히 또는 대략적으로 풀고 있습니까?
21:40에 모든
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.