|
|
CSCI 670, Spring 2012
|
|
|
The course is intended as a first Ph.D. course in the design and analysis of algorithms. While the main focus is on known and well-established results in the literature, we will also cover topics of potential research interests. The course will give an overview of common techniques, and applications of these techniques in different settings. Students in the class are expected to have a reasonable degree of mathematical sophistication, and to be familiar with the basic notions of algorithms and data structures, discrete mathematics, and probability. Specifically, the following will be assumed:
|
|
|
Professor Shang-Hua Teng |
|
Anand Narayanan Email: aknaraya[]usc.edu |
|
|
Textbook |
Algorithm Design The class will also cover additional material drawn from research papers as well as other books in Theoretical Computer Science.
|
|
Lectures |
|
|
Grades |
45% - 15% each - Quizzes on homeworks (closed book & notes), Midterm 25% (open book), Final 30% (open book)
|
|
Exams |
3 quizzes, midterm and final |
|
Homeworks |
|
|
Integrity |
Plagiarism and other anti-intellectual behavior will be dealt with severely. This includes the possibility of failing the course or being expelled from the University. |
| Lec# |
Date
|
Topic and/or Event | Required Reading | "Fun" Research Reading | |
|
1
|
01/10
|
Class organization:
Type of Computational Problems
Type of Algorithms
Complexity Theory and Algorithm Analysis |
Chapters 1-3 Search on the Web. For example: "google P NP" "google linear programming" "google graph partitioning" "google clustering" "google nearest neighbors" "google Nash Equilibrium" "google Page Rank" "google network flow" |
Lipton's brilliant blog: "Goedel's Lost Letter and P=NP" | |
|
2
|
01/12
|
Divide and Conquer
Algorithmic View of Proof by Induction Preference and Similarity of Preferences Merge Sort: Review Recurrences: Review A Divide & Conquer Algorithm for Counting Inversions |
Chapter 5 | Bentley: Multidimensional divide-and-conquer, Communications of the ACM, Volume 23 Issue 4, April 1980 | |
|
3
|
01/17
|
Divide and Conquer
Integer Multiplication Linear Algebra: Review Polynomials representations Evaluation Interpolation Convolution and polynomial multiplication |
Chapter 5 |   | |
|
4
|
01/19
|
FFT
Complex numbers Fundamental Theorem of Algebra Discrete Fourier Transform Inverse DFT |
Search on the Web. For example:
"google FFT" "google Discrete Fourier Transform" "google Fourier Transform" "google Fourier Analysis" |
  | |
|
5
|
01/24
|
Graph Partitioning and Separator Theorems
Grid graphs Geometric Graphs Planar Graphs
Planar and Geometric Separator Theorems
|
Search on the Web for the
research papers:
Lipton and Tarjan: "A Separator Theorem for Planar Graphs," SIAM J. Appl. Math. 36, 177-189 (1979), Miller et al: Separators for sphere-packings and nearest neighbor graphs, Journal of the ACM, Volume 44 Issue 1, Jan. 1997 Spielman and Teng: Disk Packings and Planar Separators, SCG 96: 12th Annual ACM Symposium on Computational Geometry, pages 349-358. |
Spielman and Teng, "Spectral partitioning works: Planar graphs and finite element meshes", Linear Algebra and its Applications Volume 421, Issues 2-3, 1 March 2007, Pages 284-305 (Special Issue in honor of Miroslav Fiedler) |   |
|
6
|
01/26
|
Geometric Divide and Conquer
Closest pairs Nearest Neighborhood Graph Computation |
Miller et al: Separators for sphere-packings and nearest neighbor graphs, Journal of the ACM, Volume 44 Issue 1, Jan. 1997 | ||
|
7
|
01/31
|
Graph Divide and Conquer
Graphs and Matrices Linear Systems Gaussian Elimination Sparse Matrix Computation Graph Theoretical Interpretation of Gaussion Elimination Nested Dissection via Separator Theorems |
Search on the Web for these
research papers
Lipton, Rose, and Tarjan: Generalized nested dissection, SIAM Journal on Numerical Analysis 16 (2): 346-358 |
Gilbert and Tarjan: The analysis of a nested dissection algorithm, Numerische Mathematik 50 (4): 377-404. | |
|
8
|
02/02
|
Greedy Algorithms
Merging files, merging lists, Huffman Codes, Mergesort revisit Clustering and Minimum Spanning Trees |
Chapter 4 | Balcan, Blum, and Gupta: Approximate clustering without the approximation | |
|
9
|
02/07
|
Greedy Algorithms
Shortest Paths in a Graph |
Chapter 4 | Thorup and Zwick: Approximate distance oracles, ournal of the ACM (JACM), Volume 52 Issue 1, January 2005 | |
|
10
|
02/09
|
Quiz 1 |   | ||
|
11
|
02/14
|
Iterative Algorithms Bubble Sort Network Flow |
Chapter 7 | Christiano, Kelner, Madry, Spielman, and Teng: Electrical Flows, Laplacian Systems, and Faster Approximation of Maximum Flow in Undirected Graphs, ACM STOC | |
|
12
|
02/16
|
The Duality of Maximum Flow and Minimum Cuts in a Network | Chapter 7 | Tom Leighton and Satish Rao: Multicommodity max-flow min-cut theorems and their use in designing approximation algorithms, Journal of the ACM, Volume 46 Issue 6, Nov. 1999 | |
|
13
|
02/21
|
Iterative Algorithms: Matching |
Chapter 7 | ||
|
14
|
02/23
|
Delaunay triangulation and Voronoi Diagram in Two Dimensions | Ruppert, "A Delaunay Refinement Algorithm for Quality 2-Dimensional Mesh Generation", Journal of Algorithms Volume 18, Issue 3, May 1995, Pages 548-585 | ||
|
15
|
02/28
|
Iterative Algorithms for 2D Delaunay triangulation and Voronoi Diagrams | Guibas, Knuth, and Sharir "Randomized incremental construction of Delaunay and Voronoi diagrams". Algorithmica 7: 381-413 | ||
|
16
|
03/01
|
Dynamic Programming: Context Free Languages | Chapter 6 |
Frances Yao: "Speed-Up in Dynamic Programming", SIAM. J. on Algebraic and Discrete Methods 3, pp. 532-540 (former journal of SIAM J. on Matrix Analysis and Applications / Volume 3 / Issue 4)
Arora: Polynomial time approximation schemes for Euclidean traveling salesman and other geometric problems, Journal of the ACM (ACM) 45 (5): 753-782 |
|
|
17
|
03/06
|
Dynamic Programming: Optimal Binary Search Trees | Chapter 6 | ||
|
18
|
03/08
|
Midterm | Good Luck | ||
|
19
|
03/13
|
SPRING BREAK |   | ||
|
20
|
03/15
|
SPRING BREAK |   | ||
|
21
|
03/20
|
Dynamic Programming:
Weighted Interval Scheduling |
Chapter 6 | ||
|
22
|
03/22
|
Dynamic Programming:
LCS: Sequence Alignment |
Chapter 6 | ||
|
23
|
03/27
|
Quiz 2 |   | ||
|
24
|
03/29
|
Guest Lecture: Anand Narayanan
Computability
Complexity Theory
|
Chapter 8 and Web | ||
|
25
|
04/03
|
Approximation Algorithms
Scheduling PARTITION and NP-Hardness Graham's algorithm |
Chapter 11 (11.1 -- 11.5, 11.8) | ||
|
26
|
04/05
|
Approximation Algorithms
The Center Selection Problem Mutually Distant Sampling Set Cover Reduce the Center Selection to Set Cover |
Chapter 11 (11.1 -- 11.5, 11.8) | ||
|
27
|
04/10
|
Guest Lecture: Anand Narayanan
NP Completeness and Polynomial-Time Reduction
|
Chapter 8 | ||
|
28
|
04/12
|
Guest Lecture: Anand Narayanan
NP Completeness and Polynomial-Time Reduction
Beyond NP
|
Chapter 8 and Chapter 9 | ||
|
29
|
04/17
|
Approximation Algorithms: Analysis
The Center Selection Problem Mutually Distant Sampling Set Cover |
Chapter 11 (11.1 -- 11.5, 11.8) | ||
|
30
|
04/19
|
Quiz 3 |   | ||
|
31
|
04/24
|
Linear Programming Basic | Chapter 11.6 Michel Goemans's note on Linear Programming and Polyhedral combinatorics |
||
|
32
|
04/26
|
Linear Programming, Randomization, and Approximation | Chapter 11.6 | Raghavan and Thompson, "Randomized rounding: A technique for provably good algorithms and algorithmic proofs", Combinatorica 7 (4): 365-374
Goemans and Williamson, "Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming", Journal of the ACM (JACM), 1115--1145, 1995. |
|
|
33
|
05/03 (Thursday) 2-4 p.m.
|
FINAL | Good Luck |