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
© Copyright 2026 Paperzz