구간 커버 문제의 복잡성


17

다음과 같은 문제를Q 생각해보십시오. Q : 정수 k 간격 [ l i , r i ]1 l ir i2 n 이 주어집니다 . 또한 2 n 정수 d 1 , , d 2 n0이 부여 됩니다. 이 작업은 최소 간격 수를 선택하는 것입니다 [ l i , r i ]nk[li,ri]1liri2n2nd1,,d2n0[li,ri]이러한 모든 것을위한 , 적어도 차원 I의 정수 함유 간격 내가 선택됩니다.i=1,,2ndii

가 다항식 시간으로 풀 수 있음 을 알기 어렵지 않습니다 (아래 참조).Q

이제 다음과 같이 약간 수정 된 문제 Q 고려하십시오. 문제 의 입력은 이전과 동일합니다. 그러나,이 작업은 현재 간격의 최소 수를 선택하는 이러한 모든 위해 이러한 , 적어도 (D) (2) I - 1 개 정수 함유 간격 2 I - 1 또는 적어도 (D) (2 개) 정수를 포함하는 간격 2 i 가 선택되었습니다 (“또는”으로 일반적인 논리 또는를 의미합니다).i=1,,nd2i12i1d2i2i

내 질문 : 는 다항식 시간에 풀 수 있습니까 ?Q

효율적 으로 해결하는 두 가지 방법이 있습니다.Q

간단한 탐욕스러운 알고리즘 : 왼쪽에서 오른쪽으로 간격을 스윕하고 숫자 충족시키기 위해 필요한만큼만 간격을 선택하십시오 . 다른 간격 사이에서 선택이있을 때마다 최대 오른쪽 끝점을 가진 간격을 선택하십시오.di

정수 프로그램 : 각 간격 대해 간격이 선택되면 x i = 1 인 결정 변수 x i{ 0 , 1 } 을 도입합니다 . 목표는 제약 조건에 따라 x 1 + + x k 를 최소화하는 것입니다. j : i [ l j , r j ] x jd i[li,ri]엑스나는{0,1}엑스나는=1엑스1++엑스케이제이:나는[제이,아르 자형제이]엑스제이나는. 이 정수 프로그램의 제약 매트릭스는 연속적인 속성을 가지므로이 프로그램의 선형 프로그래밍 완화는 정수 최적 솔루션을 갖습니다.

힌트와 참조에 감사드립니다!

답변:


-1

위치가 간격 어디 Q의 모든 인스턴스는 다중 세트 커버 문제의 인스턴스로 변환 할 수있다 수요 포인트의 연속적인 시퀀스 (= 정수 덮는 거라고 난을 ).[나는,아르 자형나는]나는


3
MSCP (Multiple Set Cover Problem)의 정의와 축소에 대한 자세한 내용을 추가하여 답변을 개선 할 수 있습니까? 특히, MSCP의 인스턴스 (적어도 "버전"은 알고 있음)는 이분 그래프 이고 V 1 만이 분리 된 집합의 합집합입니다. 축소는 가장자리를 V 1 에서 V 2로 매핑하는 방법은 무엇입니까? =(V1,V2,이자형)V1V1V2
Marzio De Biasi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.