CS5206: Overview (Fall 2010) CS5206: Foundations in Algorithms Course Objectives: Target Students:

advertisement
CS5206: Overview (Fall 2010)
CS5206: Foundations 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 2010) Page L00.1
Copyright © 2008-10 by Leong Hon Wai
CS5206: Overview…(2)
 Pre-requisite:
 CS3230 Analysis of Algorithms
 Programming Skills (CS2010 or CS2010 or CS1102)
 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.
 Some material may also come from [Tarj83], etc
Hon Wai Leong, NUS
(CS5206, Fall 2010) Page L00.2
Copyright © 2008-10 by Leong Hon Wai
CS5206: Fall 2010
 Instructor: Leong Hon Wai, COM1 03-41
 http://www.comp.nus.edu.sg/~leonghw/
 Course webpage
 http://www.comp.nus.edu.sg/~CS5206/2010/
Course Emphasis:
• Rigorous treatment of algorithm design and analysis
• Challenging Homework sets
• Programming with Advanced DS and Algorithms in
Research and Development
Hon Wai Leong, NUS
(CS5206, Fall 2010) Page L00.3
Copyright © 2008-10 by Leong Hon Wai
CS5206: Fall 2010… (2)
 Course Grading:
 20%
Homeworks
 30%
Project (including LEDA assignments)
 20%
Mid-Term
(OPEN BOOK)
 30%
Final Exam (OPEN BOOK)
 Homework: (20%)
 About 4-5 sets (about 1 every 2 weeks or so)
 VIP (Very important part) of the course
 Project: (30%)
 LEDA programming assignments
 Algorithm Design and Programming Project
Hon Wai Leong, NUS
(CS5206, Fall 2010) Page L00.4
Copyright © 2008-10 by Leong Hon Wai
CS5206: Topics (Tentative)
 BASICS:
 Mathematics for Analysis of Algorithms (Master Theorem)
 Divide and Conquer Algorithms (Randomized Quicksort)
 Greedy Algorithms, Dynamic Programming
 DATA STRUCTURES
 Heaps and Fast Graph Algorithms
 Amortized Analysis and Binomial Heaps, Fibonacci Heaps
 LEDA: Library of Efficient Data Structures and Algorithms
 ALGORITHMS
 Network Flow Problems: Algorithms and Applications (Matching)
 Graph Partitioning and Clustering
 NP-COMPLETENESS
 NP-completeness: Cook's Theorem, Reduction
 Approximation Algorithms
 Local Search Methods
 Student Presentations:
Hon Wai Leong, NUS
(CS5206, Fall 2010) Page L00.5
Copyright © 2008-10 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 2010) Page L00.6
Copyright © 2008-10 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
 If you want to discuss with fellow students
 Discuss general approach (not detailed answers)
 You MUST write up YOUR OWN answers.
 You must write down names of collaborators
 Do NOT copy/compare answers!
Hon Wai Leong, NUS
(CS5206, Fall 2010) Page L00.7
Copyright © 2008-10 by Leong Hon Wai
CS5206: Is this right for You?
 I ASSUME knowledge of
 Data Structures;
 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 2010) Page L00.8
Copyright © 2008-10 by Leong Hon Wai
Background 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 2010) Page L00.9
Copyright © 2008-10 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 2010) Page L00.10
Copyright © 2008-10 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 2010) Page L00.11
Copyright © 2008-10 by Leong Hon Wai
Thank you.
Q &A
Hon Wai Leong, NUS
(CS5206, Fall 2010) Page L00.12
Copyright © 2008-10 by Leong Hon Wai
Download