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


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≤엔

∑나는=1엔∑j=1엔엠나는j승(유나는,Vj)=티엠엔+1,엔+1.

( 제 증명. 검사 행렬 각각에 의해 의 설정을 만족 이러한 제약 때문에, 그 행렬의 모든 선형 조합한다. 반대로, 만일 M ∈ R ( N + 1 ) × ( N + 1 ) 를 만족 제약 그런 다음 M 은 선형 조합 M ' = ∑ n i = 1 ∑ n 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엠'=∑나는=1엔∑j=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 = 1 과 M의 H , n +지티엠'엠∈{0,1}(엔+1)×(엔+1)엔×엔엠엔+1,엔+1=1모두H≤N. 이어서 Σ N 난 = 1 Σ를 N J = 1 M I J w( U I , V의 j는 )의 무게 M ' 이며,T및 M , N + 1 , N + 1 =1엠h,엔+1=엠엔+1,h=0h≤엔∑나는=1엔∑j=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를 증명 매칭 ◻지엔×엔엠'∑나는=1엔∑j=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≤엠나는j≤1

−1≤기음≤1

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

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


피={엑스:−비≤에이엑스≤비}에이엠×엔

α2=최대∑나는=1엔”V나는”22

대상 :

∀1≤나는≤엠:”∑j=1엔에이나는jVj”22≤비나는2

V나는엔피α피

α≤영형(로그⁡엠)⋅diam(피)(V나는)나는=1엔α엑스∈피α영형(로그⁡엠)엔지지나는엑스~나는=지티V나는

이자형 ”엑스~”22=α2
∀나는≤엠:이자형 |(에이엑스~)나는|2≤비나는2  ⇒  이자형 최대나는=1엠|(에이엑스~)나는|비나는≤기음로그⁡엠.
기음엠

두 방정식은 이미 가 있음을 의미합니다.엑스엑스∈피”엑스”22≥1기음로그⁡엠α12기음로그⁡엠엑스~∈피”엑스~”2≥12α

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