UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2005 Lecture 1 (Part 1) Introduction/Overview Tuesday, 1/25/05
Web Page
Nature of the Course ä Core course: required for all CS graduate students ä Advanced algorithms ä Builds on undergraduate algorithms ä 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 Analyze
Some Typical Problems 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. 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? SOURCE: Steve Skiena’s Algorithm Design Manual (for problem descriptions, see graphics gallery at ) (for problem descriptions, see graphics gallery at 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?
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. 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. 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 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
Prerequisites ä and or ä Co-requisite ä 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 ä see course web site (MiscDocuments) for errata Ordered for UML bookstore New Edition
Syllabus (current plan)
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 New Edition Ch 15, 16, 17 Advanced Design & Analysis Techniques Ch 22-24,25,26 Graph Algorithms Ch 34 NP-Completeness Ch 29 Linear Programming
Important Dates ä Midterm Exam: Tuesday, 3/22 in class ä In class ä Open book, open notes ä Final Exam:to be determined
Grading ä ä Homework35% ä ä Midterm 30% (open book, notes ) ä ä Final Exam35% (open book, notes )
Homework 1 T 1/25 T 2/ review & Chapter 15 HW# Assigned Due Content
ISET Research Scholars Program Information Sciences, Engineering and Technology ä Research projects ä Technical leadership ä Faculty mentors ä Scholarship support ä Sponsors ä National Science Foundation ä UMass Lowell ä Lucent Technologies ä Selected Research Project Areas ä Telecommunications ä Wireless Networks ä Network Performance ä Systems ä Multimedia Systems ä Acoustics ä Computer Science ä Network Security ä Complexity Theory ä Robotics ä Geometric Modeling ä Bioinformatics For additional details and application information: applicant screening is underway for Spring, 2005