Net by Net Routing with a New Path Search Algorithm Marcelo Johann Ricardo Reis SBCCI 2000 - Manaus.
Transcript of Net by Net Routing with a New Path Search Algorithm Marcelo Johann Ricardo Reis SBCCI 2000 - Manaus.
Net by Net Routing with a Net by Net Routing with a New Path Search Algorithm New Path Search Algorithm
Marcelo JohannMarcelo JohannRicardo ReisRicardo Reis
SBCCI 2000 - ManausSBCCI 2000 - Manaus
Marcelo Johann - SBCCI 2000 - Manaus
OutlineOutline
• Routing Algorithms
• Path Search Based Routing
• Shortest Path Search Algorithms
• The LCS* Algorithm
• LCS* in Routing Grids
• Cost Functions
• Conclusions
Marcelo Johann - SBCCI 2000 - Manaus
Routing AlgorithmsRouting Algorithms 11• restricted: explore particular constraints in a
problem to obtain good solutions efficiently;
ex: channel routing (LEA, Greedy)
• generic: can be applied to almost any routing problem;
ex: path-search based (maze router)
Marcelo Johann - SBCCI 2000 - Manaus
Path Search Based RoutingPath Search Based Routing 22• sequential: a single connection is made at a
time, what leads to ordering problems;
• importance: accuracy, guarantee, interaction with other synthesis decisions, cleanup
• space is a graph: nodes are positions and arcs are movements;
• grids and mazes: a grid is a regular graph and a maze is a grid full of walls;
Marcelo Johann - SBCCI 2000 - Manaus
• BFS in a grid (2D or 3D)• memory consumption (1 bit minimum)• running time• ordering
generic
sequential
largely used
Maze Routing (Lee 1961)Maze Routing (Lee 1961)
Marcelo Johann - SBCCI 2000 - Manaus
• Definição do problema;
• Princípios da pesquisa
• Algoritmos de pesquisa;
• Propriedades em pesquisa heurística;
• Observações sobre pesquisa heurística bidirecional;
• O algoritmo LCS*
Shortest Path Search Shortest Path Search AlgorithmsAlgorithms 33
Marcelo Johann - SBCCI 2000 - Manaus
3.13.1 Search Basics Search Basics
A partir de s, formar uma árvore de pesquisa pela aplicação repetitiva do operador de sucessão
Um nodo é expandido quando se aplica a operação de sucessão sobre ele (o nodo se torna fechado)
Um nodo é gerado quando é retornado pela operação de sucessão (o nodo se torna aberto)
v1
v2
v3
v4
v5
v6
v7v8
v9
s t
Marcelo Johann - SBCCI 2000 - Manaus
Pesquisa em Largura (Breadth-First)
Primeiro expande todos os nodos a uma mesma distância da origem (FIFO).
origem
destino
Pesquisa intermediária
Pesquisa completa
Marcelo Johann - SBCCI 2000 - Manaus
Pesquisa Heurística (A*)
Primeiro expande os nodos mais promissores, segundo a função: f(n) = g(n) + h(n)
origem destino
Pesquisa intermediária
Pesquisa completa
g(n) h(n)
Efeito da eficiência
das estimativas
Marcelo Johann - SBCCI 2000 - Manaus
Pesquisa Bidirecional
Duas frentes simultâneas de pesquisa• nodo de encontro: reconhecido por ambas• condição de término: f(n) > min[f(m)]• sobreposição
origem
destino
Pesquisa da origem
Pesquisa unidirecional
Pesquisa do destino
Nodo de encontro
m
Marcelo Johann - SBCCI 2000 - Manaus
Objetivo: Unir as vantagens de ambas
Dificuldades:• problema das frentes desencontradas• intersecção das pesquisas• condição de término
Suposto problema das frentes desencontradas
Objetivo
Bi-A*
Bi-BFS
3.43.4 Heuristic and Bidirectional Search Heuristic and Bidirectional Search
Marcelo Johann - SBCCI 2000 - Manaus
3.43.4 Basic Properties Basic Properties
• Admissibilidade (**): custo de n a t h(n)
garante menor caminho
• Consistência: k(n1,n2) + k(n2,n3) k(n1,n3)
só expande nodos com
custo mínimo conhecido
n1
n2
n3k(n1,n2)
k(n2,n3)
k(n1,n3)
tn
h(n)
Menor caminho de n a t
h(n) = k(n,t)
Marcelo Johann - SBCCI 2000 - Manaus
The LCS* AlgorithmThe LCS* Algorithm 44• Lowerbound Cooperative Search• estimação dinâmica (resistência e penalidade)• estrutura semelhante ao BS* de [Kwa 89]• visibilidade: valores estimados em referências• visibilidade: conjunto de nodos fechados único• “perfeição” e admissibilidade provadas
Marcelo Johann - SBCCI 2000 - Manaus
• Resistência (min idea [Kaindl 96])
• Penalidade (max idea [Kaindl 96])
gs(n)
gt(pi)
s n
t
pi
ht(n) hs(n)
ht(pi)
gt(pi) t
pi
k(pi ,t)
Rt = Min[gt(pi) - k(pi,t)]
Pt = Min[gt*(pi) - k(pi,s)]
Estimação dinâmica
F(n) = f(n) + Rt
F(n) = gs(n) + Pt - ht(n)
Marcelo Johann - SBCCI 2000 - Manaus
Resultados preliminares de LCS*
Grade 200 por 200 com custos aleatórios, média 100, mínimo 50, máximo 300
050000
100000150000200000250000300000350000
100
140
180
220
260
300
340
380
420
460
500
variação de custos aleatórios gerados
tota
l de
no
do
s
ex
pa
nd
ido
s
LCS*
melhor A*
pior A*
Em grade, admissibilidade completa
Marcelo Johann - SBCCI 2000 - Manaus
Resultados preliminares de LCS*
Grade 200 por 200 com custos aleatórios, média 100, mínimo 50, máximo 300
050000
100000150000200000250000300000350000
100
140
180
220
260
300
340
380
420
460
500
variação de custos aleatórios gerados
tota
l de
no
do
s
ex
pa
nd
ido
s
LCS*
melhor A*
pior A*
Em grade, admissibilidade relativa
Marcelo Johann - SBCCI 2000 - Manaus
• grande área livre, sem estrutura • terminais e obstáculos arbitrários
LCS* in Routing GridsLCS* in Routing Grids 55
decomposição necessária
para roteamento detalhado
Marcelo Johann - SBCCI 2000 - Manaus
5.25.2 Pesquisa com múltiplos destinos Pesquisa com múltiplos destinos
• Seleção de destino
por retângulo envolvente
• Seleção de destino
mais próximo
• Cálculo de janela
de aproximação
s
t1
t2
t1
st2
s
t1
t2
Marcelo Johann - SBCCI 2000 - Manaus
5.35.3 Formação de redes Formação de redes
• Formação de redes de comprimento mínimo
• Formação de redes de caminhos mínimos
Apagando o custo g() nos caminhos já encontrados
Mantendo o custo g() nos caminhos já encontrados Driver
Driver
g()=0
g()=0g()=0
g()=0
g()=0
g()=5g()=9
g()=7
Marcelo Johann - SBCCI 2000 - Manaus
5.45.4 Modelos de custo Modelos de custo
• referências e movimentos• o que representam os valores:
– comprimento da conexão;
– desempenho elétrico da conexão, em função de RC;
– quantidade de recursos utilizados
– dificuldade pela presença de obstáculos;
– congestionamento devido a outras conexões;
Marcelo Johann - SBCCI 2000 - Manaus
Conclusões
• LCS*: bidirecional, heurístico e eficiente
• aplicação de LCS* a roteamento VLSI
redes individuais, ambiente complexo
• LEGAL: detalhado, integral, eficiente
• definição e adaptação às aplicações
área livre, acomoda melhor as conexões
Final RemarksFinal Remarks 77