Algorithms-Pt1-581-F09stu_1

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

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

View Full Document Right Arrow Icon
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
Background image of page 1

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

View Full Document Right Arrow Icon
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 .
Background image of page 2
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.
Background image of page 3

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

View Full Document Right Arrow Icon
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
Background image of page 4
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.
Background image of page 5

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

View Full Document Right Arrow Icon
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.
Background image of page 6
2/24/06; 10/4/06; 10/09 Melvin A. Breuer 7 In Part 1 Introduction Greedy methods Divide and conquer Backtrack programming
Background image of page 7

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

View Full Document Right Arrow Icon
Image of page 8
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 Right Arrow Icon
Ask a homework question - tutors are online