반정의 프로그래밍 기반 알고리즘으로 다항식 속도 향상


17

다음은 A. Pal : 다항식 시간으로 반정의 프로그램 풀기 의 최근 질문에 대한 후속 조치입니다 .

나는 여전히 SDP (Semidefinite Program)의 솔루션을 계산하는 알고리즘의 실제 실행 시간을 놓고 당황합니다. Robin 이 위의 질문 에 대한 의견 에서 지적했듯이 SDP는 일반적으로 다항식 시간으로 해결할 수 없습니다.

우리가 SDP를 신중하게 정의하고 원시 가능한 지역이 얼마나 잘 묶여 있는지에 대한 조건을 부과하면 타원체 방법을 사용하여 SDP를 해결하는 데 필요한 시간에 다항식 경계를 부여 할 수 있습니다 (섹션 3.2 참조) L. Lovász, 준정의 프로그램 및 조합 최적화 ). 주어진 경계는 일반적인 " 다항식 시간 "이며 여기서는 덜 거친 경계에 관심이 있습니다.

양자 분리 성 문제에 사용 된 두 알고리즘의 비교에서 동기가 발생합니다 (실제 문제는 여기서는 관련이 없으므로 고전적인 독자를 읽는 것을 중단하지 마십시오!). 알고리즘은 SDP로 캐스트 할 수있는 테스트 계층 구조를 기반으로하며 계층 구조의 각 테스트는 더 큰 공간에 있습니다. 즉, 해당 SDP의 크기가 더 큽니다. 비교하려는 두 알고리즘은 다음과 같은 상충 관계에서 다릅니다. 첫 번째 알고리즘에서는 솔루션을 찾기 위해 더 많은 단계의 계층 구조를 올라 가야하고 두 번째 알고리즘에서는 계층 구조의 단계가 더 높지만 더 적게 올라 가야합니다. 그들의. 이 트레이드 오프 분석에서 SDP를 해결하는 데 사용되는 알고리즘의 정확한 실행 시간이 중요하다는 것이 분명합니다. 이러한 알고리즘의 분석은 Navascués et al. 에 arxiv : 0906.2731그들이 쓰는 곳 :

... 변수와 행렬 크기 의 SDP의 시간 복잡도 는 (알고리즘 반복으로 인한 추가 비용이 적음).미디엄영형(미디엄22)

에서 다른 종이 문제에 대한 이러한 접근 방식이 처음 제안되었다, 저자는 같은 바인딩 제공하지만, 그들은 더 신중 용어 "를 사용하여 산술 연산의 수 "대신 " 시간 복잡도를 ".

내 질문은 두 가지입니다.

  • Navascués et al. 참조?
  • Lovász에서 "다항식 시간"이라는 표현을 덜 거친 것으로 바꿀 수 있습니까 (같은 가정을 유지)?

1
내 이해는 타원체 방법이 로그 에서 다항식의 시간 오차 ( 1 / ϵ )에 가산 오차 내에있는 답변을 주었다는 것입니다 . 대부분의 문제에서 충분 하다고 생각할 수 있습니다. ϵlog(1/ϵ)ϵ=Ω(1/2n)
Suresh Venkat

@SureshVenkat : 맞습니다. 타원체 방법은 입력 행렬의 크기, 제약 조건 및 의 크기에서 다항식으로 작동합니다 . 문제는 질문에서 언급 한 응용 프로그램에 대해 "다항식"만으로는 충분하지 않다는 것이므로 더 정확한 경계가 필요하다는 것입니다. log(1/ϵ)
Alessandro Cosentino

답변:


12

나는 반-정확한 프로그램을위한 타원체 방법의 세부 사항에 익숙하지 않지만 선형 프로그램의 경우에도 타원체 방법의 분석은 미묘합니다.

  • 먼저 이상적인 타원체 알고리즘 의 반복 횟수를 제한해야 합니다. 하자 에 사용되는 ellispoid 일 타원체 알고리즘의 일 반복하고,하자 c를 내가 그 중심합니다. 이상적인 알고리즘에서, 분리 / 회원 오라클은 당신에게 halfspace의 제공 시간 최적의 포인트가 들어 X * 하지만 중심 C 전을 . 다음 타원체 E i + 1E ih i를 포함하는 가장 작은 타원체 입니다. 각 i 에 대해EiicihixciEi+1이자형나는h나는나는, 여기서n은 치수입니다. 따라서 합리적인 시작 타원체가 주어지면 반복 횟수는nlog(1/ε)의다항식입니다. Eihi에서Ei+1을계산하려면 (조악하게)O(n2)산술 연산이 필요합니다. 따라서 산술 연산의 수는nlog(V영형(이자형나는+1)<(11)V영형(이자형나는)log(1/ε)Ei+1EihiO(n2)n .log(1/ε)

  • 그러나 일부 산술 연산은 제곱근입니다! 이상적인 타원체 의 계수는 2 i 의 비합리적인 숫자 이므로 실제로 합리적인 시간에 정확히 E i + 1을 계산할 희망은 없습니다 . 대신 유한 정밀도 산술을 사용하여 각 반복에서 가까운 외부 근사 ~ E iE i 를 계산합니다. Grötschel, Lovasz 및 Schrijver 는 i 번째 반복 에서 10 i 비트의 정밀도를  사용하는 경우 여전히 v o l (Ei2iEi+1 E~iEi10ii이므로 반복 횟수는 최대 일정한 계수만큼 증가합니다. 그러나 이제i번째 반복 (각각 분리 오라클에 의해 수행 된 작업 포함)동안 각 산술 연산에는O(ipolylogi)시간이 필요합니다.vol(E~i+1)<O(11n)vol(E~i)iO(i polylog i)

전체적으로 타원체 방법의 실행 시간 합계는 매우 대략 사각형 산술 연산의 수. 산술 연산의 수는 log ( 1 / ε ) 에서 다항식 이므로 실행 시간도 마찬가지입니다.nlog(1/ε)


답변 해주셔서 감사합니다. 내가 올바르게 키잉하면, 이것이 내가 가진 것입니다 (대략) : (산술 연산 수) × O ( i 폴리 로그 i ) (각 산술 연산 시간). 나는 nlog ( 1 / ϵ )의 다항식을 제외하고는 반복 횟수에 여전히 제한이 없습니다 . 아마도 내가 아주 내 질문에 명확하지 않았다, 그러나 나는 반복의 수 (문제 등에도 행보다 정확한에 관심이 : N , Ni=1n. of iterationsO(n2)×O(ipolylogi)nlog(1/ϵ)n , ...). n2
Alessandro Cosentino

한 가지 더 : 제약 조건의 수가 분석 어딘가에 나타나서는 안됩니까? 또한 이것은 선형 프로그램에만 해당됩니까?
Alessandro Cosentino

1
또한 분리 오라클의 실행 시간을 고려해야합니다. 그것이 제약의 수가 나타나는 곳입니다. 명시 적 LP의 경우 분리 오라클은 한 번에 하나씩 제약 조건을 시도합니다. 내재적으로 표현 된 LP의 경우 더 복잡합니다.
Jeffε
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.