ECE556: Design Automation of Digital Systems - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

ECE556: Design Automation of Digital Systems

Description:

2- Efficiency: need to find this optimal solution 'fast' Algorithm. 12 ... to a class of problems known as NP-Complete which indicate the set of problems ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 25
Provided by: aza74
Category:

less

Transcript and Presenter's Notes

Title: ECE556: Design Automation of Digital Systems


1
ECE556 Design Automation of Digital Systems
  • Spring 2007
  • Instructor Azadeh Davoodi
  • Lecture 2
  • January 25, 2007

2
Graph Theory
  • Graph A mathematical object representing a set
    of points and interconnections between
    them
  • Notation G(V, E), where
  • V is the vertex set v1, v2, v3, v4, v5, v6
  • E is the edge set e1, e2, e3, e4, e5
  • An edge has two endpoints, e.g. e1 (v1, v2)

3
Terminology
  • degree of a vertex
  • subgraph of a graph
  • complete (sub)graph
  • clique
  • parallel edges
  • bipartite graph
  • an edge incident with a vertex
  • adjacent vertices

4
Terminology
  • Path e.g. v1, e1, v2, e3, v3, e4, v4
  • cycle a closed path
  • connected vertices, connected graph, connected
    components

5
Terminology
  • directed graph
  • directed path
  • directed cycle
  • strongly connected vertices
  • weakly connected vertices
  • weighted graphs
  • edge weighted and/or vertex weighted

6
Data Structures for Storing Graphs
  • Different data structures for different
    applications
  • Adjacency matrix
  • -- a 0 or 1 entry for every vertex pair

v1 v2 v3 v4 v5 v6
v1 v2 v3 v4 v5 v6
7
Data Structures for Storing Graphs
  • 2) Adjacency list

8
Explicit Edges and Vertices
9
Graph Traversal
  • Can you think of generic ways to visit all the
    vertices and edges of a graph? And why do you
    think it is important to answer this question in
    VLSI-CAD problems?
  • Popular graph traversal methods
  • Depth First Search (DFS)
  • Breadth First Search (BFS)

10
Algorithm
  • Algorithm
  • A step-by-step procedure for solving a problem in
    a finite number of steps
  • Properties
  • Precision each step precisely stated
  • Termination ends in finite time
  • Correctness

11
Algorithm
  • There can be many different algorithms to solve
    the same problem
  • Need some way to compare algorithms
  • Desired attributes of a good algorithm in VLSI
    CAD
  • 1- Optimality or exactness need the best
    quality solution (e.g., minimum cost power,
    area, etc.)
  • 2- Efficiency need to find this optimal solution
    fast

12
Some Algorithmic Paradigms
Some of these techniques guarantee achieving the
optimal solution, but might not be necessarily
efficient. Some might be efficient but not
necessarily guarantee optimality!
  • Exhaustive search
  • Branch and Bound
  • Divide and conquer
  • Greedy algorithm
  • Dynamic programming
  • Mathematical programming
  • Simulated annealing

13
Comparison of algorithmsMotivation
  • Will first start by comparing run-time of
    algorithms
  • Assume two algorithms both generate a solution to
    a problem
  • Ignoring the quality of solution for now, lets
    focus on ways for comparing their efficiency

14
Comparing Run-Time of Algorithms
  • Comparing pure run-time of two algorithms
  • Difficult since algorithms may be implemented on
    different machines, use different languages, etc
  • Also input-dependent (i.e., which input to use?)
  • Notion of computational complexity

15
Computational Complexity
  • Computational complexity
  • an abstract measure of the time and space
    necessary to execute an algorithm as function of
    its input size
  • Input size examples
  • sort n words of bounded length ?
  • size n
  • the input is the integer n ?
  • size log n
  • the input is the graph G(V,E) ?
  • size V and E

16
Computational Complexity
  • Computational complexity
  • An abstract measure of the time and space
    necessary to execute an algorithm as function of
    its input size
  • Run-Time complexity
  • Expressed in elementary computational steps
    (e.g., an addition, multiplication, pointer
    indirection is one step)
  • 2) Space Complexity
  • Expressed in memory locations (e.g. bits, bytes,
    words)

17
Computational ComplexityBig-O Notation
  • Definition f(n) O(g(n))
  • If cgt0 and n0gt 0 such that 0 f(n) cg(n) for all
    n n0
  • Intuition
  • f(n) g(n) when we ignore constant multiples
    and small values of n

18
Run-Time Complexity of Algorithmsusing Big-O
Notation
  • Obtain upper bound on run-time
  • Express run time as a function of input size n
  • Ignore multiplicative constant
  • Ignore lower order terms
  • Examples
  • 3n26n2.7 is
  • O(n2)
  • n1.110000000000n is
  • O(n1.1)
  • n1.1 is
  • O(n1.1)

19
Effect of Multiplicative Constant
20
Growth Rates of some Functions
Polynomial
Exponential
21
Computational Complexity
  • Relevant growth rates for the time complexity
  • polynomial vs. exponential
  • linear vs. quadratic
  • sublinear

22
  • Question
  • If I know the expressions f1(n) and f2(n)
    corresponding to the actual run-times of two
    algorithms, I can directly compare these run-time
    expressions
  • Why do I need the O-notation then?
  • Answer
  • Many of the times, it is not possible to obtain
    exact f(n) expression for the run-time of an
    algorithm
  • It is much easier to think of an algorithm in
    terms of union of sub-algorithms, and then to
    find its timing complexity we can only consider
    those sub-algorithms that have a dominant timing
    complexity and ignore the rest

23
Problem of Exponential Function
  • Consider 2n, value doubled when n is increased by
    1

24
Facts
  • It is desirable to develop polynomial-time
    algorithms to optimally solve VLSI CAD problems
  • Unfortunately many VLSI CAD problems can not be
    optimally solved in polynomial time
  • They belong to a class of problems known as
    NP-Complete which indicate the set of problems
    that are difficult to be solved (can not be
    efficiently solved)
Write a Comment
User Comments (0)
About PowerShow.com