Algorithms-Pt1-581-F09stu_1

# Algorithms-Pt1-581-F09stu_1 - Fill-in Answer Only Animation...

This preview shows pages 1–8. Sign up to view the full content.

2/24/06; 10/4/06; 10/09 Melvin A. Breuer 1 SOME COMMON ALGORITHMIC TECHNIQUES USED IN VLSI CAD Part 1 Melvin A. Breuer EE581 Fall 2009 Ming Hsieh Department of Electrical Engineering Vitebi School of Engineering University of Southern California Fill-in Answer Only Animation

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
2/24/06; 10/4/06; 10/09 Melvin A. Breuer 2 Recalling combinatorial theory Combinatorial theory deals with problems involved in enumeration, counting, searching, finding closed form solutions to properties of the above, and in addition, where we usually have constraints and/or an objective function to optimize (minimize or maximize). Examples: Enumeration: Find all paths in weighted directed graph from node i to j . Counting: How many paths are there from i to j . Optimization: Find the shortest path from i to j . Constraints: Find the shortest path from i to j which has less than K edges and does not contain node v .
2/24/06; 10/4/06; 10/09 Melvin A. Breuer 3 Algorithms Go south three blocks Turn left and go east 5 blocks If you see a gas station at one or more of the corners, then stop, else turn left and run for your life Etc.

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
2/24/06; 10/4/06; 10/09 Melvin A. Breuer 4 Definitions-(for this class) Algorithm A specific method for solving a specific problem Effective (finite set of steps, each requiring finite time) One or more outputs Must terminate in finite time with correct (feasible) answer – if no solution exist also must terminate with a statement of such Often designed to produce an optimal solution to a problem Efficient algorithm Terminates in a “reasonably” short time Programmed algorithm The description of an algorithm in a programming language
2/24/06; 10/4/06; 10/09 Melvin A. Breuer 5 Concepts concerning algorithms To devise an algorithm – an art To prove an algorithm or program is correct – field of program verification Difficult task Usually try to prove equivalence Example: n •( n -1)•( n -2)• … 2•1 n ! FACT( n ) = P ( n ) Procedure P ( m ): Recursive if m = 1 then 1 else m P ( m -1) end Analysis of algorithms Space (storage) Time Testing an algorithm Debug – sample data – correctness ( ad hoc ) Profile – execute “correct” program on data sets and measure time and space.

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
2/24/06; 10/4/06; 10/09 Melvin A. Breuer 6 Some basic algorithmic techniques to solve combinatorial problems Greedy methods (G) Backtrack programming* (BP) Dynamic programming* (DP) Linear (and integer) and quadratic programming*(LP), (ILP), (QP) Algebraic simplification and transformations The assignment problem and solution * Note: The word “programming” as used above does not refer to computer code.
2/24/06; 10/4/06; 10/09 Melvin A. Breuer 7 In Part 1 Introduction Greedy methods Divide and conquer Backtrack programming

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

### Page1 / 71

Algorithms-Pt1-581-F09stu_1 - Fill-in Answer Only Animation...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online