P. 1
Lecture Notes

# Lecture Notes

Ratings: (0)|Views: 46 |Likes:
note
note

Categories:Types, School Work

### Availability:

See more
See less

08/03/2014

pdf

text

original

Periklis A. PapakonstantinouFall 2011

Preface
This is a set of lecture notes for the 3rd year course “Advanced Algorithms” which I gave inTsinghua University for Yao-class students in the Spring and Fall terms in 2011. This set of notesis partially based on the notes scribed by students taking the course the ﬁrst time it was given.Many thanks to Xiahong Hao and Nathan Hobbs for their hard work in critically revising, editing,and adding ﬁgures to last year’s material. I’d also like to give credit to the students who alreadytook the course and scribed notes. These lecture notes, together with students’ names can be foundin the Spring 2011 course website.This version of the course has a few topics different than its predecessor. In particular, I re-moved the material on algorithmic applications of Finite Metric Embeddings and SDP relaxationsand its likes, and I added elements of Fourier Analysis on the boolean cube with applicationsto property testing. I also added a couple of lectures on algorithmic applications of Szemer´edi’sRegularity Lemma.Except from property testing and the regularity lemma the remaining topics are: a brief revi-sion of the greedy, dynamic programming and network-ﬂows paradigms; a rather in-depth intro-duction to geometry of polytopes, Linear Programming, applications of duality theory, algorithmsfor solving linear programs; standard topics on approximation algorithms; and an introduction toStreaming Algorithms.I would be most grateful if you bring to my attention any typos, or send me your recommenda-tions, corrections, and suggestions to
.
Beijing,
P
ERIKLIS
A. P
APAKONSTANTINOU
Fall 2011 – This is a growing set of lecture notes. It will not be complete until mid January 2012 –
1

Contents
1.1 Asymptotic Upper Bounds: big-O notation . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Facts about Greedy Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Unweighted Interval Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Weighted Interval Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1 Sequence Alignment Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2 Dynamic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.3 Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2 Maximum Flow Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.3 Max-Flow Min-Cut Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.4 Ford-Fulkerson Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.4.1 Edmonds-Karp Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 214.5 Bipartite Matching via Network Flows . . . . . . . . . . . . . . . . . . . . . . . . 244.6 Application of Maximum Matchings: Approximating Vertex Cover . . . . . . . . . 24
5.1 Optimization Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.2 Approximation Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.3 Makespan Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.4 Approximation Algorithm for Makespan Problem . . . . . . . . . . . . . . . . . . 28
6.1 Linear Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316.2 Afﬁne Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316.3 Convex Polytope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336.4 Polytope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346.5 Linear Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351