On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der...

30
On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Transcript of On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der...

Page 1: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

On the number of matroids

Nikhil Bansal (TU Eindhoven)Rudi Pendavingh (TU Eindhoven)Jorn van der Pol (TU Eindhoven)

Page 2: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

MatroidsMatroid (U,C): U = Universe [n], C: collection of independent sets(i) Subset closed: I independent, then also .(ii) Exchange: |I|>|I’| then some s.t also independent. How does a typical matroid look ? Can we generate them randomly?

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]

Page 3: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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)

22𝑛Better bound

Page 4: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Known resultsKnuth 74

Easy Upper bound:

Pf: Any rank r matroid is specified by its bases (max. indep. sets)Number of rank r matroids m(n,r) .So,

m(n) (n+1) (can just focus on rank r=n/2)Piff 73: ]

Page 5: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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.

Page 6: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Outline

• Knuth’s lower bound construction• Counting stable sets• The final upper bound

Page 7: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Knuth’s Lower boundMatroid 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)

Page 8: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Knuth’s boundSparse 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.

Page 9: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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).

Page 10: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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)

Page 11: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Better BoundRefined bound: i(J(n,n/2)) Morally: All independent sets are subsets of few large independent sets.

Examples: n-Hypercube verticesNaï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]

Page 12: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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.

Page 13: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Rest of the talk

Encoding for independent sets.Encoding for Matroids.

Page 14: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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

Page 15: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Encoding a stable set

Associate to an independent set I of G the pair of vertices (S,A), s.t.

1) 2) |A| 3) 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

G

I

A

Page 16: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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}

.

Page 17: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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}

.

Page 18: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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}

.

Page 19: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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.

Page 20: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Encoding a stable set

Claim: Pf: Alg in phase j if ]

A vertex in phase j has at least j neighbors in G[A].Must pick vertices in S. Sum over j=d,…1.

Phases: d 12d-1 …

Page 21: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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.

Page 22: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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))

Page 23: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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)

Page 24: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Finish up

Given a matroid, let K = set of non-bases.

Apply stable set procedure to K obtain (S, A) with 1) 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.

Page 25: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Questions

Would be nice to reduce the gap to o(1).

The reason for +1+o(1) gapDo 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).

Page 26: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Thank You

Page 27: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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

1) m_n/s_n \rightarrow 12) log log m_n = log log s_n + o(1)3) log log m_n = log log s_n + O(log log n)

Perhaps counting -> Sampling and generating matroids.

Page 28: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

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.

Page 29: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Finish up

Given a matroid, let K = set of non-bases.

Apply stable set procedure to K obtain (S, A) with 1) 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

Page 30: On the number of matroids Nikhil Bansal (TU Eindhoven) Rudi Pendavingh (TU Eindhoven) Jorn van der Pol (TU Eindhoven)

Knuth’s Lower boundMatroid 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 matroid iff 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 baseand not a base

B B’