Skip to main content
corrected the approximation ratio of the greedy algorithm, made other small changes
Source Link
Tsuyoshi Ito
  • 16.6k
  • 2
  • 56
  • 106

This problem is a special case of Set Cover, and there is a simple greedy approximation algorithm [Joh74]. If we denote the kth harmonic number as Hk = ∑i=1k 1/i, the greedy algorithm achieves an approximation ratio Hn2 = 2 ln n + Θ(1).

A better approximation ratio can be obtained by (There is an approximation algorithm for k-Set Cover [DF97], which results in ana slightly better approximation ratio Hn−1/2 = ln n + Θ(1.) (Edit: Revision 2 and earlier stated the approximation ratio of the greedy algorithm worse than the correct value.)

Moreover, this is almost optimal in the following sense:

[DF97] Rong-Chii Duh and Martin Fürer. Approximation of k-set cover by semi-local optimization. In _Proceedings of the Twenty-Ninth Annual ACM Symposium on Theory of Computing (STOC)Proceedings of the Twenty-Ninth Annual ACM Symposium on Theory of Computing (STOC), pp. 256–264, May 1997. http://dx.doi.org/10.1145/258533.258599

[Fei98] Uriel Feige. A threshold of ln n for approximating set cover. Journal of the ACM, 45(4):634–652, July 1998. http://dx.doi.org/10.1145/285055.285059

[Joh74] David S. Johnson. Approximation algorithms for combinatorial problems. Journal of Computer and System Sciences, 9(3):256–278, Dec. 1974. http://dx.doi.org/10.1016/S0022-0000(74)80044-9

This problem is a special case of Set Cover, and there is a simple greedy approximation algorithm. If we denote the kth harmonic number as Hk = ∑i=1k 1/i, the greedy algorithm achieves an approximation ratio Hn2 = 2 ln n + Θ(1).

A better approximation ratio can be obtained by an approximation algorithm for k-Set Cover [DF97], which results in an approximation ratio Hn−1/2 = ln n + Θ(1).

Moreover, this is optimal in the following sense:

[DF97] Rong-Chii Duh and Martin Fürer. Approximation of k-set cover by semi-local optimization. In _Proceedings of the Twenty-Ninth Annual ACM Symposium on Theory of Computing (STOC), pp. 256–264, May 1997. http://dx.doi.org/10.1145/258533.258599

[Fei98] Uriel Feige. A threshold of ln n for approximating set cover. Journal of the ACM, 45(4):634–652, July 1998. http://dx.doi.org/10.1145/285055.285059

This problem is a special case of Set Cover, and there is a simple greedy approximation algorithm [Joh74]. If we denote the kth harmonic number as Hk = ∑i=1k 1/i, the greedy algorithm achieves an approximation ratio Hn = ln n + Θ(1). (There is an algorithm [DF97] which results in a slightly better approximation ratio Hn−1/2.) (Edit: Revision 2 and earlier stated the approximation ratio of the greedy algorithm worse than the correct value.)

Moreover, this is almost optimal in the following sense:

[DF97] Rong-Chii Duh and Martin Fürer. Approximation of k-set cover by semi-local optimization. In Proceedings of the Twenty-Ninth Annual ACM Symposium on Theory of Computing (STOC), pp. 256–264, May 1997. http://dx.doi.org/10.1145/258533.258599

[Fei98] Uriel Feige. A threshold of ln n for approximating set cover. Journal of the ACM, 45(4):634–652, July 1998. http://dx.doi.org/10.1145/285055.285059

[Joh74] David S. Johnson. Approximation algorithms for combinatorial problems. Journal of Computer and System Sciences, 9(3):256–278, Dec. 1974. http://dx.doi.org/10.1016/S0022-0000(74)80044-9

corrected an inconsistency in the use of symbols
Source Link
Tsuyoshi Ito
  • 16.6k
  • 2
  • 56
  • 106

Let n=2m+2. For E⊆[m+1], let PE be the n×n permutation matrix which is block diagonal with n 2×2 blocks so that ith block is $\pmatrix{0 & 1 \\ 1 & 0}$ if iE and $\pmatrix{1 & 0 \\ 0 & 1}$ otherwise. Let Q be the n×n permutation matrix whose (i, i+2)-entry is 1 for all 1≤in (where the index i+2 are interpreted as modulo n). For 0≤jm, define Sj = {P(E)EQj: EC∪{{m+1}}} and S = S0∪…∪Sm.

Proof sketch. If DC is a cover of [m], we can construct a cover TS of size (|D|+1)(m+1) by T = {P(E)EQj: ES∪{{m+1}}, 0≤jm}.

On the other hand, let TS be a cover. Note that all the matrices in S0 are block diagonal with blocks of size 2×2, and the other matrices in S have 0 in these blocks. Therefore, TS0 covers these blocks. Moreover, TS0 contains P({m+1}){m+1} since otherwise the (2m+1, 2m+2)-entry would not be covered. Observe that (TS0)∖{P({m+1}){m+1}} corresponds to a set cover in C. Therefore, |TS0|≥k+1. Similarly, for any 0≤jm, |TSj|≥k+1. Therefore, |T|≥(k+1)(m+1). End of proof sketch of Claim.

Let n=2m+2. For E⊆[m+1], let PE be the n×n permutation matrix which is block diagonal with n 2×2 blocks so that ith block is $\pmatrix{0 & 1 \\ 1 & 0}$ if iE and $\pmatrix{1 & 0 \\ 0 & 1}$ otherwise. Let Q be the n×n permutation matrix whose (i, i+2)-entry is 1 for all 1≤in (where the index i+2 are interpreted as modulo n). For 0≤jm, define Sj = {P(E)Qj: EC∪{{m+1}}} and S = S0∪…∪Sm.

Proof sketch. If DC is a cover of [m], we can construct a cover TS of size (|D|+1)(m+1) by T = {P(E)Qj: ES∪{{m+1}}, 0≤jm}.

On the other hand, let TS be a cover. Note that all the matrices in S0 are block diagonal with blocks of size 2×2, and the other matrices in S have 0 in these blocks. Therefore, TS0 covers these blocks. Moreover, TS0 contains P({m+1}) since otherwise the (2m+1, 2m+2)-entry would not be covered. Observe that (TS0)∖{P({m+1})} corresponds to a set cover in C. Therefore, |TS0|≥k+1. Similarly, for any 0≤jm, |TSj|≥k+1. Therefore, |T|≥(k+1)(m+1). End of proof sketch of Claim.

Let n=2m+2. For E⊆[m+1], let PE be the n×n permutation matrix which is block diagonal with n 2×2 blocks so that ith block is $\pmatrix{0 & 1 \\ 1 & 0}$ if iE and $\pmatrix{1 & 0 \\ 0 & 1}$ otherwise. Let Q be the n×n permutation matrix whose (i, i+2)-entry is 1 for all 1≤in (where the index i+2 are interpreted as modulo n). For 0≤jm, define Sj = {PEQj: EC∪{{m+1}}} and S = S0∪…∪Sm.

Proof sketch. If DC is a cover of [m], we can construct a cover TS of size (|D|+1)(m+1) by T = {PEQj: ES∪{{m+1}}, 0≤jm}.

On the other hand, let TS be a cover. Note that all the matrices in S0 are block diagonal with blocks of size 2×2, and the other matrices in S have 0 in these blocks. Therefore, TS0 covers these blocks. Moreover, TS0 contains P{m+1} since otherwise the (2m+1, 2m+2)-entry would not be covered. Observe that (TS0)∖{P{m+1}} corresponds to a set cover in C. Therefore, |TS0|≥k+1. Similarly, for any 0≤jm, |TSj|≥k+1. Therefore, |T|≥(k+1)(m+1). End of proof sketch of Claim.

Source Link
Tsuyoshi Ito
  • 16.6k
  • 2
  • 56
  • 106

Here is an almost tight analysis of approximability for the case where S is not required to be a subgroup of the symmetric group.

This problem is a special case of Set Cover, and there is a simple greedy approximation algorithm. If we denote the kth harmonic number as Hk = ∑i=1k 1/i, the greedy algorithm achieves an approximation ratio Hn2 = 2 ln n + Θ(1).

A better approximation ratio can be obtained by an approximation algorithm for k-Set Cover [DF97], which results in an approximation ratio Hn−1/2 = ln n + Θ(1).

Moreover, this is optimal in the following sense:

Theorem. Set Cover for Permutation Matrices cannot be approximated within an approximation ratio (1−ε) ln n for any constant 0<ε<1 unless NP ⊆ DTIME(nO(log log n)).

Here is a sketch of a proof. We write [n] = {1, …, n}. We will construct a reduction from Set Cover:

Set Cover
Instance: A positive integer m and a collection C of subsets of [m].
Solution: A subset D of C such that the union of the sets in D is equal to [m].
Objective: Minimize |D|.

It is a famous result by Feige [Fei98] that Set Cover cannot be approximated within an approximation ratio (1−ε) ln m for any constant 0<ε<1 unless NP ⊆ DTIME(nO(log log n)).

Let (m, C) be an instance of Set Cover. We will construct an instance (n, S) of Set Cover for Permutation Matrices.

Let n=2m+2. For E⊆[m+1], let PE be the n×n permutation matrix which is block diagonal with n 2×2 blocks so that ith block is $\pmatrix{0 & 1 \\ 1 & 0}$ if iE and $\pmatrix{1 & 0 \\ 0 & 1}$ otherwise. Let Q be the n×n permutation matrix whose (i, i+2)-entry is 1 for all 1≤in (where the index i+2 are interpreted as modulo n). For 0≤jm, define Sj = {P(E)Qj: EC∪{{m+1}}} and S = S0∪…∪Sm.

Claim. Let k be the size of minimum cover of [m] in C. Then the size of minimum cover in S is equal to (k+1)(m+1).

Proof sketch. If DC is a cover of [m], we can construct a cover TS of size (|D|+1)(m+1) by T = {P(E)Qj: ES∪{{m+1}}, 0≤jm}.

On the other hand, let TS be a cover. Note that all the matrices in S0 are block diagonal with blocks of size 2×2, and the other matrices in S have 0 in these blocks. Therefore, TS0 covers these blocks. Moreover, TS0 contains P({m+1}) since otherwise the (2m+1, 2m+2)-entry would not be covered. Observe that (TS0)∖{P({m+1})} corresponds to a set cover in C. Therefore, |TS0|≥k+1. Similarly, for any 0≤jm, |TSj|≥k+1. Therefore, |T|≥(k+1)(m+1). End of proof sketch of Claim.

By Claim, the reduction constructed above preserves the approximation ratio. In particular, it establishes the theorem.

References

[DF97] Rong-Chii Duh and Martin Fürer. Approximation of k-set cover by semi-local optimization. In _Proceedings of the Twenty-Ninth Annual ACM Symposium on Theory of Computing (STOC), pp. 256–264, May 1997. http://dx.doi.org/10.1145/258533.258599

[Fei98] Uriel Feige. A threshold of ln n for approximating set cover. Journal of the ACM, 45(4):634–652, July 1998. http://dx.doi.org/10.1145/285055.285059