On the number of matroids

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
(i) Subset closed: I independent, then 𝐼’ βŠ‚ 𝐼 also .
(ii) Exchange: |I|>|I’| then some π‘₯ ∈ 𝐼\I β€² 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) ≀ 22
1 𝑛
𝑛 𝑛/2
2𝑛
𝑛1.5
Knuth’74: m(n) β‰₯ 2
β‰ˆ 2
(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. π‘₯ 2
log log π‘₯ 2 = log 2 log π‘₯ = 1 + log log π‘₯
Conjecture: Most matroids are sparse paving (various versions)
Knuth’s bound perhaps close to optimal
Often counting ->
Sampling and generating matroids.
Better bound
m(n)
22
𝑛
Known results
3
2
Knuth 74: log log π‘š 𝑛 β‰₯ 𝑛 – log 𝑛 βˆ’ 𝑂 1
Easy Upper bound: log log π‘š 𝑛 ≀ 𝑛 – ½ log 𝑛 + 𝑂 1
Pf: Any rank r matroid is specified by its bases (max. indep. sets)
Number of rank r matroids m(n,r) ≀ 2
So, log log π‘š 𝑛, π‘Ÿ ≀ log
m(n) ≀(n+1) max π‘š 𝑛, π‘Ÿ
π‘Ÿ
𝑛
𝑛/2
𝑛
π‘Ÿ
.
≀ 𝑛 – ½ log 𝑛 + 𝑂 1
(can just focus on rank r=n/2)
Piff 73: log log π‘š(𝑛) ≀ 𝑛 – log 𝑛 + 𝑂 1
[Best so far]
Our Result
Thm: log log m(n) ≀ Knuth’s lower bound + 1+o(1) .
(Piff had β‰ˆ ½ log n gap)
Knuth 74: m 𝑛 β‰₯ 2
We show: m 𝑛 ≀ 2
1 𝑛
𝑛 𝑛/2
2+π‘œ(1) 𝑛
𝑛/2
𝑛
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 𝑒 ∩ 𝑣 = π‘Ÿ βˆ’ 1
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: let 𝛼 𝐺 = size of max stable set.
i(G) = # stable sets.
Note: 𝑖 𝐺 β‰₯ 2𝛼 𝐺 .
J(n,r) is a regular graph of degree d = π‘Ÿ 𝑛 βˆ’ π‘Ÿ β‰ˆ
So, 𝛼 β‰₯
1
𝑛
𝑑+1 𝑛/2
β‰ˆ
2𝑛
𝑛2.5
𝑛2
4
1
𝑛
Knuth: 𝛼 β‰₯ 𝑛/2
𝑛
Proof: Color vertex π‘₯1 , … , π‘₯𝑛 by j if
Gives proper n-coloring.
𝑖𝑖
𝑛
2
for π‘Ÿ = .
π‘₯𝑖 = 𝑗 mod 𝑛.
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: πœ† β‰ˆ
Naïve bound: i(G) ≀
β‰ˆ
𝑛
2
So, 𝛼 𝐺 ≀ β‰ˆ
for J(n/n/2)
𝑁
0
+
𝑐𝑛
𝑁
1
2𝑁/𝑛
+…+
π‘Žπ‘ 
Recall, knuth Lower’s bound: 2𝑁/𝑛
Niavely: i(J(n,n/2)) β‰ˆ 𝑛2𝑁/𝑛
2
𝑛
𝑁
𝑁
2𝑁/𝑛
𝑁
π‘˜
β‰ˆ
𝑒𝑁 π‘˜
π‘˜
(note: base of exponent)
Better Bound
Refined bound:
i(J(n,n/2)) ≀ 2(2+π‘œ(1))𝑁/𝑛
Morally: All independent sets are subsets of few large independent sets.
Examples: n-Hypercube
𝛼 𝐺 =
𝑁
2
𝑁 = 2𝑛 vertices
Naïve bound on i(G) =
1
2
2𝑁
Right answer: [Saphozhenko’83] (1+o(1) 2𝑒 2𝑁/2
𝑁 𝑁
+
2 2𝑑
Entropy Method [Kahn’01]: Any d-regular bipartite graph 2
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 βˆ’πœ†
𝑁 (ln2 𝑑)/𝑑
i(G) ≀ 2
2𝑁 πœ†/(𝑑+πœ†)
Idea: Encode an independent set using few bits of information.
Eg: Bipartite graphs: πœ† = βˆ’π‘‘
Our bound:
2 𝑑)/𝑑
𝑁/2+
𝑁
(ln
2
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𝑒 𝐺 𝐴
𝑑𝐴
𝑁
β‰₯ 𝐴
𝐴
𝑁
A
= πœ’ 𝐴 𝑇𝐺 πœ’ 𝐴
Proof: 𝑒 𝐺 𝐴
Split πœ’ 𝐴 =
βˆ’πœ† 1βˆ’
𝐴
𝑁
Corollary: 𝛼 𝐺 ≀
1, … , 1 + other stuff βŠ₯ (1, … , 1)
πœ†
𝑁
𝑑+πœ†
Corollary: If |A| β‰₯
β‰₯πœ– 𝑑+πœ†
πœ†π‘
𝑑+πœ†
+ πœ–N, then G[A] has a vertex of degree
(For random set A of size πœ–π‘, expected degree β‰ˆ πœ–π‘‘)
Encoding a stable set
Associate to an independent set I of G the pair of vertices (S,A), s.t.
1) 𝑆 βŠ‚ 𝐼 βŠ‚ 𝑆 βˆͺ 𝐴
2)
3)
πœ†π‘
ln 𝑑+1
S
|A| ≀
.
𝑆 ≀𝑁
𝑑+πœ†
𝑑
A is completely determined by S.
I can be uniquely specified by (S, 𝐴 ∩ 𝐼).
I
A
Key Point: A is completely determined by S.
Number of possibilities for I =
𝑁
|𝑆|
2𝐴
(gives the result)
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
Phases:
d
Claim: 𝑆 ≀
…
d-1
ln 𝑑+1
𝑑
2
1
𝑁
Pf: Alg in phase j if 𝐴 ∈ [
𝑗+πœ† 𝑁 π‘—βˆ’1+πœ† 𝑁
,
]
𝑑+πœ†
𝑑+πœ†
A vertex in phase j has at least j neighbors in G[A].
Must pick ≀
𝑁
𝑗+1 𝑑+πœ†
vertices in S. Sum over j=d,…1.
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 ≀
two 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 ≀
two 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: 2π‘Ÿ βˆ’ 2 β‰₯ rk 𝑋 + rk π‘Œ β‰₯ rk 𝑋 ∩ π‘Œ + rk 𝑋 βˆͺ π‘Œ
= rk 𝑋 βˆ’ π‘₯ + rk 𝑋 + 𝑦
(as Y=X-x+y)
Case 1: If rk(X+y) = r-1, then 𝑦 ∈ 𝐢𝑙 𝑋 .
So, π‘Œ ∩ 𝐢𝑙 𝑋 = |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
1) S and A small as before, S determined by A.
2) 𝑆 βŠ‚ 𝐾
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).
𝑁
𝑛
Thank You
Narrowing the gap
Why bother about this tiny 3/2 log n gap?
log log scale a bit deceptive.
x vs. π‘₯ 2
log log π‘₯ 2 = log 2 log π‘₯ = 1 + log log π‘₯
Conjectures (various quantitative versions):
Most matroids are sparse paving.
s(n): sparse paving matroids
1) m_n/s_n \rightarrow 1
2) 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.
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:
2π‘Ÿ βˆ’ 2 β‰₯ π‘Ÿπ‘˜ 𝑋 + π‘Ÿπ‘˜ π‘Œ β‰₯ π‘Ÿπ‘˜ (𝑋 ∩
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.
2) 𝑆 βŠ‚ 𝐾 βŠ‚ (𝑆 βˆͺ 𝑁 𝑆 βˆͺ 𝐴)
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 𝑒 ∩ 𝑣 = π‘Ÿ βˆ’ 1
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.
𝑒1 𝑒2 …
B
B 𝑓1
𝑓2 …
B’
𝐡 βˆ’ e1 + 𝑓1 not a base
and 𝐡 βˆ’ 𝑒1 + 𝑓2 not a base