Lecture 1 (Part 1) Introduction/Overview Tuesday, 9/9/08 UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008 Lecture 1 (Part 1) Introduction/Overview Tuesday, 9/9/08
Web Page Web Page http://www.cs.uml.edu/~kdaniels/courses/ALG_503_F08.html
Nature of the Course Core course: Advanced algorithms Required for all CS Masters students Algorithms doctoral qualifying exam is largely based on this course Advanced algorithms Builds on undergraduate algorithms 91.404 No programming required “Pencil-and-paper” exercises Lectures supplemented by: Programs Real-world examples
What’s It All About? Algorithm: steps for the computer to follow to solve a problem Some of our goals:(at an advanced level) recognize structure of some common problems understand important characteristics of algorithms to solve common problems select appropriate algorithm to solve a problem tailor existing algorithms create new algorithms
Some Algorithm Application Areas Computer Graphics Geographic Information Systems Robotics Bioinformatics Astrophysics Medical Imaging Telecommunications Design Apply Algorithms Analyze
Some Typical Problems Shortest Path Fourier Transform Bin Packing 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? Fourier Transform Input: A sequence of n real or complex values h_i, 0 <= i <= n-1, sampled at uniform intervals from a function h. Problem: Compute the discrete Fourier transform H of h Nearest Neighbor Input: A set S of n points in d dimensions; a query point q. Problem:Which point in S is closest to q? SOURCE: Steve Skiena’s Algorithm Design Manual (for problem descriptions, see graphics gallery at http://www.cs.sunysb.edu/~algorith)
Some Typical Problems Transitive Closure Eulerian Cycle Edge Coloring 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. 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. Eulerian Cycle Input: A graph G=(V,E). Problem: Find the shortest tour of G visiting each edge at least once. 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?
Some Typical Problems Hamiltonian Cycle Clique 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?
Tools of the Trade: Core Material Algorithm Design Patterns dynamic programming, linear programming, greedy algorithms, approximation algorithms, randomized algorithms, sweep algorithms, (parallel algorithms) Advanced Analysis Techniques amortized analysis, probabilistic analysis Theoretical Computer Science principles NP-completeness, NP-hardness Asymptotic Growth of Functions Summations Recurrences Sets Probability MATH Proofs Calculus Combinations Logarithms Number Theory Geometry Trigonometry Complex Numbers Permutations Linear Algebra Polynomials
Asymptotic Growth of Functions Prerequisites 91.404 or 94.404. Preferable co-requisite 91.502. 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 Complex Numbers Permutations Linear Algebra Polynomials
Textbook Required: Introduction to Algorithms by T.H. Corman, C.E. Leiserson, R.L. Rivest McGraw-Hill 2001 ISBN 0-07-013151-1 see course web site (MiscDocuments) for errata 2nd Edition Ordered for UML bookstore
Syllabus (current plan) math quiz
Chapter Dependencies 2nd Edition Math Review Appendices A, B, C: Summations, Proof Techniques (e.g. Induction), Sets, Graphs, Counting & Probability Ch 1-13 Foundations Ch 22-24,25,26 Graph Algorithms Ch 15, 16, 17 Advanced Design & Analysis Techniques Ch 35 Approximation Algorithms Ch 34 NP-Completeness Ch 29 Linear Programming Math: Linear Algebra 2nd Edition Ch 33 Computational Geometry Math: Geometry (High School Level) Ch 31 Number-Theoretic Algorithms RSA Math: Number Theory Ch 32 String Matching Automata
Important Dates Math Quiz: Tuesday, 9/16 Midterm Exam: Tuesday, 10/21 In class Closed book, no calculators Midterm Exam: Tuesday, 10/21 Open book, open notes Final Exam: to be determined
Grading Homework 30% Midterm 30% (open book, notes ) Final Exam 35% (open book, notes ) Instructor’s Discretion 5%
Homework HW# Assigned Due Content 1 T 9/9 T 9/16 91.404 review & Chapter 15