300 likes | 458 Views
On the number of matroids. Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven). Matroids. Matroid (U,C): U = Universe [n], C: collection of independent sets Subset closed: I independent, then also .
E N D
On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)
Matroids Matroid(U,C): U = Universe [n], C: collection of independent sets • Subset closed: I independent, then also . • Exchange: |I|>|I’| then some s.t also independent. How does a typical matroid look ? Can we generate themrandomly? How many matroids m(n) on n elements? Clearly, m(n) Knuth’74: m(n) (explicit construction of a class called sparse paving matroids) i.e. log log m(n) [n – 3/2 log n – O(1), n]
Narrowing the gap Why bother about this tiny 3/2 log n gap? log log scale a bit deceptive. x vs. Conjecture: Most matroids are sparse paving (various versions) Knuth’s bound perhaps close to optimal Often counting -> Sampling and generating matroids. m(n) Better bound
Known results Knuth 74 Easy Upper bound: Pf: Any rank r matroid is specified by its bases (max. indep. sets) Number of rank r matroidsm(n,r) . So, m(n) (n+1) (can just focus on rank r=n/2) Piff 73: ]
Our Result Thm: log log m(n) Knuth’s lower bound + 1+o(1) . (Piff had ½ log n gap) Knuth 74: m We show: m Need only the most basic matroid facts. Main Tool: Bounding number of stable sets in a graph.
Outline • Knuth’s lower bound construction • Counting stable sets • The final upper bound
Knuth’s Lower bound Matroid of rank r can be specified by r-sets that are non-bases. Johnson Graph: J(n,r) V: r-subsets of [n] |V|=. Edge (u,v): if Fact: If non-bases form a stable set in J(n,r), then get a matroid. These are called sparse paving matroids. (various nice properties)
Knuth’s bound Sparse Paving Matroids : precisely the stable sets of J(n,r). For graph G: = size of max stable set. i(G) = # stable sets. Note: . J(n,r) is a regular graph of degree d = for . So, Knuth: Proof: Color vertex by j if Gives proper n-coloring.
Rest of the talk Goal: Show log log m(n) Knuth’s lower bound + 1+o(1) (Necessary) first step: Show this for sparse paving matroids log log s(n) Knuth’s lower bound + 1+o(1) ( same as bounding i(G) for J(n,r)) The ideas developed there will be useful for bounding m(n).
Bounding s(n) Claim: Max stable set in J(n,n/2) (2/n) N N = # of vertices Fact: If is smallest eigenvalue of adj. matrix of a d-regular graph. Then, (proof later) Johnson graphs: for J(n/n/2) So, Naïve bound: i(G) + + … + ≈ Recall, knuth Lower’s bound: Niavely: i(J(n,n/2)) (note: base of exponent)
Better Bound Refined bound: i(J(n,n/2)) Morally: All independent sets are subsets of few large independent sets. Examples: n-Hypercube vertices Naïve bound on i(G) = Right answer: [Saphozhenko’83] (1+o(1) Entropy Method [Kahn’01]: Any d-regular bipartite graph Tight: Disjoint copies of (n/2d copies) Holds even for general graphs [Zhao’10]
Our Result Thm: In any d-regular graph G with min eigenvalue i(G) Idea: Encode an independent set using few bits of information. Eg: Bipartite graphs: Our bound: Our approach closest to Alon, Balogh, Morris, Samotij[arxiv’12] (their bound not useful for our purposes) This encoding idea is later used to encode matroids.
Rest of the talk Encoding for independent sets. Encoding for Matroids.
A useful lemma G: d-regular with min eigenvalue . For any vertex subset A. 2 Proof: Split Corollary: Corollary: If |A| + N, then G[A] has a vertex of degree (For random set A of size , expected degree A
Encoding a stable set Associate to an independent set I of G the pair of vertices (S,A), s.t. • |A| • A is completely determined by S. I can be uniquely specified by (S, ). Key Point: A is completely determined by S. Number of possibilities for I = (gives the result) S I A G
Encoding a stable set Input: Independent set I. Initialize: A = V and S = While |A| > Let v = largest degree vertex in G[A] (ties in lex order) If v in I, add to S and set Else discard v and set A = A\{v} .
Encoding a stable set Input: Independent set I. Initialize: A = V and S = While |A| > Let v = largest degree vertex in G[A] (ties in lex order) If v in I, add to S and set Else discard v and set A = A\{v} .
Encoding a stable set Input: Independent set I. Initialize: A = V and S = While |A| > Let v = largest degree vertex in G[A] (ties in lex order) If v in I, add to S and set Else discard v and set A = A\{v} .
Encoding a stable set Input: Independent set I. Initialize: A = V and S = While |A| > Let v = largest degree vertex in G[A] (ties in lex order) If v in I, add to S and set Else discard v and set A = A\{v} Observe: S completely determines A.
Encoding a stable set Claim: Pf: Alg in phase j if ] A vertex in phase jhas at least j neighbors in G[A]. Must pick vertices in S. Sum over j=d,…1. Phases: d … d-1 1 2
Encoding Matroids Matroid can be specified by listing r-sets that are non-bases. Want a more compact representation (fewer bits). Idea: r-set Y is dependent iff some X s.t. || > rk(X) (i.e. X acts as a witness that Y contains a dependency). E.g. X=Y trivially works. But not very efficient. Want small witness set { (X,rk(X)) } that works for all Y.
Key Lemma: For a dependent r-set X, we can associate sets that are witnesses for all non-bases Y in . If rank(X) < r-1. Witness = (X,rk(X))
Key Lemma: For a dependent r-set X, we can associate sets that are witnesses for all non-bases Y in . If rank(X) = r-1. Then X has a unique circuit C. Witness = (Cl(X), C) Cl(X) : closure all z s.t. rank(X U z) = rank(X) Proof: (as Y=X-x+y) Case 1: If rk(X+y) = r-1, then = |Y|> rk(Cl(X)) Case 2: rk(X-x) r-2 < |X-x| So X-x contains a circuit C’. But C’=C by uniqueness. So (as Y=X-x+y). Hence || = |C| > rk(C)
Finish up Given a matroid, let K = set of non-bases. Apply stable set procedure to K obtain (S, A) with • S and A small as before, S determined by A. Encoding: {witness of } for each List 1) Witness for all non-bases in 2) List of remaining non-bases.
Questions Would be nice to reduce the gap to o(1). The reason for +1+o(1) gap Do not understand the size of max. stable set in J(n,n/2) N/n (explicit construction) vs. 2N/n (eigenvalue methods) Studied a lot in coding. Simulations suggest closer to N/n Perhaps a new method for certifying that would also bound m(n).
Narrowing the gap Why bother about this tiny 3/2 log n gap? log log scale a bit deceptive. x vs. Conjectures (various quantitative versions): Most matroids are sparse paving. s(n): sparse paving matroids • m_n/s_n \rightarrow 1 • log logm_n = log logs_n + o(1) • log logm_n = log logs_n + O(log log n) Perhaps counting -> Sampling and generating matroids.
Encoding Matroids If rank(X) = r-1. Then X has a unique circuit C. Witness = (Cl(X), C) Cl(X) : closure all z s.t. rank(X U z) = rank(X) Proof this witness works: (as Y=X-x+y) Case 1: rk(X+y) = r-1, but then then Case 2: rk(X-x) r-2 < |X-x| So X-x contains a circuit C’. But then C=C’ by uniqueness. So Y=X-x+y contains C.
Finish up Given a matroid, let K = set of non-bases. Apply stable set procedure to K obtain (S, A) with • S and A small as before, S determined by A. For a non-basis X, we have a witness for non-bases in the neighborhood of X. Encoding: (X, witness of X) for each List
Knuth’s Lower bound Matroid of rank r can be specified by r-sets that are non-bases. Johnson Graph: J(n,r) V: r-subsets of [n] |V|=. Edge (u,v): if Claim: If non-bases form a stable set in J(n,r), then get a matroid. These are called sparse paving matroids. Proof: Base Exchange: M is matroidiff for every two bases B,B’ and e B\B’ there exists f in B’ such that B-e+f is base. B not a base and not a base … … B B’