Notations For any hypergraph H 2 V we have H + H = and H + H = 2 V.
Notations For any hypergraph H 2 V we have H + H = and H + H = 2 V. Given a Sperner hypergraph H, we can view it as the family of minimal sets in the monotone system H +. Similarly, H can be viewed as the family of maximal independent sets in the independence system H.
Notations For any hypergraph H 2 V we have H + H = and H + H = 2 V. Given a Sperner hypergraph H, we can view it as the family of minimal sets in the monotone system H +. Similarly, H can be viewed as the family of maximal independent sets in the independence system H. We shall assume that H or equivalently H are represented by a membership oracle Ω, either for the monotone system H + or for the independence system H (one is simply the negation of the other).
Notations For any hypergraph H 2 V we have H + H = and H + H = 2 V. Given a Sperner hypergraph H, we can view it as the family of minimal sets in the monotone system H +. Similarly, H can be viewed as the family of maximal independent sets in the independence system H. We shall assume that H or equivalently H are represented by a membership oracle Ω, either for the monotone system H + or for the independence system H (one is simply the negation of the other). The set B(Ω) = H H is called the boundary of Ω (as well as of the independence system H and the monotone system H + ).
Easy Facts Fact 1. Consider an arbitrary algorithm A, which generates every Sperner family H by using only a membership oracle Ω for the monotone system H +. Then, for every hypergraph H such an algorithm must call the oracle at least B(Ω) = H + H times.
Easy Facts Fact 1. Consider an arbitrary algorithm A, which generates every Sperner family H by using only a membership oracle Ω for the monotone system H +. Then, for every hypergraph H such an algorithm must call the oracle at least B(Ω) = H + H times. Proof. For any B B(Ω) let Ω B be defined by { Ω(S) if S B, Ω B (S) = Ω(S) if S = B. Then, Ω B is the membership oracle of a monotone system corresponding to a different Sperner hypergraph, and thus algorithm A must distinguish the systems represented by Ω and Ω B, for any B B(Ω).
Easy Facts Cont d Corollary 1. A purely membership oracle based generation of H (or H ) will (anyway) generate both sets H H.
Easy Facts Cont d Corollary 1. A purely membership oracle based generation of H (or H ) will (anyway) generate both sets H H. Corollary 2. Generating the maximal independent sets max I of an independence system I represented by a membership oracle Ω is not simply NP-hard (cf. Lawler, Lenstra and Rinnooy Kan, 1980) but exponential, in worst case!!! Because, for infinite families of independence systems we have for any polynomial poly(). min ( 2 V \ I ) poly( max I, Ω )
Easy Facts Cont d Corollary 3. A purely membership oracle based generation of H can be efficient in total time only if H poly( H, Ω ) for some polynomial poly(). If such an inequality hold, we say that H is dual bounded.
Easy Facts Cont d Corollary 3. A purely membership oracle based generation of H can be efficient in total time only if H poly( H, Ω ) for some polynomial poly(). If such an inequality hold, we say that H is dual bounded. We do not know if there is a purely membership oracle based algorithm A which would generate in polynomial total time every dual bounded hypergraph. BUT We do know that there is one, which does that in quasipolynomial total time.
The Idea of Joint Generation (Bioch and Ibaraki, 1995, Gurvich and Khachiyan, 1998) Given the Sperner hypergraphs S H and Q H, we have S = H and Q = H
The Idea of Joint Generation (Bioch and Ibaraki, 1995, Gurvich and Khachiyan, 1998) Given the Sperner hypergraphs S H and Q H, we have S = H and Q = H Q = S
The Idea of Joint Generation (Bioch and Ibaraki, 1995, Gurvich and Khachiyan, 1998) Given the Sperner hypergraphs S H and Q H, we have S = H and Q = H Q = S S + Q = 2 V
The Idea of Joint Generation (Bioch and Ibaraki, 1995, Gurvich and Khachiyan, 1998) Given the Sperner hypergraphs S H and Q H, we have S = H and Q = H Q = S S + Q = 2 V The latter conditions do not depend on H or H!!
The Idea of Joint Generation (Bioch and Ibaraki, 1995, Gurvich and Khachiyan, 1998) Given the Sperner hypergraphs S H and Q H, we have S = H and Q = H Q = S S + Q = 2 V Dualization: Given the Sperner hypergraphs S H and Q H, the equality S + Q = 2 V can be tested, and if it does not hold, a new subset X 2 V \ (S + Q ) can be found in O(N o(log N ) time, where N = S + Q. (Fredman and Khachiyan, 1996)
Joint Generation (Bioch and Ibaraki, 1995, Gurvich and Khachiyan, 1998) Given an oracle Ω representing the monotone system H + 2 V independence system H 2 V ), let us start with S = Q =. (or the While S + Q 2 V do: Let X 2 V \ (S + Q ) be the set found by dualization. Test Ω(X) =? (remember, we have H + H = 2 V ). If X H +, then by calling the oracle at most X -times, find a set H H for which X H, and set S = S {H}. If X H, then by calling the oracle at most V \ X -times find a set H H for which X H, and set Q = Q {H}. The complexity of one incremental step is O(N o(log N ) + O(n Ω ) time, where N = S + Q and n = V.
Joint Generation (Bioch and Ibaraki, 1995, Gurvich and Khachiyan, 1998) Theorem. Given an oracle Ω representing a monotone system H +, joint generation generates the boundary family B(Ω) = H H in incremental quasi-polynomial time.
Joint Generation (Bioch and Ibaraki, 1995, Gurvich and Khachiyan, 1998) Theorem. Given an oracle Ω representing a monotone system H +, joint generation generates the boundary family B(Ω) = H H in incremental quasi-polynomial time. Consequence. If H is dual bounded, i.e. H poly( H, Ω ), then joint generation generates H in quasi-polynomial total time (just do not output sets in H ).
Joint Generation (Bioch and Ibaraki, 1995, Gurvich and Khachiyan, 1998) Theorem. Given an oracle Ω representing a monotone system H +, joint generation generates the boundary family B(Ω) = H H in incremental quasi-polynomial time. Consequence. If H is dual bounded, i.e. H poly( H, Ω ), then joint generation generates H in quasi-polynomial total time (just do not output sets in H ). Remark. Joint generation may not generate H incrementally efficiently. For instance, we may get all the sets of H before getting any from H!
Modifying Joint Generation Fact 2. If S H, Q H, and Q S, then for any Q Q \ S we have a j V \ Q such that X = Q {j} S +. For such a set we must have X H + \ S +.
Modifying Joint Generation Fact 2. If S H, Q H, and Q S, then for any Q Q \ S we have a j V \ Q such that X = Q {j} S +. For such a set we must have X H + \ S +. 1 V 1
Modifying Joint Generation Fact 2. If S H, Q H, and Q S, then for any Q Q \ S we have a j V \ Q such that X = Q {j} S +. For such a set we must have X H + \ S +. 1 V H + H 1
Modifying Joint Generation Fact 2. If S H, Q H, and Q S, then for any Q Q \ S we have a j V \ Q such that X = Q {j} S +. For such a set we must have X H + \ S +. 1 V S + S H + H 1
Modifying Joint Generation Fact 2. If S H, Q H, and Q S, then for any Q Q \ S we have a j V \ Q such that X = Q {j} S +. For such a set we must have X H + \ S +. 1 V S + S Q Q H + H 1
Modifying Joint Generation Fact 2. If S H, Q H, and Q S, then for any Q Q \ S we have a j V \ Q such that X = Q {j} S +. For such a set we must have X H + \ S +. 1 V Q S + S S Q Q H + H 1
Modifying Joint Generation Fact 2. If S H, Q H, and Q S, then for any Q Q \ S we have a j V \ Q such that X = Q {j} S +. For such a set we must have X H + \ S +. 1 V Q S + S 1 X S Q Q H + H 1
Modifying Joint Generation Fact 2. If S H, Q H, and Q S, then for any Q Q \ S we have a j V \ Q such that X = Q {j} S +. For such a set we must have X H + \ S +. The condition Q S can be tested, and if it holds, then a set X H + \S + can be constructed in O(n S Q ) time. We do not need the oracle Ω for this.
Modified Joint Generation While Q S, let X H + \ S + be constructed as above, and by calling the oracle at most X -times, find a set H H for which X H, and set S = S {H}. If Q S and S + Q 2 V then let X 2 V \ (S + Q ) be found by dualization. Test Ω(X) =? (remember, we have H + H = 2 V ). If X H +, then by calling the oracle at most X -times, find a set H H for which X H, and set S = S {H}. If X H, then by calling the oracle at most V \ X -times find a set H H for which X H, and set Q = Q {H}. Return to the while loop.
Uniformly Dual Bounded Hypergraphs Fact 2. In every iteration of the modified joint generation we have Q S H + 1. Corollary 4. Joint generation becomes incrementally efficient (quasipolynomial) if for all subfamilies S H the following inequality holds: S H poly( Ω, S ). Let us call a hypergraph H (represented by a membership oracle Ω) uniformly dual bounded if the above inequality holds for all subfamilies S H.
Uniformly Dual Bounded Hypergraphs Fact 2. In every iteration of the modified joint generation we have Q S H + 1. Corollary 4. Joint generation becomes incrementally efficient (quasipolynomial) if for all subfamilies S H the following inequality holds: S H poly( Ω, S ). Let us call a hypergraph H (represented by a membership oracle Ω) uniformly dual bounded if the above inequality holds for all subfamilies S H. Corollary 5. Since dualization is used as a black-box, joint generation may increment Q consecutively, up to S H before incrementing S. Thus, joint generation is incrementally efficient to generate H if and only if H is uniformly dual bounded.