the friendship theorem dr. john s. caughman portland state university
TRANSCRIPT
Public Service Announcement
(a+b)p=ap+bp …mod p
…when a, b are integers…and p is prime.
“Freshman’s Dream”
Freshman’s Dream Generalizes!
(a1+a2+…+an)p=a1p +a2
p +…+anp
…mod p…when a, b are integers
…and p is prime.
Freshman’s Dream Generalizes
(a1+a2+…+an)p = a1p +a2
p +…+anp
tr(A) p = tr(Ap) (mod p)
a4000
*a300
**a20
***a1
A =
Freshman’s Dream Generalizes!
tr(A) p = tr(Ap) (mod p)
****
****
****
****
A =
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.
Let G be a simple graph with n vertices.
The Theorem, Restated
If every pair of vertices in G has precisely one common neighbor, then G has a vertex with n-1 neighbors.
Generally attributed to Erdős (1966).
Easily proved using linear algebra.
Combinatorial proofs more elusive.
The Theorem, Restated
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…
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!
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.
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
So f is one-to-one from Nx to Ny.
x y u*
f(u)= f(u*) u
So it can’t be true that |Nx| > |Ny|.
How to prove it:
So f is one-to-one from Nx to Ny.
x y u*
f(u)= f(u*) u
So |Nx| = |Ny|.
How to prove it:
So it can’t be true that |Nx| > |Ny|.
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}.
How to prove it:
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
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:
How to prove it:
Why:
STEP 3: If all vertices have k neighbors, then n = k (k-1) + 1.
Count paths of length 2…
How to prove it:
Why:
STEP 3: If all vertices have k neighbors, then n = k (k-1) + 1.
Count paths of length 2…
( )n2
How to prove it:
Why:
STEP 3: If all vertices have k neighbors, then n = k (k-1) + 1.
Count paths of length 2…
( ) 1n2
How to prove it:
Why:
STEP 3: If all vertices have k neighbors, then n = k (k-1) + 1.
Count paths of length 2…
( ) 1 =n2
How to prove it:
Why:
STEP 3: If all vertices have k neighbors, then n = k (k-1) + 1.
Count paths of length 2…
( ) 1 = n
n2
How to prove it:
Why:
STEP 3: If all vertices have k neighbors, then n = k (k-1) + 1.
Count paths of length 2…
( ) 1 = n (k)n2
How to prove it:
Why:
STEP 3: If all vertices have k neighbors, then n = k (k-1) + 1.
Count paths of length 2…
( ) 1 = n (k) (k-1) n2
How to prove it:
Why:
STEP 3: If all vertices have k neighbors, then n = k (k-1) + 1.
Count paths of length 2…
( ) 1 = n (k) (k-1) ________2
n2
How to prove it:
STEP 3: If all vertices have k neighbors, then n = k (k-1) + 1.
( ) 1 = n (k) (k-1) ________2
n2
= n (k) (k-1) ________2
(n)(n-1)2
n = k (k-1) + 1
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:
The Master PlanEach pair has 1 in common
If x,y not
neighbors,
|Nx|=|Ny|
Some x has n-1
neighbors
|Nx|= k for
all x, and
n =k(k-1)+1
Some Linear
Algebra
Either
Or
?
Adjacency MatrixCall 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
v4
v1
v2
v30101
1011
0101
1110
A =
A2 =
0101
1011
0101
1110
0101
1011
0101
1110
=
2121
1312
2121
1213
Adjacency Matrix(A2)
ij = # common neighbors of vi, vj
So…….. for our graphs…..
A2 = (k-1) I + J. (J = all 1’s matrix)
(A2) ij = 1 if i, j different, and
(A2) ij = k if i = j.
Adjacency MatrixA2 = (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 MatrixAi = 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 togetherEach pair has 1 in common
If x,y not
neighbors,
|Nx|=|Ny|
Some x has n-1
neighbors
|Nx|= k for
all x and
n =k(k-1)+1
0=1
Either
Or