CS5206: Overview CS5206: Fundamentals in Algorithms Course Objectives: Covers fundamental algorithms for graduate students Learn to design and code efficient algorithms Learn techniques for analyzing efficient algorithms Target Students: Beginning graduate students Advanced undergraduate (4th year) students Those aiming to do research in algorithm design Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.1 Copyright © 2008 by Leong Hon Wai CS5206: Overview…(2) Pre-requisite: CS3230 Analysis of Algorithms Programming Skills (in C++) Or Consent of Instructor TextBook: [KT06] Algorithm Design, by Kleinberg & Tardos by Addison-Wesley, 2006. Reference Material: [CLRS01] Introduction to Algorithms, (2nd edition) by Cormen, Leiserson, Rivest, Stein, 2001. (Material also comes from [Tarj83], etc) Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.2 Copyright © 2008 by Leong Hon Wai Special Curriculum Notice… CS5206 replaces CS5234 …in various program/specialization requirements details will be given in future updates of the curriculum… Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.3 Copyright © 2008 by Leong Hon Wai CS5206: Fall 08 Instructor: Leong Hon Wai, COM1 03-41 http://www.comp.nus.edu.sg/~leonghw/ Course webpage http://www.comp.nus.edu.sg/~CS5206/2008/ Course Emphasis: • Rigorous treatment of algorithm design and analysis • Challenging Homework sets • Using Advanced DS and Alg (LEDA) in Research and Development Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.4 Copyright © 2008 by Leong Hon Wai CS5206: Fall 2008… (2) Course Grading: 30% Homeworks 30% Project (including LEDA assignments) 40% Final Exam (OPEN BOOK) Homework: (30%) About 4-5 sets (about 1 every 2-3 weeks) Very important part of the course Project: (30%) LEDA programming assignments Programming project Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.5 Copyright © 2008 by Leong Hon Wai CS5206: Topics (Tentative) BASICS: Mathematics for AA, RR, Master Theorem, Randomized Quicksort ADVANCED DATA STRUCTURES and ALGORITHMS Interval Scheduling Problems, Augmenting Data Structures Heaps and Fast Graph Algorithms Amortized Analysis and Binomial Heaps, Fibonacci Heaps LEDA: Library of Efficient Data Structures and Algorithms Network Flow Problems: Algorithms and Applications (Matching) CASE STUDY: Graph Partitioning and Berth Allocation Problem NP-COMPLETENESS NP-completeness: Cook's Theorem, Reduction Approximation Algorithms Local Search Methods Student Presentations: Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.6 Copyright © 2008 by Leong Hon Wai About CS5206 Homeworks RSA Problem Routine Problems -- easy practice problems Standard Problems -- to be submitted for grading Advanced Problems -- for challenge, fun Your Homework Answers: Concise & Precise Answers Appropriate Level of Detail (see samples) Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.7 Copyright © 2008 by Leong Hon Wai About CS5206 Homeworks – (2) Academic Policy (on Plagiarism) Do your work YOURSELF If you are REALLY stuck, Approach instructor for help Discuss general approaches with fellow students Write down names of collaborators Do NOT copy/compare answers! Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.8 Copyright © 2008 by Leong Hon Wai CS5206: Is this right for You? I ASSUME knowledge of Data Structures (CS1102); Good Programming skills; AND CS3230 Analysis of Algorithms; If you have NOT done CS3230 or equiv.: Take CS3230 instead! This is NOT a course to learn algorithms! We assume you ALREADY KNOW algorithms TAKE CS3230 instead! Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.9 Copyright © 2008 by Leong Hon Wai Backgrounds assumed (by topics) Data Structures (with analyses) Stacks, Queues, Lists, Binary search trees, balanced trees, Heaps and priority queues Algorithm Design Paradigms (with Analysis) Standard sorting and searching algorithms Graph algorithms: DFS, BFS, Shortest Path Algorithms, MST Algorithms Greedy Algorithms, Divide-and-Conquer Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.10 Copyright © 2008 by Leong Hon Wai Backgrounds assumed (by topics) Analysis of Algorithms Expertise with Big-O, , notations Summation of series, Master Theorem Competent with Algorithm Analysis: Quicksort, Heapsort, DFS, BFS, Divide-and-Conquer algorithms Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.11 Copyright © 2008 by Leong Hon Wai CS5206 Pre-Requisites… CS3230 Analysis of Algorithms Else, Background Knowledge Assumed Alternatively, see that you have mastered the following Chapters from the text [CLRS01] (including the analysis of their running times): Chapters 3-5 Chapters 6-13 Chapters 15-16 Chapters 22-24 Mathematical Foundations Basic Data Structures Greedy Algorithms Basic Graph Algorithms Otherwise: Talk to instructor (case-by-case) Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.12 Copyright © 2008 by Leong Hon Wai Thank you. Q &A Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.13 Copyright © 2008 by Leong Hon Wai