A Specialized A Algorithm Specialized A Algorithm As

  • Slides: 10
Download presentation
A Specialized A* Algorithm

A Specialized A* Algorithm

Specialized A* Algorithm • As soon as a goal node is found, we may

Specialized A* Algorithm • As soon as a goal node is found, we may stop and return an optimal solution. • In ordinary A* algorithm, we can only terminate it when a goal node is selected to be expanded.

Specialized Condition • Whenever a node t is selected and produce a goal node

Specialized Condition • Whenever a node t is selected and produce a goal node as its immediate successor, then h(t)=h*(t)=g(goal)-g(t). • We have – g(goal)=h*(t)+g(t) – f(goal)=g(goal)+h(goal)= h*(t)+g(t)+0=f*(t) – g(goal)=f*(t) • When t is selected to be expanded, f(t)=g(t)+h*(t)=f*(t) ≦f(n)≦f*(n) for every expanded node n. • g(gaol)=f*(t) ≦f*(n) and the first found goal node must be an optimal solution.

The Channel Routing Problem • A channel specification

The Channel Routing Problem • A channel specification

 • Illegal wirings: • We want to find a routing which minimizes the

• Illegal wirings: • We want to find a routing which minimizes the number of tracks.

A Feasible Routing • 7 tracks are needed.

A Feasible Routing • 7 tracks are needed.

An Optimal Routing • 4 tracks are needed. • This problem is NP-complete.

An Optimal Routing • 4 tracks are needed. • This problem is NP-complete.

The channel routing problem • Horizontal constraint graph (HCG) • E. g. net 8

The channel routing problem • Horizontal constraint graph (HCG) • E. g. net 8 must be to the left of net 1 and net 2 if they are in the same track.

The channel routing problem • Vertical constraint graph: • Max. cliques in HCG: {1,

The channel routing problem • Vertical constraint graph: • Max. cliques in HCG: {1, 8}, {1, 3, 7}, {5, 7}. Each max. clique can be assigned to a track. The First Level of a Tree to Solve a Channel Routing Problem

The channel routing problem • f(t) = g(t) + h(t), – g(t): the level

The channel routing problem • f(t) = g(t) + h(t), – g(t): the level of the tree (the number of tracks) – h(t): maximal local density (For terminal n, draw a vertical line. See how many horizontal lines the line intersects. ) – h(t)=h*(t)=1=g(gaol)-g(t) because it needs one track to complete the layout. A Partial Solution Tree for the Channel Routing Problem by Using A* Algorithm.