170 likes | 186 Views
Advanced Algorithms. 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
E N D
Advanced Algorithms 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: Thursday (after class) 4:50pm to 5:50pm Email: piyush at acm dot org
Class Timings • Timings • Tu, Th • ( 3:35pm – 4:50pm ) • Exams: Look in the course – info sheet.
Other Details • Course web site: • http://piyush.compgeom.com/teach/AA15/ • Textbook.
References • Klienberg / Tardos • Algorithm Design • Other References • Jeff Erickson – Algorithms – Self Published, 2018. • [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 Today! • Your first home work is due next week • 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
b e h 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 Time 0 1 2 3 4 5 6 7 8 9 10 11
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 0 1 2 3 4 5 6 7 8 9 10 11
Bipartite Matching • Input. Bipartite graph. • Goal. Find maximumcardinality matching. A 1 B 2 C 3 D 4 E 5
1 4 5 6 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 7 6
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 1 15 1 5 15 5 10 Second player can guarantee 20, but not 25.
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.