Presentation is loading. Please wait.

Presentation is loading. Please wait.

Piyush Kumar (Lecture 1: Introduction)

Similar presentations

Presentation on theme: "Piyush Kumar (Lecture 1: Introduction)"— Presentation transcript:

1 Piyush Kumar (Lecture 1: Introduction)
Advanced Algorithms Piyush Kumar (Lecture 1: Introduction) Welcome to COT5405

2 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

3 Instructor Piyush Kumar 161 Love Building Ph: Web page: Office Hours: Tuesday (after class) 4:50 to 5:50 piyush at acm dot org

4 Class Timings Timings Exams: Look in the course – info sheet.
Tuesday , Thursday ( 3:35pm – 4:50pm ) First Class: 25th Aug Exams: Look in the course – info sheet.

5 Other Details Textbook. Course web site:

6 References Klienberg / Tardos Other References Algorithm Design
[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

7 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.

8 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/…

9 Grading* Homework : 25% Class Participation : 5%
Two Surprise quizzes : 10% Class Project: 20% Midterm : 15% Final Exam : 25%

10 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

11 Illustrative problems

12 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 h e b c Activity selection = interval scheduling OPT = B, E, H Note: smallest job (C) is not in any optimal solution, job that starts first (A) is not in any optimal solution. d e f g h Time 1 2 3 4 5 6 7 8 9 10 11

13 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 Time 1 2 3 4 5 6 7 8 9 10 11

14 Bipartite Matching Input. Bipartite graph.
Goal. Find maximum cardinality matching. A 1 B 2 C 3 D 4 E 5

15 Independent Set Input. Graph.
subset of nodes such that no two joined by an edge Input. Graph. Goal. Find maximum cardinality independent set. 6 5 1 4 1 2 4 5 3 6 7

16 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 subset of selected nodes must form an independent set Second player can guarantee 20, but not 25.

17 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.

Download ppt "Piyush Kumar (Lecture 1: Introduction)"

Similar presentations

Ads by Google