Introduction

Piyush Kumar
(Lecture 1: Introduction)
Welcome to COT5405
Today







My Info : Timings for the class
References
Pre-Requisites Survey
How you will be graded
Syllabus
About Advanced Algorithms
Our First Problem
 Stable Matching
Instructor
Piyush Kumar
161 Love Building
Ph: 850-270-1642
Web page: http://piyush.compgeom.com
Office Hours: Tuesday (after class)
3:00pm to 4:00pm
Email:
piyush at acm dot org
Class Timings
 Timings
 Tuesday , Thursday

( 12:30pm – 1:45pm )
 First Class: 24th Aug
 Exams: Look in the course – info sheet.
Other Details
 Course web site:
 http://piyush.compgeom.com/teach/AA10/
 Textbook.
References
 Klienberg / Tardos
 Algorithm Design
 Other References
 [CLRS] T. Cormen, C. Leiserson, R. Rivest, and C. Stein.




Introduction to Algorithms (2nd edition).
[MR] R. Motwani and P. Raghavan.
Randomized Algorithms. CUP, 1995.
[V] V. V. Vazirani.
Approximation Algorithms.
[AMO]. Ravindra K. Ahuja, Thomas L. Magnanti, and
James B. Orlin.
Network Flows: Theory, Algorithms, and Applications.
Prentice Hall, 1993.
My slides and notes
PreReq





Algorithms (COP 4531 or higher)
C++
Basic Math skills
Lots of Time…
ToDo List:
 Get a LinProg Account
 Get a copy of the text book.
PreReq
 COP 4531 or higher
(What this class does not cover)
 Basic Asymptotic analysis / Recursions
 Simple Data Structures (PQs, BBTs, …)
 Preliminary Graph Algorithms: DFS/BFS/MSTs
 Easy Divide and Conquer: Mergesort/Quicksort/…
Grading*
 Homework : 20%
 Class Participation : 10%
 Two Surprise quizzes : 20%
 Class Project: 10%
 Midterm : 15%
 Final Exam : 25%
Syllabus*










Network Flows
Advanced Data Structures
Compression
Optimization
Approximation Algorithms
Online Algorithms
Parallel / External memory / Cache oblivious algorithms
Introduction to Computational geometry
Algorithms from machine learning
Popular Demand Topics - ?
* Tentative
Interval Scheduling
jobs don't overlap
 Input. Set of jobs with start times and finish times.
 Goal. Find maximum cardinality subset of mutually compatible jobs.
a
b
c
d
e
f
g
h
0
1
2
3
4
5
6
7
8
9
10
11
Time
12
Weighted Interval Scheduling
 Input. Set of jobs with start times, finish times, and weights.
 Goal. Find maximum weight subset of mutually compatible jobs.
23
12
20
26
13
20
11
16
0
1
2
3
4
5
6
7
8
9
10
11
Time
13
Bipartite Matching
 Input. Bipartite graph.
 Goal. Find maximum cardinality matching.
A
1
B
2
C
3
D
4
E
5
14
Independent Set
subset of nodes such that no two
joined by an edge
 Input. Graph.
 Goal. Find maximum cardinality independent set.
2
1
4
5
3
6
7
15
Competitive Facility Location
 Input. Graph with weight on each each node.
 Game. Two competing players alternate in selecting nodes. Not
allowed to select a node if any of its neighbors have been selected.
 Goal. Select a maximum weight subset of nodes.
10
1
5
15
5
1
5
1
15
10
Second player can guarantee 20, but not 25.
16
Five Representative Problems
 Variations on a theme: independent set.
 Interval scheduling: n log n greedy algorithm.
 Weighted interval scheduling: n log n dynamic
programming algorithm.
 Bipartite matching: nk max-flow based algorithm.
 Independent set: NP-complete.
 Competitive facility location: PSPACE-complete.
17