Presentation is loading. Please wait.

Presentation is loading. Please wait.

UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Review Lecture Tuesday, 12/11/01.

Similar presentations


Presentation on theme: "UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Review Lecture Tuesday, 12/11/01."— Presentation transcript:

1 UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Review Lecture Tuesday, 12/11/01

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

3 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 http://www.cs.sunysb.edu/~algorith) Shortest Path Input: Edge-weighted graph G, with start vertex and end vertex t Problem: Find the shortest path from 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?

4 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?

5 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 \subset V such that for all x,y \in S, (x,y) \in E?

6 Tools of the Trade ä Algorithm Design Patterns ä dynamic programming, greedy, approximation algorithms ä Advanced Analysis Techniques ä asymptotic analysis ä Theoretical Computer Science principles ä NP-completeness, hardness ä Advanced Data Structures ä binomial heaps Asymptotic Growth of Functions Summations Recurrences Sets Probability MATH Proofs Calculus Combinations Logarithms Number Theory Geometry Trigonometry Complex Numbers Permutations Linear Algebra Polynomials

7 Course Structure ä Advanced Algorithmic Paradigms ä Dynamic programming, greedy algorithms ä Approximation algorithms, parallel programming ä Graph Algorithms ä Shortest paths (single source & all pairs), Maximum flow ä Theory: NP-Completeness ä Complexity classes, reductions, hardness, completeness ä Advanced Algorithms for Special Applications ä Cryptography, String/Pattern Matching ä Computational Geometry ä Advanced Data Structures ä Binomial heaps

8 Detailed Topics

9 Detailed Topics (continued)

10

11

12 Chapter Dependencies Ch 1-6 Math Review: Asymptotics, Recurrences, Summations, Sets, Graphs, Counting, Probability, Calculus, Proofs Techniques (e.g. Inductive) Logarithms Ch 7-10 Sorting Ch 11-14, 15 Data Structures Ch 16, 17, 18 Advanced Design & Analysis Techniques Ch 19-22 Advanced Data Structures Ch 23-25,26,27 Graph Algorithms Ch 28, 29 Parallel Comparison-Based Sorting Networks, Arithmetic Circuits Ch 30 Parallel Comparison-Based Sorting Networks Ch 31 Matrix Operations Math: Linear Algebra Ch 35 Computational Geometry Math: Geometry (High School Level) Ch 36 NP-Completeness Ch 37 Approximation Algorithms You’re responsible for all sections of this chapter + extra material from Garey & Johnson + supplement from new edition of text + literature paper

13 Chapter Dependencies Ch 33 Number-Theoretic Algorithms RSA Math: Number Theory You’re responsible for material in this chapter that we discussed in lecture. (Note that this does not include sections 33.8 or 33.9.) Ch 34 String Matching Automata You’re responsible for material in Sections 34.1-34.4 of this chapter. (Note that this does not include section 34.5.)

14 Relevant Sections of Chapters 28-30 Ch28 Sorting Networks You’re responsible for material in this chapter that we discuss in lecture. (Note that this includes all sections 28.1 - 28.5.) Ch29 Arithmetic Circuits You’re not responsible for any of the material in this chapter. We will not be discussing it in lecture. Ch30 Algorithms for Parallel Computers You’re responsible for material in this chapter that we discuss in lecture. (Note that this includes only sections 30.1 - 30.2.)

15 Relevant Sections of Chapters Ch20 Binomial Heaps You’re responsible for material in this chapter that we discuss in lecture. (Note that this includes all sections.) Ch21 Fibonacci Heaps You’re responsible for material in this chapter that we discuss in lecture. (Note that this includes all sections.) Note that Chapter 22 has been removed. Ch7 HeapSort

16 Important Dates ä Final Exam: ä Tuesday, 18 December, OS311, 5:30 pm

17 Grading ä ä Homework35% ä ä Midterm 30% (open book, notes ) ä ä Final Exam35% (open book, notes )


Download ppt "UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Review Lecture Tuesday, 12/11/01."

Similar presentations


Ads by Google