LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course...

14
LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms Level and Emphasis of Course Advanced level, geared towards research Learn to design more efficient algorithms Learn advanced techniques for analysis of algorithms Challenging Homeworks Is this course suitable for you? Course Pre-requisites Mathematical Maturity Programming Experience

Transcript of LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course...

Page 1: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 1

About CS5234: Course Overview

CS5234: Combinatorial and Graph Algorithms

Level and Emphasis of Course Advanced level, geared towards research Learn to design more efficient algorithms Learn advanced techniques for analysis of

algorithms

Challenging Homeworks

Is this course suitable for you? Course Pre-requisites Mathematical Maturity Programming Experience

Page 2: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 2

CS5234: Comb and Graph Alg (Fall 2007)

Instructor: Leong Hon Wai, COM1 03-41 http://www.comp.nus.edu.sg/~CS5234/2007-08/

Course Objectives: covers advanced design and analysis of algorithms emphasizes efficient algorithms and data

structures Algorithms for combinatorial optimisation Use of algorithms in advanced software

development

Target Students: advanced undergraduate (4th year) students beginning graduate students those doing research in algorithm design

Page 3: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 3

CS5234: Overview…(2)

Prerequisite: CS3230 Design and Analysis of Algorithms

AND C++ Programming Skills Or Consent of Instructor

TextBook and Reference Material: [CLRS01] Introduction to Algorithms, (2nd

edition) by Cormen, Leiserson, Rivest, Stein

(Material also comes from [Tarj83], [RND77], etc)

Page 4: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 4

CS5234: Overview… (3)

Course Grading: 30% Homeworks 30% Programming 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

Page 5: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 5

CS5234: Topics (Tentative)

QUICK REVIEW: AA, DS, DP, Greedy, Graph Alg

ADVANCED DATA STRUCTURES and ALGORITHMS Heaps, Fast Graph Algorithms Amortized Analysis and Binomial Heaps, Fibonacci Heaps LEDA: Library of Efficient Data Structures and

Algorithms

COMBINATORIAL Optimization Network Flow Problems: Algorithms and Applications Maximum Matching: Algorithms and Applications CASE STUDY: Graph Partitioning and Berth Allocation

Problem

NP-COMPLETENESS NP-completeness: Cook's Theorem, Reduction Approximation Algorithms Local Search Methods

SPECIAL TOPICS: Presentations by Students

Page 6: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 6

CS4534: References

Main Text:[CLRS01] Introduction to Algorithms, (2nd edition)

by Cormen, Leiserson, Rivest, Stein, MIT, (2001)

References:[Tar83]* Data Structures and Network Algorithms

by Robert E. Tarjan, SIAM, 1983.

[RND77] Combinatorial Algorithms: Theory & Practice by Reingold, Nievergelt & Deo, PH, (1977)

[PS82] Combinatorial Optimization: Alg. & Complexity, by Papadimitriou & Steiglitz, PH, (1982)

Page 7: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 7

About CS5234 Homeworks

RSA Problem Routine Problems -- easy practice

problems Standard Problems -- to be submitted Advanced Problems -- for challenge, fun

Page 8: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 8

About CS5234 Homeworks – (2)

Academic Policy (on Plagiarism) You do your work YOURSELF If REALLY stuck, discuss ONLY general

approaches IF YOU DISCUSS, write names of collaborators

Do NOT copy/compare answers!

Your Homework Answers: Concise & Precise Answers Appropriate Level of Detail (see handouts)

Page 9: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 9

CS5234: Is this the right Course for You?

I ASSUME knowledge of Programming (CS1101); Data Structures

(CS1102); 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 that you ALREADY KNOW algorithms TAKE CS3230 instead!

Page 10: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 10

CS5234 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 Mathematical Foundations Chapters 6-13 Basic Data Structures Chapters 15-16 DP and Greedy Algorithms Chapters 22-24 Basic Graph Algorithms

Otherwise: Talk to instructor (case-by-case)

Page 11: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 11

Else, Background Knowledge Assumed….

Data Structures: (with Analysis) 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, Dijkstra's SP alg, MST Algorithms Greedy Algorithms, Dynamic Prog, Divide-and-

Conquer

Analysis of Algorithms Expertise with Big-O notations Competent with Algorithm Analysis:

• Quicksort, Heapsort, DFS, BFS, Divide-and-Conquer alg.

Page 12: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 12

Q & A.

--- The End ---

Page 13: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 13

CS4234 Lecture 1 -- (14-Aug-07)

“Quick Review” Lecture Topics and Readings

Motivation Asymptotics & Anal of Algs [CLRS]-C1-4 Randomized Quicksort [CLRS]-C7

1.386 n lg n

Augmenting Data Structures [CLRS]-C14

Assignments (in/out): Out: HW1 -- Due on 28-Aug-2007

Quickly get up to speed.

Page 14: LeongHW, SoC, NUS (CS5234 -- Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.

LeongHW, SoC, NUS(CS5234 -- Combinatorial and Graph Algorithms) Page 14

CS4234 Lecture 2 -- (21-Aug-07)

“Quick Review” Lecture Topics and Readings

Dynamic Programming Algs [CLRS]-C15 Greedy Algorithms [CLRS]-C16 Heaps (Priority Queues) [CLRS]-C6 Graph Algorithms Assumed [CLRS]-C22-23

Quickly get up to speed.