The Friendship Theorem - Portland State University
Download
Report
Transcript The Friendship Theorem - Portland State University
The Friendship
Theorem
Dr. John S. Caughman
Portland State University
Public Service Announcement
“Freshman’s Dream”
(a+b)p=ap+bp
…mod p
…when a, b are integers
…and p is prime.
Freshman’s Dream Generalizes!
(a1+a2+…+an)p=a1p +a2p +…+anp
…mod p
…when a, b are integers
…and p is prime.
Freshman’s Dream Generalizes
A=
a1
0
0
0
*
a2
0
0
*
*
a3
0
*
*
*
a4
(a1+a2+…+an)p = a1p +a2p +…+anp
tr(A) p = tr(Ap) (mod p)
Freshman’s Dream Generalizes!
A=
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
tr(A) p = tr(Ap) (mod p)
tr(A p) = tr((L+U)p) = tr(Lp +Up)
= tr(Lp)+tr(Up)=0+tr(U)p = tr(A)p
Note: tr(UL)=tr(LU) so cross terms combine , and coefficients =0 mod p.
The Theorem
If every pair of people at a party has
precisely one common friend, then there
must be a person who is everybody's
friend.
Cheap Example
Nancy
John
Mark
Cheap Example of a Graph
Nancy
John
Mark
What a Graph IS:
Nancy
John
Mark
What a Graph IS:
Nancy
John
Vertices!
Mark
What a Graph IS:
Nancy
John
Edges!
Mark
What a Graph IS NOT:
Nancy
John
Mark
What a Graph IS NOT:
Nancy
John
Loops!
Mark
What a Graph IS NOT:
Nancy
John
Loops!
Mark
What a Graph IS NOT:
Nancy
John
Directed edges!
Mark
What a Graph IS NOT:
Nancy
John
Directed edges!
Mark
What a Graph IS NOT:
Nancy
John
Multi-edges!
Mark
What a Graph IS NOT:
Nancy
John
Multi-edges!
Mark
‘Simple’ Graphs…
Nancy
John
• Finite
• Undirected
• No Loops
• No Multiple Edges
Mark
The Theorem, Restated
Let G be a simple graph with n vertices.
If every pair of vertices in G has precisely one
common neighbor, then G has a vertex with n-1
neighbors.
The Theorem, Restated
Generally attributed to Erdős (1966).
Easily proved using linear algebra.
Combinatorial proofs more elusive.
NOT A TYPICAL
“THRESHOLD” RESULT
Pigeonhole Principle
If more than n pigeons are placed
into n or fewer holes, then
at least one hole
will contain more than one pigeon.
Some threshold results
If a graph with n vertices has > n2/4
edges, then there must be a set of 3
mutual neighbors.
If it has > n(n-2)/2 edges, then there
must be a vertex with n-1 neighbors.
Extremal Graph Theory
If this were an extremal problem, we
would expect graphs with MORE edges
than ours to also satisfy the same
conclusion…
1
1
2
1
2
3
1
4
2
3
4
4
4
2
Of the 15 pairs, 3 have four neighbors in common and 12 have
two in common. So ALL pairs have at least one in common.
But NO vertex has five neighbors!
Related Fact – losing edges
Related Fact – losing edges
Related Fact – losing edges
Summary
If every pair of vertices in a graph has at least
one neighbor in common, it might not be
possible to remove edges and produce a
subgraph in which every pair has exactly one
common neighbor.
Accolades for Friendship
The Friendship Theorem is listed among
Abad's “100 Greatest Theorems”
The proof is immortalized in Aigner and
Ziegler's Proofs from THE BOOK.
Example 1
Example 2
Example 3
How to prove it:
STEP ONE: If x and y are not neighbors,
they have the same # of neighbors.
Why:
Let Nx = set of neighbors of x
Let Ny = set of neighbors of y
How to prove it:
x
y
How to prove it:
y
x
Nx
How to prove it:
y
x
Ny
How to prove it:
x
y
For each u in Nx define:
f(u) = common neighbor of u and y.
How to proveu it:
1
x
Pick u1 in Nx.
y
How to proveu it:
1
f(u1)
x
y
f(u1) = common neighbor of u1 and y.
How to prove it:
x
y
How to prove it:
x
u2
Pick u2 in Nx.
y
How to prove it:
f(u2)
x
u2
y
f(u2) = common neighbor of u2 and y.
How to prove it:
x
y
How to prove it:
u
x
u*
f(u)= f(u*)
y
How to prove it:
u
x
u*
f(u)= f(u*)
y
How to prove it:
u
x
u*
f(u)= f(u*)
y
So f is one-to-one from Nx to Ny.
How to prove it:
u
x
u*
f(u)= f(u*)
y
So f is one-to-one from Nx to Ny.
So it can’t be true that |Nx| > |Ny|.
How to prove it:
u
x
u*
f(u)= f(u*)
y
So f is one-to-one from Nx to Ny.
So it can’t be true that |Nx| > |Ny|.
So
|Nx| = |Ny|.
How to prove it:
STEP 1: If x and y are not neighbors, they
have the same # of neighbors.
STEP 2: Either some x has n-1 neighbors or
ALL vertices have same # of neighbors.
Why: Assume no vertex has n-1 neighbors.
Let A = {x : x has max # of neighbors, k}.
B = {y : y has < k neighbors}.
A = {x : x has max # of neighbors, k}.
B = {y : y has < k neighbors}.
By Step 1, all in A are neighbors to all in B!
Set
||
Possible Size
A
0, 1, 2, …. , n
B
0, 1, 2, …. , n
.
How to prove it:
STEP 1: If x and y are not neighbors, they
have the same # of neighbors.
STEP 2: Either some x has n-1 neighbors or
ALL vertices have k neighbors.
STEP 3: If all vertices have k neighbors, then
n = k (k-1) + 1.
How to prove it:
STEP 3: If all vertices have k neighbors, then
n = k (k-1) + 1.
Why:
Count paths of length 2…
How to prove it:
STEP 3: If all vertices have k neighbors, then
n = k (k-1) + 1.
Why:
Count paths of length 2…
(2 )
n
How to prove it:
STEP 3: If all vertices have k neighbors, then
n = k (k-1) + 1.
Why:
Count paths of length 2…
(2 )
n
1
How to prove it:
STEP 3: If all vertices have k neighbors, then
n = k (k-1) + 1.
Why:
Count paths of length 2…
(2 )
n
1 =
How to prove it:
STEP 3: If all vertices have k neighbors, then
n = k (k-1) + 1.
Why:
Count paths of length 2…
(2 )
n
1 = n
How to prove it:
STEP 3: If all vertices have k neighbors, then
n = k (k-1) + 1.
Why:
Count paths of length 2…
(2 )
n
1 = n (k)
How to prove it:
STEP 3: If all vertices have k neighbors, then
n = k (k-1) + 1.
Why:
Count paths of length 2…
(2 )
n
1 = n (k) (k-1)
How to prove it:
STEP 3: If all vertices have k neighbors, then
n = k (k-1) + 1.
Why:
Count paths of length 2…
(2 )
n
(k) (k-1)
1 = n________
2
How to prove it:
STEP 3: If all vertices have k neighbors, then
n = k (k-1) + 1.
( )
n
(k) (k-1)
1 = n________
2
2
(k) (k-1)
(n)(n-1) = n________
2
2
n = k (k-1) + 1
How to prove it:
STEP 1: If x and y are not neighbors, they
have the same # of neighbors.
STEP 2: Either some x has n-1 neighbors or
ALL vertices have k neighbors.
STEP 3: If all vertices have k neighbors, then
n = k (k-1) + 1.
The Master Plan
If x,y not
Each pair
has 1 in
common
Some x has
n-1
neighbors
neighbors,
|Nx|=|Ny|
Either
Or
Some
Linear
Algebra
?
|Nx|= k for
all x, and
n =k(k-1)+1
Adjacency Matrix
Call vertices v1, v2, …, vn.
Let A = n x n matrix where:
Aij = 1, if vi, vj are neighbors,
Aij = 0, if not.
A is called the adjacency matrix of G.
{
Notice that the trace of A is 0.
Adjacency Matrix
v1
v4
v2
0
1
1
1
A=
v3
A2 =
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
=
1
1
0
1
1
0
1
0
3
1
2
1
1
2
1
2
2
1
3
1
1
2
1
2
Adjacency Matrix
(A2) ij = # common neighbors of vi, vj
So…….. for our graphs…..
(A2) ij = 1
(A2) ij = k
if i, j different, and
if i = j.
A2 = (k-1) I + J.
(J = all 1’s matrix)
Adjacency Matrix
A2 = (k-1) I + J
(J = all 1’s matrix)
A J = (k) J
Now let p be a prime divisor of k-1.
Then k = 1 and n = k(k-1)+1 = 1 (mod p)
So A2 = J, and A J = J. (mod p)
Therefore, Ai = J for all i > 1. (mod p)
Adjacency Matrix
Ai = J for all i > 1 (mod p)
But
tr Ap = (tr A)p
(mod p)
So, modulo p, we get:
1 = n = tr J = tr Ap = (tr A)p = 0.
Putting it all together
If x,y not
Each pair
has 1 in
common
Some x has
n-1
neighbors
neighbors,
0=1
|Nx|=|Ny|
Either
Or
|Nx|= k for
all x and
n =k(k-1)+1
Moral:
To make progress in almost
any field of math, find a way to
sneak linear algebra into it !
THANK YOU !