순열 행렬에 대한 표지 설정


16

nxn 순열 행렬의 집합 S (N! 가능한 순열 행렬의 작은 부분에 불과 함)를 감안할 때, T의 행렬을 추가하는 것이 모든 위치에서 적어도 1을 갖도록 S의 최소 크기 부분 집합 T를 어떻게 찾을 수 있습니까?

S가 S_n의 작은 하위 그룹 인이 문제에 관심이 있습니다. 욕심 많은 알고리즘보다 훨씬 빠른 근사 알고리즘을 찾아서 구현할 수 있는지 궁금합니다 ( '럭키'가 될 때까지 여러 번 실행합니다. 매우 느린 절차이지만 그럼에도 불구하고 거의 최적의 범위를 제공했습니다) 작은 경우) 또는 근사치가 보장 할 수 없는지 여부입니다.

이 문제에 대한 몇 가지 쉬운 사실 : 순열 행렬의 길이 n주기 그룹은 물론이 문제를 최적으로 해결합니다. (각 순열 행렬에는 n 개의 행렬이 있고 n ^ 2 개의 행렬이 필요하기 때문에 적어도 n 개의 행렬이 필요합니다.)

내가 관심있는 세트 S에는 n 고리 그룹이 없습니다.

이 문제는 매우 특별한 경우입니다. 실제로, 우리가 X를 n ^ 2 요소와 함께 집합 (1,2, ... n) * (1,2, ... n)으로한다면, 각 순열 행렬은 크기 n 부분 집합에 해당합니다. X를 다루는 이러한 서브 세트의 가장 작은 서브 컬렉션을 찾고 있습니다. 세트 커버 자체는 일반적인 세트 커버 문제의 근사치이므로이 문제를 보는 좋은 방법이 아닙니다.

욕심 많은 접근 방식을 사용 하여이 문제가 너무 느리지 않은 유일한 이유는 순열 그룹의 대칭이 많은 중복성을 제거하는 데 도움이되기 때문입니다. 특히, S가 부분 군이고 T가 최소 피복 세트 인 작은 부분 집합 인 경우, 세트 sT (T에 그룹 s의 임의의 요소를 곱함)는 여전히 S에 있으며 여전히 피복 세트입니다 궁금한 경우 성공적인 사례는 n ~ 30과 | S | ~ 1000이며 운이 좋은 욕심 많은 결과는 | T | ~ 37. n ~ 50 인 케이스는 매우 약한 경계를 가져 오기까지 오랜 시간이 걸립니다.

요약하면, 나는이 문제에 대한 근사 접근법이 있는지 또는 일반 세트 표지 문제와 같이 일부 근사치 정리에 적합 할 정도로 일반적인지 궁금합니다. 실제로 관련된 문제를 근사화하는 데 어떤 알고리즘이 사용됩니까? 서브셋의 크기가 모두 같고 모든 요소가 동일한 작은 주파수 1 / n으로 나타나기 때문에 가능한 것으로 보입니다.

-비


정말로 추가하는 것을 의미합니까? 나는 당신이 대신 일종의 '연합', 또는 실제로 ORing을 의미한다고 가정합니까? 그렇지 않으면 항목에 2가 표시 될 수 있기 때문입니다.
Suresh Venkat

연합은 잘 작동합니다. 내가 추가하면 모든 항목에서 '적어도'1이 필요합니다. 내가 그것을 추가로 생각하는 이유는 실제로 수학자이기 때문에 그룹 요소를 추가하는 데 여전히 수학적 의미가 있지만 (그룹은 순열 행렬로 표시되지 않음) 행렬을 '결합'하지는 않습니다.
Brayden Ware

그러나 순열 행렬이 없으면이 조건을 나타내는 유용한 방법이 없으므로 결합을 자유롭게 생각하십시오. 2s (그리고 신은 3s 이상을 금지)는 우리가 정확히 1 개의 행렬에 더하는 n 개의 행렬, 2의 수 및 우리가 사용한 여분의 행렬의 수를 더 높게 측정하는 꿈의 해결책에 있지 않다는 마커 역할을합니다. (각 여분의 행렬이 결국 총합 N 추가한다.)
Brayden웨어

답변:


10

다음은 S 가 대칭 그룹의 하위 그룹 일 필요 가 없는 경우에 대한 근사성에 대한 거의 엄격한 분석입니다 .

이 문제는 Set Cover의 특별한 경우이며 간단한 탐욕스러운 근사 알고리즘 [Joh74]이 있습니다. 우리가 나타내는 경우 K 고조파 번호를 제 H의 K = Σ 내가 1 = K (1) / I는 , 그리 디 알고리즘은 근사치 비율 달성 H N = LN N + Θ (1). (근사 비율 H n -1/2 가 약간 더 나은 알고리즘 [DF97]이 있습니다 .) ( 편집 : 수정 2 이전에는 욕심 알고리즘의 근사 비율이 올바른 값보다 나빴습니다.)

또한 이것은 다음과 같은 의미에서 거의 최적입니다.

정리 . 순열 행렬에 대한 표지 설정은 근사 비율 (1- ε) 내에서 근사 할 수 없습니다 NP ⊆ DTIME ( n O (log log n ) )이 아닌 한 상수 0 < ε <1에 ) ln n .

여기 증거의 스케치가 있습니다. 우리는 [ n ] = {1,…, n }이라고 씁니다 . Set Cover에서 축소를 구성합니다.

표지
인스턴스 설정 : 양의 정수 m 및 [ m ] 의 서브 세트 모음 C. 해결 방법 :의 부분 집합 DC 등이 세트의 조합에
D는 [같다 m ].
목표 : 최소화 | D |.

Feige [Fei98]은 Set Cover가 상수 0에 대한 근사 비율 (1- ε ) ln m 내에서 근사 될 수 없다는 유명한 결과입니다 < NP ⊆ DTIME ( n O (log log n )이 아니라면 ε <1에 입니다.

( m , C )를 Set Cover의 인스턴스로 둡니다. 순열 행렬에 대한 집합 표지 의 인스턴스 ( n , S )를 구성합니다 .

(0110)(1001)in (인덱스 i +2는 모듈로 n 으로 해석됩니다 ). 0≤ jm 에 대해 S j = { P E Q j : EC ∪ {{ m +1}}} 및 S = S 0 ∪… ∪ S m을 정의하십시오 .

청구 . 하자 k는 [최소 커버의 크기 m 에] C . 그런 다음 S 의 최소 ​​커버 크기는 ( k +1) ( m +1)과 같습니다.

증거 스케치 . 경우 DC는 [의 덮개이며 m이 , 우리는 커버 만들 수 TS (| 크기 D | +1) ( m 의해 +1) T = { P E Q J를 : E를 S ∪ {{ m +1}}, 0≤ jm }입니다.

반면에,하자 TS가 커버합니다. 모든 행렬 유의 S 0 사이즈 2 × 2 블록을 가진 블록 대각이고,의 다른 행렬 S는 이들 블록에 0을 갖는다. 따라서 TS 0 은이 블록들을 포함합니다. 또한, TS 0P { m +1}을 포함 하고, 그렇지 않으면 (2 m +1, 2 m +2) 항목은 포함되지 않습니다. ( TS 0 ) ∖ { P { m +1}}는 C의 표지에 해당합니다 . 따라서 | TS 0 | ≥ k +1. 마찬가지로 0≤ jm 에 대해 | TS j | ≥ k +1. 따라서 | T | ≥ ( k +1) ( m +1). 소유권 주장의 끝 스케치 .

청구 범위에 의해, 상기 구성된 감소는 근사 비율을 유지한다. 특히 정리를 확립합니다.

참고 문헌

[DF97] Rong-Chii Duh와 Martin Fürer. k의 근사semi-local 최적화에 의한 -set 커버의 . 에서 컴퓨팅의 이론 (STOC)에서 제 29 회 ACM 심포지엄 논문집 , PP. 256-264, 1997 년 5 월 http://dx.doi.org/10.1145/258533.258599

[Fei98] Uriel Feige. 세트 커버를 근사화하기위한 임계 값 ln n . ACM 저널 , 45 (4) : 634–652, 1998 년 7 월. http://dx.doi.org/10.1145/285055.285059

[Joh74] David S. Johnson. 조합 문제에 대한 근사 알고리즘. 컴퓨터 및 시스템 과학 저널 , 9 (3) : 256–278, 1974 년 12 월. http://dx.doi.org/10.1016/S0022-0000(74)80044-9


3
츠요시, 당신의 대답은 최근 상당히 인상적이었습니다. 언젠가이 사이트의 증거 중 하나가 이토 렘마로 인용 될 것입니다. :-)
Aaron Sterling 2

@Aaron : 친절한 의견 감사합니다. 문제에서 가장 어려운 것, 즉 하위 그룹의 경우에 대한 제한은이 답변에서 완전히 무시됩니다. 생각할 시간입니다!
이토 쓰요시

3
@Aaron : 의도적으로 그렇게 말했는지는 모르겠지만 Ito의 명예를 taken습니다 ( en.wikipedia.org/wiki/Ito_lemma ).
로빈 코타 리

11

브뤼셀에서 점심 식사를하면서 우리는이 문제가 3SAT에서 상당히 짧은 감소로 NP-Hard임을 증명했습니다. 우리의 증거는 (아직) 근사한 결과를 초래하지 않습니다. 우리는 그것에 대해 더 많이 생각할 것입니다.

대략, 3 개의 SAT 인스턴스 (n 개의 변수 및 c 절 포함)를 다음과 같이 구성된 일련의 순열로 변환합니다.

1 ... n 변수 가젯 n + 2에 사용 된 n 개의 변수 n + 1의 번호를 매기려면 n + 3, 첫 번째 절을 나타내는 n + 3 ... n + 2j, j 번째 절을 나타내는 n + 2j + 1 n + 2c + 2 가비지 수집기에서 사용

변수 xi는 순열 1, ..., i-1, n + 1, i + 1, ..., n, i, ...로 표시되며 모든 절에 대해 n + 2j + 1, n + 2j를 교체합니다. 여기서 j는 xi가 나타납니다. 그리고 순열 1, ..., i-1, n + 1, i + 1, ..., n, i, ... 그리고 모든 절에 대해 n + 2j + 1, n + 2j를 교환합니다. 여기서 j는- xi가 나타납니다.

그런 다음 가비지 수집기를 사용하여 각 숫자를 다르게 표시되지 않는 위치에 배치합니다. x를 y 위치에 놓기 위해 y를 위치 n + 2c + 2에, n + 2c + 2를 x 위치에 놓습니다. 각 변수에 대해 n + 2c-1 개의 가비지 수집기와 각 절에 대해 2 (n + 2c-1)를 정확히 갖습니다. 순열 세트 커버의 크기가 n + (n + 2c-1) (n + 2c) 인 경우 각 변수에 대해 2 개의 순열 중 하나를 정확하게 선택할 수 있으면 3SAT는 만족할 수 있습니다.

작은 인스턴스에 대해서는 약간의 세부 정보가 누락되었을 수 있습니다.

스테판

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