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으로 나타나기 때문에 가능한 것으로 보입니다.
-비