행렬 집합의 범위에 순열 행렬이 포함되어 있는지 확인하는 다항식 시간 알고리즘이 있습니까?


30

주어진 행렬 집합의 범위에 순열 행렬이 포함되어 있는지 확인하는 다항식 시간 알고리즘을 찾고 싶습니다.

이 문제가 다른 복잡성 클래스인지 여부를 아는 사람도 도움이 될 것입니다.


편집 :이 질문에 선형 프로그래밍 태그를 지정했습니다. 왜냐하면 그러한 솔루션이 존재하면 일종의 선형 프로그래밍 알고리즘이 될 것이라는 강한 의혹이 있기 때문입니다. 내가 믿는 이유는 Birkhoff 폴리 토프 의 극단 점이 정확히 순열 행렬 이기 때문 입니다. Birkhoff 폴리 토프의 꼭짓점에서만 최대화되거나 최소화되는 목적 함수를 찾을 수 있으면 함수를 폴리 토프와 벡터 부분 공간의 교차로 제한 한 다음 다항식 시간으로 최대화 할 수 있습니다. 이 값이 순열 행렬 인 경우 집합에 순열이 포함되어 있음을 알 수 있습니다. 이것들은 주제에 대한 나의 생각입니다.


편집 2 : 좀 더 생각하면 순열 행렬이 정확하게 Euclidean norm 인 Birkhoff Polytope의 요소 인 것처럼 보입니다 . 우리는 Birkhoff polytope을 의 볼록 껍질로 간주합니다. 순열 행렬. 아마도 그것은 또한 중요 할 수 있습니다. n×n×


편집 3 : 반 주석 프로그래밍 태그를 추가했습니다. 왜냐하면 이전 주석 후에 반 제한 프로그래밍 솔루션이 선형 제약 이차 최적화 알고리즘이기 때문에 반 유한 프로그래밍 솔루션이 가능하다고 생각하기 시작했습니다.


2
입력 행렬에는 어떤 유형의 항목이 있습니까?

항목은 어느 필드 에나있을 수 있습니다. 행렬을 설정하는 방법에는 약간의 자유가 있습니다. 그러나 충분히 큰 필드를 원합니다 (따라서 특성 2의 필드는 좋지 않습니다).
Nick

행렬 집합의 범위가 무엇인지 설명 할 수 있습니까?
Mohammad Al-Turkistany

Mohammad : 매트릭스 세트의 선형 조합이라고 생각합니다.
Vivek Bagaria

4
@DavidRicherby 저는 모하마드의 혼란이 일반적으로 우리가 행렬을 선형 맵을 나타내는 것으로 생각하고 선형 맵의 범위가 때때로 그 범위의 다른 용어로 사용된다는 사실에서 비롯된 것 같습니다. 그러나 여기서는 의미가 없으므로 행렬을 벡터 공간의 요소로 생각해야한다고 생각합니다.
Sasho Nikolov

답변:


5

정리. 게시물의 문제는 Subset-Sum을 줄임으로써 NP-hard입니다.

당연히 문제가 op에 의해 요청 된 폴리-시간 알고리즘을 갖지 않을 가능성이있다.


여기 직감이 있습니다. 게시물의 문제는

  • 주어진 행렬 집합의 범위에 순열 행렬이 있습니까?

이것은 본질적으로

  • 행렬을 벡터로 생각하면 주어진 선형 제약 조건을 만족시키는 순열 행렬이 있습니까?

이것은 차례로

  • 발생 벡터가 주어진 선형 제약 조건을 만족시키는 완벽한 일치 (완전한 이분 그래프에서)가 있습니까?

후자의 문제로 부분 집합을 줄이는 것이 표준 연습입니다.

자세한 증거는 다음과 같습니다.


다음 중간 문제를 정의하십시오.

일치하는 합계 :

입력 : 음이 아닌 정수 간선 가중치와 음이 아닌 정수 목표 T를 갖는 완전, 이분 그래프 .=(,V,이자형)

출력 : G 는 정확히 T 와 정확히 일치하는 가중치를 포함 합니까 ?


렘마 1 . 부분 집합 합 폴리 시간이 일치 합으로 줄어 듭니다.

이것이 표준 숙제 연습임을 증명합니다. 증거는 끝났습니다.

Lemma 2. Matching-Sum poly-time은 게시물의 문제를 줄입니다.

Lemma 증명 2. Matching-Sum 입력 수정 : 음이 아닌 정수 간선 가중치 w : U × V N +를 포함한 완전한 이분 그래프 및 대상 T N + , 여기서 U = { u 1 , , u n }V = { v 1 , , v n } . 각각의 나는=(,V,이자형):×V++={1,,}V={V1,,V} , M ( i j ) R ( n + 1 ) × ( n + 1 ) 의 행렬로 정의하십시오. 여기서 M ( i j ) i j = T M ( i j ) n + 1 , n + 1 = w ( u나는,j{1,2,,}(나는j)아르 자형(+1)×(+1)나는j(나는j)= 및 기타 모든 항목은 0입니다. 축소는 다음 행렬 세트를 출력합니다. { M ( i j ) : i , j { 1 , , n } } . 이것은 감소를 정의합니다.+1,+1(나는j)=(나는,Vj)

{(나는j):나는,j{1,,}}.

청구. 행렬들의 세트의 범위는 이러한 매트릭스 구성 선형 제약 조건을 만족하는 M의 H , N + 1 = M , N + 1 , H = 0 모두 H N 및 선형 구속 조건 아르 자형(+1)×(+1)h,+1=+1,h=0h

나는=1j=1나는j(나는,Vj)=+1,+1.

( 제 증명. 검사 행렬 각각에 의해 의 설정을 만족 이러한 제약 때문에, 그 행렬의 모든 선형 조합한다. 반대로, 만일 M R ( N + 1 ) × ( N + 1 ) 를 만족 제약 그런 다음 M 은 선형 조합 M ' = n i = 1n j = 1 α i j M ( i j(나는j)아르 자형(+1)×(+1) 의 행렬, 여기서 α i j = M i j / M ( i j ) i j = M i j / T입니다. 특히 참고하여 설명 된 다양한 정의 선형 제약함으로써 M ' N + 1 , N + 1 = Σ I J α I J w ( U I , V의 J ) = Σ I J M'=나는=1j=1α나는j(나는j)α나는j=나는j/나는j(나는j)=나는j/ 이것은 주장을 증명합니다.)

+1,+1'=나는jα나는j(나는,Vj)=나는j나는j(나는,Vj)/=(+1,+1)/=+1,+1.

이제 축소가 올바른지 보여줍니다. 즉, 주어진 그래프 는 행렬 세트가 순열 행렬에 걸쳐있는 경우에만 가중치 -T 매칭을 갖는다 .

( 경우에만. ) 먼저 주어진 가정 그래프 체중 갖는 T의 완벽한 매칭 M을 ' . 하자 M { 0 , 1 } ( N + 1 ) × ( N + 1 ) 해당 될 N × N 되도록 첨가 추가 로우 및 컬럼 순열 행렬, M , N + 1 , N + 1 = 1M의 H , n +'{0,1}(+1)×(+1)×+1,+1=1모두HN. 이어서 Σ N = 1 Σ를 N J = 1 M I J w( U I , V의 j는 )의 무게 M ' 이며,T M , N + 1 , N + 1 =1h,+1=+1,h=0h나는=1j=1나는j(나는,Vj)'+1,+1=1따라서 청구항의 선형 구속 조건이 유지되고 주어진 행렬 세트의 범위는 순열 행렬 포함합니다 .

( 경우. ) 역은 스팬 모든 순열 행렬 포함 가정 . 주장에 따르면, 행 n + 1 또는 열 n + 1의 0이 아닌 유일한 항목 은 M n + 1 , n + 1 이므로 ( M 은 순열 행렬이므로) M n + 1 , n + 1 = 1 입니다. 따라서 마지막 행과 열을 삭제하면 n × n 순열 행렬이 제공됩니다. M '을 완벽하게 일치 시키십시오.+1+1+1,+1+1,+1=1×' n × n 순열 행렬에대응하는 G. 의 중량 M은 ' Σ N = 1 Σ를 N J = 1 M I J w ( U I , V의 J ) (청구항에 의한)이고, T M N + 1 , N + 1 = T . 주어진 그래프 있도록 체중 갖는 T의 보조 정리 2를 증명 매칭×'나는=1j=1나는j(나는,Vj)+1,+1=  

Lemma 1의 지연된 증거는 다음과 같습니다.

Lemma의 증명 1. 서브 세트 합계 인스턴스 주어지면 축소는 Matching-Sum 인스턴스 ( G = ( U , V , E ) , T )를 출력합니다. 여기서 U = { u 1 , u 2 , , u 2 n } , V = { v 1 , v 2 ,(,)+×+(=(,V,이자형),)={1,2,,2} , 각 i { 1 , , n } 에 대해 edge ( u i , v i )의 가중치는 w i 이고 나머지 모든 모서리의 가중치는 0입니다.V={V1,V2,,V2}나는{1,,}(나는,V나는)나는

합산 된 엣지 가중치와 완벽하게 일치하는 경우 S = { i : ( u i , v i ) M , i n } 세트는 주어진 Subset-Sum 인스턴스에 대한 솔루션입니다. M의 무게가 0 인 가장자리 ).에스={나는:(나는,V나는),나는}

반대로 말하는 부분 합 인스턴스에 대한 해결책 주어진 Σ I S = T , 에지들의 집합을 { ( U , V I ) : I S는 } 이고 가중치 T 와 부분적으로 일치하며 , 예를 들어 다음과 같은 (제로 가중치) 모서리 세트를 추가 하여 가중치 -T 완벽한 일치로 쉽게 확장됩니다 .에스{1,,}나는에스나는={(나는,V나는):나는에스}

{(나는+,V나는+):나는에스}나는{1,,}에스{(나는,V나는+),(나는+,V나는)}.

이것은 정리 1을 증명합니다. 정리는 정리 1과 2에서 따릅니다.   


ps 따로, 이 답변 에 따르면 폴리 노미 바운드 엣지 가중치가있는 인스턴스에 대한 Matching-Sum 제한은 P입니다. 그러나 폴리 노미 바운드가있는 행렬에 대한 게시물의 문제 제한은 정수 ) 항목은 NP 하드 상태로 유지됩니다.


2
스팬이 아닌 행렬의 볼록 껍질을 취하는 것 같습니다. 설명한 행렬의 범위는 행렬의 전체 공간입니다. 아니면 뭔가 빠졌습니까?
바네사

@Squark, 당신은 맞습니다-나는 "스팬"을 잘못 해석했습니다. 감사. 스팬의 정확한 정의 (매트릭스의 모든 선형 조합)를 사용하도록 증거를 수정했습니다.
Neal Young

좋은! 의 정의 에 w ( u i , v j ) 를 곱하는 것이 더 좋을 것이므로 0 일 수있는 것으로 나눌 필요가 없습니까? 또한 중간 문제없이 두 감소를 결합하여 증거를 다소 단순화 할 수있는 것처럼 보입니다. (나는j)(나는,Vj)
바네사

0으로 나누는 것에 대한 좋은 지적. 내가 고칠 게 그래도 두 가지 축소 사항을 별도로 남겨 두겠습니다.
닐 영

3

반 공간의 교차점으로 제시된 폴리 토프의 직경을 계산하는 문제와 관련하여, 문제는 일반적으로 NP-hard이며, 또한 일정한 요소 내에서 근사 하기에는 NP-hard 입니다. Brieden의 논문 및 그 참조를 참조 하십시오 . 중심 대칭 폴리 토프의 경우 SDP는 근사치 여기서m은 폴리 토프를 정의하는 부등식의 수입니다. 선 아래에 이것을 스케치합니다.영형(로그)

나는,j:나는나는j=j나는j=기음

나는,j:1나는j1

1기음1

이것이 올바른 표현 인 경우 (확실하지 않은 경우)이 폴리 토프를 지정된 부분 공간으로 제한하는 구속 조건을 추가 할 수 있습니다. SDP를이 표현에 맞추기 어렵지 않지만 표기법을 유지하기 위해 SDP를 거치지 않기로 결정합니다.

나는 당신의 문제에 대한 대략적인 지름이 무엇인지 확실하지 않습니다 : 그것은 주어진 부분 공간이 순열 행렬에 가까운 지 또는 모든 부분과 멀리 떨어져 있는지 결정할 수있게하지만 계산을하지 못했습니다.


={엑스:에이엑스}에이×

α2=최대나는=1V나는22

대상 :

1나는:j=1에이나는jVj22나는2

V나는α

α영형(로그)diam()(V나는)나는=1α엑스α영형(로그)나는엑스~나는=V나는

이자형 엑스~22=α2
나는:이자형 |(에이엑스~)나는|2나는2    이자형 최대나는=1|(에이엑스~)나는|나는기음로그.
기음

두 방정식은 이미 가 있음을 의미합니다.엑스엑스엑스221기음로그α12기음로그엑스~엑스~212α

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