CSE 494: Electronic Design Automation - PowerPoint PPT Presentation

About This Presentation
Title:

CSE 494: Electronic Design Automation

Description:

... in a locally optimal manner. Kruskal minimum spanning tree. ... The class NP: Set of problems whose solution can be verified by a polynomial time algorithm. ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 18
Provided by: jaziSta
Category:

less

Transcript and Presenter's Notes

Title: CSE 494: Electronic Design Automation


1
CSE 494 Electronic Design Automation
  • Lecture 3

2
Basic Terminology
  • A graph is a pair of sets G(V,E) where V is the
    set of vertices, and E (u,v) is a set of pair
    of distinct vertices called edges.
  • A vertex u is adjacent to v, if (u,v) belongs to
    (or is in) E.
  • Set of vertices adjacent to u are denoted by
    Adj(u).
  • An edge (u,v) is incident on both u, and v.
  • The degree of a vertex u is the number of edges
    incident on u.

3
Basic Terminology
  • A complete graph on n vertices is a graph in
    which every vertex is adjacent to every other
    vertex. (Denoted by K_n
  • A graph G (V,E) is a subgraph of G iff V is
    a subset of V, and E is a subset of E.
  • A walk P of a graph G is defined as a finite
    alternating sequence P v_0, e_1,,e_k,v_k.
  • A tour is walk in which all edges are distinct.
  • A walk is an open walk if the terminal vertices
    are distinct.
  • A path is an open walk in which no vertex appears
    more than once.

4
Basic Terminology
  • The length of a path is the number of edges in
    it.
  • A path is a (u,v) path if u, and v are the
    terminal vertices.
  • A cycle is a path (v_0,v_k) of length k (k gt 2)
    where v_0 v_k.
  • Odd cycle if k is odd, Even cycle if k is even.
  • Two vertices u and v are connected if G has a
    (u,v) path.
  • A connected component of G is a subgraph of G
    that has a path from each vertex to every other
    vertex.
  • An edge e in E is called a cut edge in G if its
    removal from G increases the number of connected
    components of G by atleast one.

5
Basic Terminology
  • A tree is a connected subgraph with no cycles.
  • A clique is a complete subgraph of G.

6
Basic Terminology
  • A directed graph is a pair of sets (V,E) where E
    is a set of ordered pairs of distinct vertices,
    called directed edges.
  • A directed edge e(u,v) is an in-edge of v, and
    out-edge of u.
  • The in-degree of u is the number of in-edges of v
    (out-degree similarly defined).
  • A vertex u is an ancestor of v if there exists a
    directed path from u to v in G.
  • A directed acyclic graph (DAG) is a directed
    graph with no cycles.

7
Basic Terminology
  • Hypergraph is a pair (V,E) where V is a set of
    vertices, and E is a set of sets of vertices.
  • Each e in E denoted by v_0, v_1,,v_k is called
    a net.
  • A bipartite graph is a graph that can be
    partitioned in to two sets X, and Y so that each
    edge has one end in X, and the other end in Y.

8
Algorithm Strategies
  • Divide-and-conquer.
  • Recursively divide the problem into distinct
    sub-problems, and construct the global solution
    from sub-solutions.
  • Merge sort.
  • Dynamic programming
  • Often utilized for optimization problems.
  • Recursively divide the problem into sub-problems
    (possibly overlapping), and construct the global
    solution from sub-solutions.
  • Sub-problems are not independent.
  • Solutions maintained in a table, hence the term
    programming.
  • Longest common sequence.
  • Greedy algorithms
  • Often utilized for optimization problems.
  • No division into sub-problems.
  • Decision making is applied in a locally optimal
    manner.
  • Kruskal minimum spanning tree.

9
P and NP Problems
  • The class P Solution is given by an algorithm
    whose time complexity can be specified by a
    polynomial p(nk).
  • The class NP Set of problems whose solution can
    be verified by a polynomial time algorithm.

10
NP Complete and NP hard
  • NP Complete
  • Belongs to class NP.
  • Can be reduced to another NP complete problem by
    a polynomial time algorithms.
  • NP hard
  • Satisfies property 2, but not property 1.

11
Strategies for solving hard problems optimally
  • Brute force
  • Enumerate all solution instances.
  • Branch-and-Bound
  • Smart(er) strategy for enumerating solution
    instances.
  • Integer linear programming
  • Problem specified by linear mathematical
    equations, and then a solver (computer tool) is
    utilized for generating the solution.

12
Other strategies for solving hard problems
  • Approximation algorithms
  • Instead of solving the original problem P, solve
    a problem P whose solution is within certain
    bounds of the optimum.
  • P typically solvable in polynomial time.
  • Heuristic strategies
  • Deterministic algorithms
  • Non-deterministic algorithms

13
Deterministic algorithms
  • Every invocation of the algorithm with identical
    inputs, generates the same solution (hence,
    deterministic).
  • Fast, but inherently greedy in nature.

Local minima
Cost
Successive solutions
14
Non-deterministic algorithms
  • Also known as probabilistic or stochastic
    algorithms.
  • Every invocation of the algorithm with identical
    inputs generates a different solution.
  • Slower than non-deterministic, but demonstrates
    non-greedy behavior.

Hill-climbing behavior
Cost
Successive solutions
15
Classic non-deterministic algorithms
  • Simulated annealing
  • Maintains a temperature variable that is reduced
    from high value to a low value.
  • Number of solutions explored at each temperature
    by modification of existing solution.
  • Solution that decreases cost is always accepted.
  • Accept solutions that increase cost at high
    temperatures with greater probability.
  • At low temperatures accept solutions that
    increase cost with very low probability.

16
Classic non-deterministic algorithms
  • Genetic algorithms
  • Solution represented by a set of chromosones or
    a generation.
  • Chromosone an array of 0s, and 1s.
  • Successive generations are obtained by
  • Duplication of the best solution (survival of the
    fittest).
  • Mutation Random generation of a chromosone.
  • Crossover Slicing, and inter-changing parts of
    two chromosones.
  • Solution(s) generated after many generations.

17
  • Read chapter 1.
Write a Comment
User Comments (0)
About PowerShow.com