Set Cover in Sub-linear Time
Piotr Indyk
MIT
Sepideh Mahabadi
Columbia University
Ronitt Rubinfeld
MIT/TAU
Ali Vakilian
MIT
Anak Yodpinyanee
MIT
Set Cover in Sub-linear Time Piotr Indyk Sepideh Mahabadi Ronitt - - PowerPoint PPT Presentation
Set Cover in Sub-linear Time Piotr Indyk Sepideh Mahabadi Ronitt Rubinfeld MIT Columbia University MIT/TAU Ali Vakilian Anak Yodpinyanee MIT MIT Set Cover Problem Input: Collection of sets 1 , , , each a subset of
Piotr Indyk
MIT
Sepideh Mahabadi
Columbia University
Ronitt Rubinfeld
MIT/TAU
Ali Vakilian
MIT
Anak Yodpinyanee
MIT
1 4 5 2 3
1 4 5 2 3
1 4 5 2 3
1 4 5 2 3
1 4 5 2 3
1 4 5 2 3
EltOf(π», π): πth element in π» SetOf(π, π): πth set containing π
EltOf(π», π): πth element in π» SetOf(π, π): πth set containing π
EltOf(π», π): πth element in π» SetOf(π, π): πth set containing π
EltOf(π», π): πth element in π» SetOf(π, π): πth set containing π
ο±[Nguyen, Onakβ08][Yoshida, Yamamoto, Itoβ12]
EltOf(π», π): πth element in π» SetOf(π, π): πth set containing π
ο±[Nguyen, Onakβ08][Yoshida, Yamamoto, Itoβ12]
ο±[Koufogiannakis, Youngβ14][Grigoriadis, Kachiyanβ95]:
randomized rounding to achieve π(log π)-approximation EltOf(π», π): πth element in π» SetOf(π, π): πth set containing π
ο±[Nguyen, Onakβ08][Yoshida, Yamamoto, Itoβ12]
ο±[Koufogiannakis, Youngβ14][Grigoriadis, Kachiyanβ95]:
randomized rounding to achieve π(log π)-approximation
EltOf(π», π): πth element in π» SetOf(π, π): πth set containing π
π = number of elements π = number of sets π = size of the optimal solution
Problem Approximation Constraints Query Complexity
Set Cover
π½π + 1 π½ β₯ 2 π π π π
1 π½β1 + ππ
π + 1 β π ππ π π½ π β€ π log π
1 4π½+1
Ξ© π π π
1 2π½
π½ π½ β€ 1.01 π = π(π/ log π) Ξ© ππ π
Cover Verification
β π β€ π/2 Ξ©(ππ) π = approximation factor for offline Set Cover π = number of elements π = number of sets π = Size of the optimal Solution
Problem Approximation Constraints Query Complexity
Set Cover
π½π + 1 π½ β₯ 2 π π π π
1 π½β1 + ππ
π + 1 β π ππ π π½ π β€ π log π
1 4π½+1
Ξ© π π π
1 2π½
π½ π½ β€ 1.01 π = π(π/ log π) Ξ© ππ π
Cover Verification
β π β€ π/2 Ξ©(ππ) π = approximation factor for offline Set Cover π = number of elements π = number of sets π = Size of the optimal Solution
Problem Approximation Constraints Query Complexity
Set Cover
π½π + 1 π½ β₯ 2 π π π π
1 π½β1 + ππ
π + 1 β π ππ π π½ π β€ π log π
1 4π½+1
Ξ© π π π
1 2π½
π½ π½ β€ 1.01 π = π(π/ log π) Ξ© ππ π
Cover Verification
β π β€ π/2 Ξ©(ππ) π = approximation factor for offline Set Cover π = number of elements π = number of sets π = Size of the optimal Solution Cover Verification: given a set system, verify whether a given sub-collection of sets covers the universe.
Problem Approximation Constraints Query Complexity
Set Cover
π½π + 1 π½ β₯ 2 π π π π
1 π½β1 + ππ
π + 1 β π ππ π π½ π β€ π log π
1 4π½+1
Ξ© π π π
1 2π½
π½ π½ β€ 1.01 π = π(π/ log π) Ξ© ππ π
Cover Verification
β π β€ π/2 Ξ©(ππ) π = approximation factor for offline Set Cover π = number of elements π = number of sets π = Size of the optimal Solution Cover Verification: given a set system, verify whether a given sub-collection of sets covers the universe.
Problem Approximation Constraints Query Complexity
Set Cover
π½π + 1 π½ β₯ 2 π π π π
1 π½β1 + ππ
π + 1 β π ππ π π½ π β€ π log π
1 4π½+1
Ξ© π π π
1 2π½
π½ π½ β€ 1.01 π = π(π/ log π) Ξ© ππ π
Cover Verification
β π β€ π/2 Ξ©(ππ) π = approximation factor for offline Set Cover π = number of elements π = number of sets π = Size of the optimal Solution Cover Verification: given a set system, verify whether a given sub-collection of sets covers the universe.
Problem Approximation Constraints Query Complexity
Set Cover
π½π + 1 π½ β₯ 2 π π π π
1 π½β1 + ππ
π + 1 β π ππ π π½ π β€ π log π
1 4π½+1
Ξ© π π π
1 2π½
π½ π½ β€ 1.01 π = π(π/ log π) Ξ© ππ π
Cover Verification
β π β€ π/2 Ξ©(ππ) π = approximation factor for offline Set Cover π = number of elements π = number of sets π = Size of the optimal Solution Cover Verification: given a set system, verify whether a given sub-collection of sets covers the universe.
Problem Approximation Constraints Query Complexity
Set Cover
π½π + 1 π½ β₯ 2 π π π π
1 π½β1 + ππ
π + 1 β π ππ π π½ π β€ π log π
1 4π½+1
Ξ© π π π
1 2π½
π½ π½ β€ 1.01 π = π(π/ log π) Ξ© ππ π
Cover Verification
β π β€ π/2 Ξ©(ππ) π = approximation factor for offline Set Cover π = number of elements π = number of sets π = Size of the optimal Solution Cover Verification: given a set system, verify whether a given sub-collection of sets covers the universe.
m log π β
m log π β
How we use the lemma: set β = π(π)
m log π β
1,6,3,9 10,6 3,2,7 1,2,5,4 6,9,7 8,2,9,10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 β = 2
m log π β
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 β = 2 Degrees: 2 3 2 1 1 3 2 1 3 2 1,6,3,9 10,6 3,2,7 1,2,5,4 6,9,7 8,2,9,10
m log π β
1,6,3,9 10,6 3,2,7 1,2,5,4 6,9,7 8,2,9,10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 β = 2 Degrees: 2 3 2 1 1 3 2 1 3 2
m log π β
10,6 1,2,5,4 8,2,9,10 4 5 8 10 6,9,7 Degrees: 2 3 2 1 1 3 2 1 3 2
1,6,3,9 10,6 3,2,7 1,2,5,4 6,9,7 8,2,9,10 1 2 3 4 5 6 7 8 9 10
1,6,3,9 10,6 3,2,7 1,2,5,4 6,9,7 8,2,9,10 1 2 3 4 5 6 7 8 9 10
1,6,3,9 10,6 3,2,7 1,2,5,4 6,9,7 8,2,9,10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1,3 10 3,7 1 10 7
1,3 10 3,7 1 10 7 1,6,3,9 10,6 3,2,7 1,2,5,4 6,9,7 8,2,9,10 1 2 3 4 5 6 7 8 9 10
1,6,3,9 10,6 3,2,7 1,2,5,4 6,9,7 8,2,9,10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1,3 10 3,7 1 10 7
1,6,3,9 10,6 3,2,7 1,2,5,4 6,9,7 8,2,9,10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
10,6 1,2,5,4 6,9,7 4 5
ππ log π π
10,6 1,2,5,4 6,9,7 4 5
Make a guess β of the value of the optimal solution π
Make a guess β of the value of the optimal solution π
log π different guesses β β {1,2,4, β¦ , π}
Make a guess β of the value of the optimal solution π ο± Preprocessing: perform set sampling ο± Sol β sampled sets
log π different guesses β β {1,2,4, β¦ , π}
Make a guess β of the value of the optimal solution π ο± Preprocessing: perform set sampling ο± Sol β sampled sets
log π different guesses β β {1,2,4, β¦ , π} sample β sets, number of queries: πβ Set Sampling: After picking β sets uniformly at random, all elements with degree at least
m log π β
are covered w.h.p.
Make a guess β of the value of the optimal solution π ο± Preprocessing: perform set sampling ο± Sol β sampled sets ο± For π½ iterations
1 π1/π½)-
fraction of the uncovered elements.
log π different guesses β β {1,2,4, β¦ , π} sample β sets, number of queries: πβ
Make a guess β of the value of the optimal solution π ο± Preprocessing: perform set sampling ο± Sol β sampled sets ο± For π½ iterations
1 π1/π½)-
fraction of the uncovered elements.
log π different guesses β β {1,2,4, β¦ , π} sample β sets, number of queries: πβ Element Sampling: Sampling Ξ(ππ log π
π
) elements uniformly at random and finding a π- approximate cover for the sampled elements, will cover (1 β π) fraction of the original elements w.h.p. πΊ = π/ππ/π·
Make a guess β of the value of the optimal solution π ο± Preprocessing: perform set sampling ο± Sol β sampled sets ο± For π½ iterations
1 π1/π½)-
fraction of the uncovered elements.
log π different guesses β β {1,2,4, β¦ , π} sample β sets, number of queries: πβ sample (πβπ1/π½ log π) elements, number of queries: π πβπ1/π½ log π
π log π β
=π(πππ1/π½ log π log π) Element Sampling: Sampling Ξ(ππ log π
π
) elements uniformly at random and finding a π- approximate cover for the sampled elements, will cover (1 β π) fraction of the original elements w.h.p. πΊ = π/ππ/π·
Make a guess β of the value of the optimal solution π ο± Preprocessing: perform set sampling ο± Sol β sampled sets ο± For π½ iterations
1 π1/π½)-
fraction of the uncovered elements.
log π different guesses β β {1,2,4, β¦ , π} sample β sets, number of queries: πβ sample (πβπ1/π½ log π) elements, number of queries: π πβπ1/π½ log π
π log π β
=π(πππ1/π½ log π log π)
Make a guess β of the value of the optimal solution π ο± Preprocessing: perform set sampling ο± Sol β sampled sets ο± For π½ iterations
1 π1/π½)-
fraction of the uncovered elements.
log π different guesses β β {1,2,4, β¦ , π} sample β sets, number of queries: πβ number of queries: ππβ sample (πβπ1/π½ log π) elements, number of queries: π πβπ1/π½ log π
π log π β
=π(πππ1/π½ log π log π)
Make a guess β of the value of the optimal solution π ο± Preprocessing: perform set sampling ο± Sol β sampled sets ο± For π½ iterations
1 π1/π½)-
fraction of the uncovered elements.
ο± If all elements are covered, report Sol
log π different guesses β β {1,2,4, β¦ , π} sample β sets, number of queries: πβ number of queries: ππβ sample (πβπ1/π½ log π) elements, number of queries: π πβπ1/π½ log π
π log π β
=π(πππ1/π½ log π log π)
Make a guess β of the value of the optimal solution π ο± Preprocessing: perform set sampling ο± Sol β sampled sets ο± For π½ iterations
1 π1/π½)-
fraction of the uncovered elements.
ο± If all elements are covered, report Sol
log π different guesses β β {1,2,4, β¦ , π} sample β sets, number of queries: πβ number of queries: ππβ sample (πβπ1/π½ log π) elements, number of queries: π πβπ1/π½ log π
π log π β
=π(πππ1/π½ log π log π)
Problem Approximation Constraints Query Complexity
Set Cover
π½π + 1 π½ β₯ 2 π π π π
1 π½β1 + ππ
π + 1 β π ππ π π½ π β€ π log π
1 4π½+1
Ξ© π π π
1 2π½
π½ π½ β€ 1.01 π = π(π/ log π) Ξ© ππ π
Cover Verification
β π β€ π/2 Ξ©(ππ) π = approximation factor for offline Set Cover π = number of elements π = number of sets π = Size of the optimal Solution Cover Verification: given a set system, verify whether a given sub-collection of sets covers the universe.
Construction: is randomized. For every π, π the set π contains π with probability 1 β π0 where π0 =
9 log π π
Construction: is randomized. For every π, π the set π contains π with probability 1 β π0 where π0 =
9 log π π
Properties: by Chernoff, most of such instances have the following properties:
log π π
at least
π 9 log π 4βπ
Construction: is randomized. For every π, π the set π contains π with probability 1 β π0 where π0 =
9 log π π
Properties: by Chernoff, most of such instances have the following properties:
log π π
at least
π 9 log π 4βπ
Construction: is randomized. For every π, π the set π contains π with probability 1 β π0 where π0 =
9 log π π
Properties: by Chernoff, most of such instances have the following properties:
Take one such instance π½β with the above properties
log π π
at least
π 9 log π 4βπ
Pick two random sets π1 and π2 and turn them into a set cover. How? π½ = ππ, ππ, ππ, ππ π»π = ππ, ππ π»π = ππ, ππ
Pick two random sets π1 and π2 and turn them into a set cover. How?
π½ = ππ, ππ, ππ, ππ π»π = ππ, ππ π»π = ππ, ππ ππ
Pick two random sets π1 and π2 and turn them into a set cover. How?
π½ = ππ, ππ, ππ, ππ π»π = ππ, ππ π»π = ππ, ππ ππ ππ
Pick two random sets π1 and π2 and turn them into a set cover. How?
π½ = ππ, ππ, ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ
Pick two random sets π1 and π2 and turn them into a set cover. How?
π½ = ππ, ππ, ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ
Pick two random sets π1 and π2 and turn them into a set cover. How?
π½ = ππ, ππ, ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ
Modified instance Swap
Pick two random sets π1 and π2 and turn them into a set cover. How?
π½ = ππ, ππ, ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ
Only four positions changes in the query access model.
Modified instance Swap
Pick two random sets π1 and π2 and turn them into a set cover. How?
π½ = ππ, ππ, ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ π»π = ππ, ππ
Only four positions changes in the query access model.
Modified instance Swap
Two in ElemOf oracles + Two in SetOf oracles
Uniformly at Random π1 π2
Uniformly at Random
that are not covered
π1 π2
Uniformly at Random
are not covered
elements that are covered by both
π1 π2
Uniformly at Random
are not covered
that are covered by both
the intersection to each uncovered element
π1 π2
Uniformly at Random
are not covered
that are covered by both
the intersection to each uncovered element
π1 π2 π1 π2
Uniformly at Random
are not covered
that are covered by both
the intersection to each uncovered element
π1 π2 π1 π2
Uniformly at Random
are not covered
that are covered by both
the intersection to each uncovered element
set
π1 π2 π1 π2
Uniformly at Random
are not covered
that are covered by both
the intersection to each uncovered element
set
π1 π2 π1 π2
Uniformly at Random
are not covered
that are covered by both
the intersection to each uncovered element
set
π1 π2 π1 π2
Uniformly at Random
are not covered
that are covered by both
the intersection to each uncovered element
set
π1 π2 π1 π2
Uniformly at Random
are not covered
that are covered by both
the intersection to each uncovered element
set
π1 π2 π1 π2
Uniformly at Random
are not covered
that are covered by both
the intersection to each uncovered element
set
π1 π2 π1 π2
Uniformly at Random
are not covered
that are covered by both
the intersection to each uncovered element
set
π1 π2 π1 π2
Uniformly at Random
are not covered
that are covered by both
the intersection to each uncovered element
set
π1 π2
Uniformly at Random
are not covered
that are covered by both
the intersection to each uncovered element
set
π1 π2
Uniformly at Random
are not covered
that are covered by both
the intersection to each uncovered element
set
π1 π2
π log π
changed.
Lemma: For any element π and any set π, the probability that pair participate in a swap is almost uniform, i.e., π(
log π ππ ).
Input:
Lemma: For any element π and any set π, the probability that pair participate in a swap is almost uniform, i.e., π(
log π ππ ).
Input:
Problem Approximation Query Complexity
Constraints
Set Cover
π½π + 1 π π π π
1 π½β1 + ππ
π½ β₯ 2
π + 1 π ππ π
β
π½ Ξ© π π π
1 2π½
π β€ π log π
1 4π½+1
π½ Ξ© ππ π
π½ β€ 1.01 π = π(π/ log π)
Cover Verification
β Ξ©(ππ)
π β€ π/2
Problem Approximation Query Complexity
Constraints
Set Cover
π½π + 1 π π π π
1 π½β1 + ππ
π½ β₯ 2
π + 1 π ππ π
β
π½ Ξ© π π π
1 2π½
π β€ π log π
1 4π½+1
π½ Ξ© ππ π
π½ β€ 1.01 π = π(π/ log π)
Cover Verification
β Ξ©(ππ)
π β€ π/2
Problem Approximation Query Complexity
Constraints
Set Cover
π½π + 1 π π π π
1 π½β1 + ππ
π½ β₯ 2
π + 1 π ππ π
β
π½ Ξ© π π π
1 2π½
π β€ π log π
1 4π½+1
π½ Ξ© ππ π
π½ β€ 1.01 π = π(π/ log π)
Cover Verification
β Ξ©(ππ)
π β€ π/2