Fall 2005

Office: 238 Bell Hall Office Hours: Thursdays 10:00-12:00 Phone: 645-3180 x 160 Email: hungngo {at} cse {dot} buffalo {dot} edu

**Website:** http://www.cse.buffalo.edu/~hungngo/classes/2005/Expanders

**Grading**: to be done on an S/N (or S/U) basis only.

**Time and place**: **Tuesdays, 9:00-12:00, Bell 242**

Roughly speaking, expanders are graphs where every "small" subset
of vertices has a relatively "large" neighbor set (i.e. it *expands*
quickly). Expanders is one of the deepest ideas in computer science since its
introduction in the 70s. Expanders (or expanding graphs) have found great applications
in many different areas which seem to be unrelated: saving random bits in a
randomized algorithm, constructing good error correcting codes, constructing
good switching networks, aiding a new proof of the PCP theorem, designing and
maintaining good P2P network topologies, ...

This seminar aims to skim through the foundation of knowledge behind expanders
and related areas. I shall spend roughly half of the semester presenting the
foundations of expanding graphs. Elementary knowledge on probability theory
and linear algebra are required.
I will provide reading materials on basic probability
theory and linear algebra. In the second half, each member of the class presents
a paper or a topic related to expanders. I will provide a recommended list of
papers/topics for you to choose from. However, you can talk about a different
paper/topic with my consent.

Also, each class member prepares scribe notes for at least one lecture, depending on how large the class is. A LATEX template will be provided. Part of the grading is based on how much effort I have to spend modifying the scribe note. All notes shall be shared to the class.

The seminar is very useful for students interested in algorithms,
computational complexity, graph theory, and networking.

- Have fun!
- Learn the foundations of expanding graph theory
- Learn their applications to networking, algorithms, computational complexity, and graph theory.

- Introduction to algebraic graph theory
- Introduction to the probabilistic method
- Probabilistic constructions
- Expanders and eigenvalues
- Explicit constructions: Cayley graph expanders, the zig-zag product, the Margulis construction, Ramanujan graphs
- Random walks on expanders
- Derandomization, error amplification
- Expanders codes
- Applications to P2P networks
- Applications to switching networks
- Expanders and the PCP theorem

- About 20 pages of dense reading per week (i.e. no bedtime reading).
- Each student is expected to do a presentation at some point during the semester,
based on:
- A survey done by the student on a particular topic to be suggested by the instructor or picked by the student but approved by the instructor.
- A (few) very dense mathematical paper.
- An open problem solved by the student.

- Find the instructor funny.

- OK, the real deals are: rudimentary knowledge on linear algebra, algorithms, probability theory. They are not entirely essential to follow things presented in the seminar. Related background materials shall be provided in the forms of small tutorials/notes. You'd have to read them though.