다항식 시간에 어떤 클래스의 수학 프로그램을 정확하게 또는 대략적으로 해결할 수 있습니까?


31

나는 어떤 유형의 (연속적) 수학적 프로그램 (MP)이 효율적으로 해결 될 수 있고 어떤 것이 불가능한 지에 대한 지속적인 최적화 문헌과 TCS 문헌에 혼란을 느낀다. 지속적인 최적화 커뮤니티는 모든 볼록한 프로그램이 효율적으로 해결 될 수 있다고 주장하는 것 같지만, "효율적"에 대한 그들의 정의는 TCS 정의와 일치하지 않는다고 생각합니다.

이 질문은 지난 몇 년 동안 저를 크게 귀찮게 해 왔으며 그것에 대한 명확한 대답을 찾지 못하는 것 같습니다. 다항식 시간에 어떤 종류의 MP를 정확하게, 어떤 수단으로 해결할 수 있는지; 그리고 다항식 시간으로 정확하게 해결할 수없는 MP의 최적 솔루션을 근사화하는 것에 대해 알려진 것은 무엇입니까?

아래에서는이 질문에 대한 불완전한 답변을 제공하며 일부 지역에서는 올바르지 않을 수도 있으므로 잘못된 지점에서 나를 확인하고 수정할 수 있기를 바랍니다. 또한 대답 할 수없는 몇 가지 질문이 있습니다.

우리는 선형 프로그래밍이 타원체 방법 또는 내부 점 방법을 실행 한 다음 일부 반올림 절차를 실행하여 다항식 시간으로 정확하게 해결할 수 있음을 알고 있습니다. 선형 프로그래밍은 "분리 오라클"을 제공 할 수있는 한 매우 많은 양의 선형 제약 조건을 갖는 LP 계열에 직면 할 때 변수의 수의 다항식으로도 해결 될 수 있습니다. , 해당 포인트가 실행 가능한지 여부를 결정하거나 해당 포인트를 실행 가능한 포인트의 다면체에서 분리하는 초평면을 출력합니다. 마찬가지로, 이러한 LP의 이중에 대해 분리 알고리즘을 제공하는 경우, 매우 많은 양의 변수를 갖는 LP 계열에 직면 할 때 제약 조건의 수에서 다항식의 선형 프로그래밍.

타원체 방법은 목적 함수의 행렬이 양수 (세미?) 인 경우 다항식 시간에 이차 프로그램을 풀 수 있습니다. 분리 오라클 트릭을 사용하면 엄청나게 많은 제약 조건을 처리하는 경우에도이를 수행 할 수 있다고 생각합니다. 그게 사실입니까?

최근 반 정규 프로그래밍 (SDP)은 TCS 커뮤니티에서 많은 인기를 얻었습니다. 내부 포인트 방법 또는 타원체 방법을 사용하여 임의의 정밀도로 문제를 해결할 수 있습니다. 제곱근을 정확하게 계산할 수 없다는 문제 때문에 SDP를 정확하게 해결할 수 없다고 생각합니다. (?) SDP에 대한 FPTAS가 있다고 말하면 맞습니까? 나는 그것이 어디에서나 언급 된 것을 보지 못했기 때문에 아마 옳지 않습니다. 그런데 왜?

LP 및 SDP를 임의의 정밀도로 정확하게 해결할 수 있습니다. 다른 클래스의 원뿔형 프로그램은 어떻습니까? 타원체 방법을 사용하여 2 차 원뿔 프로그램을 임의의 정밀도로 풀 수 있습니까? 모르겠어요

어떤 MP 클래스에서 타원체 방법을 사용할 수 있습니까? MP가 임의의 정밀도로 답할 수 있도록 MP는 어떤 속성을 만족시켜야하며, 다항식 시간에 정확한 해를 구하기 위해서는 어떤 추가 속성이 필요합니까? 내부 포인트 방법에 대한 동일한 질문.

그리고 마지막으로 연속 옵티마이 저가 볼록한 프로그램을 효율적으로 해결할 수 있다고 말하는 이유는 무엇입니까? 볼록한 프로그램에 대한 임의의 정확한 답을 다항식 시간에 찾을 수 있다는 것이 사실입니까? 나는 "효율적인"에 대한 그들의 정의가 우리와 어떤 측면에서 다른가?

모든 기여에 감사드립니다! 미리 감사드립니다.


6
이 질문의 제목은 너무 광범위합니다. 실제로 알고 싶은 것은 다항식 시간에 볼록 프로그램을 실제로 해결할 수 있는지 여부입니다.
피터 쇼어

두 번째. 바트, 어쩌면 당신은 특정 질문으로 세분화 할 수 있습니까?
Suresh Venkat

Peter와 Suresh,이 제안에 감사드립니다. 내가 작성한 것에서 볼록한 프로그램이 폴리 타임으로 해결되거나 근사화 될 수 있는지에 대한 질문에만 관심이 있다는 것은 아닙니다. 나는 기본적으로 타원체 및 내부 포인트 방법의 한계에 관심이 있으며 누군가가 효율적으로 작동하는 MP 클래스를 정확하게 알고 있기를 바랍니다. 나는 그것에 관한 현재의 문헌 본문이 이것에 대해 명확하지 않기 때문에 이것을 묻습니다.
Bart

개인적으로, 나는이 스택 교환 질문에 대한 답변과 같이 한곳에서 이것에 대한 좋은 개요를 갖는 것이 좋을 것이라고 생각합니다. 또한 나에게 이것은 꽤 일관된 질문처럼 보입니다. 그러나 스택 교환을 처음 접했을 때 나는 문화와 윤리에 익숙하지 않습니다. 그래서 당신이 주장한다면,이 질문을 여러 개의 작은 질문으로 나누는 방법을 찾으려고 노력할 것입니다.
Bart

1
나는이 질문의 범위가 너무 넓어서 답을 얻을 수 없다고 생각합니다. 타원체 및 내부 포인트 방법의 한계는 좋은 질문이 될 수 있으며 볼록한 프로그램에 대해 수행 할 수있는 작업은 좋은 질문이지만 알고리즘 유형 또는 프로그램 유형을 지정하지 않으면 기본적으로 묻습니다. 귀하의 답변에 대한 지속적인 최적화의 전체 분야를 요약하면 거의 불가능합니다. 작은 분야가 아닙니다. 그러나 질문을 그대로두면 또 다른 좋은 부분 답을 얻을 수 있습니다.
피터 쇼어

답변:


18

이 부분에 대답 할 수 있습니다.

SDP에 대한 FPTAS가 있다고 말하면 맞습니까? 나는 그것이 어디에서나 언급 된 것을 보지 못했기 때문에 아마 옳지 않습니다. 그런데 왜?

성명서가 정확하지만, 성명서가이 성명서보다 더 중요하고 중요하기 때문에 종종 성명서를 보지 못합니다.

FPTAS는 문제와 정확도 매개 변수 1 k가 주어지면 (1 + 1 / k ) 근사 솔루션을 출력 하는 다항식 시간 알고리즘입니다 .

그러나 SDP의 경우 타원체 방법과 내부 포인트 방법은 문제와 정확도 매개 변수 1 k가 주어지면 (1 + 2 - k ) 근사 솔루션을 출력하는 다항식 알고리즘을 제공합니다. 근사 계수는 FPTAS에 필요한 것보다 훨씬 낫습니다.


타원체 방법과 내부 포인트 방법은 다항식 시간에 실행하기 위해 추가 조건이 필요하므로 더주의해야합니다.
오카모토 요시오

감사합니다, 츠요시! 요시오,이게 무슨 뜻인지 알겠 니? 특정 SDP에 필요한 조건이 있다는 것을 의미합니까? 그렇지 않으면 SDP를 폴리 타임에서와 같이 근사화 할 수 없기 때문입니까? 이 경우에는 놀랍습니다. 이러한 조건에 대해 알고 싶습니다. 감사.
Bart

@Bart : 예를 들어 Lovasz cs.elte.hu/~lovasz/semidef.ps의 강의 노트를 보면 Theorem 3.7 (19 페이지)에서 볼록한 최소화를위한 타원체 방법의 실행 시간 경계에 대한 이야기를 찾을 수 있습니다. . 거기에는 몇 가지 기술적 가정이 부과됩니다.
오카모토 요시오

4
아르 자형아르 자형로그아르 자형/아르 자형

고마워. 이것은 내 질문의 매우 큰 부분에 대한 답변입니다. 이 지식은 이론적 컴퓨터 과학자들에게 매우 유용한 도구 인 것처럼 보이지만 여전히 잘 알려져 있지 않으며 거의 ​​아무 것도 언급하지 않은 것 같습니다. 기묘한.
Bart

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.