CS5206: Overview CS5206: Fundamentals in Algorithms Course Objectives: Target Students:

advertisement
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
 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 may also come from [Tarj83], etc)
Hon Wai Leong, NUS
(CS5206, Fall 2008) Page L00.2
Copyright © 2008 by Leong Hon Wai
CS5206: Fall 09
 Instructor: Leong Hon Wai, COM1 03-41
 http://www.comp.nus.edu.sg/~leonghw/
 Course webpage
 http://www.comp.nus.edu.sg/~CS5206/2009/
Course Emphasis:
• Rigorous treatment of algorithm design and analysis
• Challenging Homework sets
• Using LEDA (Lib of Advanced DS and Algorithms ) in
Research and Development
Hon Wai Leong, NUS
(CS5206, Fall 2008) Page L00.3
Copyright © 2008 by Leong Hon Wai
CS5206: Fall 2009… (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
 Algorithm Design and Programming Project
Hon Wai Leong, NUS
(CS5206, Fall 2008) Page L00.4
Copyright © 2008 by Leong Hon Wai
CS5206: Topics (Tentative)
 BASICS:
 Mathematics for Analysis of Algorithms (Master Theorem)
 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 2008) Page L00.5
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.6
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.7
Copyright © 2008 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 2008) Page L00.8
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.9
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.10
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.11
Copyright © 2008 by Leong Hon Wai
Thank you.
Q &A
Hon Wai Leong, NUS
(CS5206, Fall 2008) Page L00.12
Copyright © 2008 by Leong Hon Wai
Download