Presentation is loading. Please wait.

Presentation is loading. Please wait.

UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Spring, 2009 Lecture 1 (Part 1) Introduction/Overview Tuesday, 1/27/09.

Similar presentations


Presentation on theme: "UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Spring, 2009 Lecture 1 (Part 1) Introduction/Overview Tuesday, 1/27/09."— Presentation transcript:

1 UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Spring, 2009 Lecture 1 (Part 1) Introduction/Overview Tuesday, 1/27/09

2 Web Page http://www.cs.uml.edu/~kdaniels/courses/ALG_503_S09.html

3 Nature of the Course Core course:Core course: Required for all CS Masters studentsRequired for all CS Masters students Algorithms doctoral qualifying exam is largely based on this courseAlgorithms doctoral qualifying exam is largely based on this course Advanced algorithmsAdvanced algorithms Builds on undergraduate algorithms 91.404Builds on undergraduate algorithms 91.404 No programming requiredNo programming required “Pencil-and-paper” exercises“Pencil-and-paper” exercises Lectures supplemented by:Lectures supplemented by: ProgramsPrograms Real-world examplesReal-world examples

4 What’s It All About? Algorithm: Algorithm: steps for the computer to follow to solve a problem steps for the computer to follow to solve a problem Some of our goals :(at an advanced level) Some of our goals :(at an advanced level) recognize structure of some common problems recognize structure of some common problems understand important characteristics of algorithms to solve common problems understand important characteristics of algorithms to solve common problems select appropriate algorithm to solve a problem select appropriate algorithm to solve a problem tailor existing algorithms tailor existing algorithms create new algorithms create new algorithms

5 Some Algorithm Application Areas Computer Graphics Geographic Information Systems Robotics Bioinformatics Astrophysics Medical Imaging Telecommunications Design Apply Analyze

6 Some Typical Problems Nearest Neighbor Input: A set S of n points in d dimensions; a query point q. Input: A set S of n points in d dimensions; a query point q. Problem: Which point in S is closest to q? Problem: Which point in S is closest to q? Convex Hull Input: A set S of n points in d- dimensional space. Problem: Find the smallest convex polygon containing all the points of S. Problem: Find the smallest convex polygon containing all the points of S. SOURCE: Steve Skiena’s Algorithm Design Manual (for problem descriptions, see graphics gallery at ) (for problem descriptions, see graphics gallery at http://www.cs.sunysb.edu/~algorith) Shortest Path Input: Edge-weighted graph G, with start vertex s and end vertex t Problem: Find the shortest path from s to t in G Bin Packing Input: A set of n items with sizes d_1,...,d_n. A set of m bins with capacity c_1,...,c_m. Problem: How do you store the set of items using the fewest number of bins?

7 Some Typical Problems Transitive Closure Input: A directed graph G=(V,E). Problem: Construct a graph G'=(V,E') with edge (i,j) in E' iff there is a directed path from i to j in G. For transitive reduction, construct a small graph G'=(V,E') with a directed path from i to j in G' iff (i,j) in E. Edge Coloring Input: A graph G=(V,E). Problem: What is the smallest set of colors needed to color the edges of E such that no two edges with the same color share a vertex in common? Hamiltonian Cycle Input: A graph G=(V,E). Problem: Find an ordering of the vertices such that each vertex is visited exactly once. Clique Input: A graph G=(V,E). Problem: What is the largest S that is a subset of V such that for all x,y in S, (x,y) in E?

8 Tools of the Trade: Core Material Algorithm Design Patterns Algorithm Design Patterns dynamic programming, linear programming, greedy algorithms, approximation algorithms, randomized algorithms, sweep algorithms, (parallel algorithms) dynamic programming, linear programming, greedy algorithms, approximation algorithms, randomized algorithms, sweep algorithms, (parallel algorithms) Advanced Analysis Techniques Advanced Analysis Techniques amortized analysis, probabilistic analysis amortized analysis, probabilistic analysis Theoretical Computer Science principles Theoretical Computer Science principles NP-completeness, NP-hardness NP-completeness, NP-hardness Asymptotic Growth of Functions Summations Recurrences Sets Probability MATH Proofs Calculus Combinations Logarithms Number Theory Geometry Trigonometry Permutations Linear Algebra Polynomials

9 Prerequisites 91.404 or 94.404. 91.404 or 94.404. Standard graduate-level prerequisites for math background apply. Standard graduate-level prerequisites for math background apply. Asymptotic Growth of Functions Summations Recurrences Sets Probability MATH Proofs Calculus Combinations Logarithms Number Theory Geometry Trigonometry Permutations Linear Algebra Polynomials

10 Textbook Required: Introduction to AlgorithmsIntroduction to Algorithms by T.H. Corman, C.E. Leiserson, R.L. Rivestby T.H. Corman, C.E. Leiserson, R.L. Rivest McGraw-HillMcGraw-Hill 20012001 ISBN 0-07-013151-1ISBN 0-07-013151-1 see course web site (MiscDocuments) for erratasee course web site (MiscDocuments) for errata Ordered for UML bookstore 2 nd Edition

11 Syllabus (current plan) math quiz

12 Chapter Dependencies Math Review Appendices A, B, C: Summations, Proof Techniques (e.g. Induction), Sets, Graphs, Counting & Probability Ch 1-13 Foundations Math: Linear Algebra Ch 33 Computational Geometry Math: Geometry (High School Level) Ch 35 Approximation Algorithms Ch 31 Number-Theoretic Algorithms RSA Math: Number Theory Ch 32 String Matching Automata 2 nd Edition Ch 15, 16, 17 Advanced Design & Analysis Techniques Ch 22-24,25,26 Graph Algorithms Ch 34 NP-Completeness Ch 29 Linear Programming

13 Important Dates Math Quiz: Tuesday, 2/3 Math Quiz: Tuesday, 2/3 In class In class Closed book, no calculators Closed book, no calculators Midterm Exam: Tuesday, 3/10 Midterm Exam: Tuesday, 3/10 In class In class Open book, open notes Open book, open notes Final Exam: to be determined Final Exam: to be determined (5/19 is a possibility)

14 Grading Homework30% Midterm 30% (open book, notes ) Final Exam35% (open book, notes ) Instructor’s Discretion5%

15 Homework 1 T 1/27 T 2/3 91.404 review & Chapter 15 HW# Assigned Due Content


Download ppt "UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Spring, 2009 Lecture 1 (Part 1) Introduction/Overview Tuesday, 1/27/09."

Similar presentations


Ads by Google