Novos Algoritmos para Roteamento de Área

Slides:



Advertisements
Apresentações semelhantes
Algoritmos de Caminho Mínimo em Grafos
Advertisements

Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Antonio Dirceu Rabelo de Vasconcelos Filho
Gustavo Sant´Anna Ferreira Rodrigo Ribeiro de Souza
Inteligência Artificial
Fluxo em Redes Prof. Ricardo R. Santos.
MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO (FPGA)
Projeto de Circuitos Integrados
Métodos para representação de estruturas hierárquicas
CONCEITOS BÁSICOS DA META-HEURÍSTICA TABU SEARCH
Prof. M.Sc. Fábio Francisco da Costa Fontes Abril
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
GRASP Greedy Randomized Adaptative Search Procedure
Metaheurísticas Prof. Aurora Pozo Departamento de Informática Universidade Federal do Paraná
Busca informada (heurística) Parte 2
1 Busca Heurística - Informada Estratégias de Busca Exaustiva (Cega) encontram soluções para problemas pela geração sistemática de novos estados, que são.
Introdução à Computação Gráfica Recorte
Introdução Redes LAN - abrangência: edifícios e campos.
Busca Heurística - Informada
Busca Cega (Exaustiva)
Busca Heurística - Informada
Net by Net Routing with a New Path Search Algorithm Marcelo Johann Ricardo Reis SBCCI Manaus.
Ronaldo Celso Messias Correia –
Distribuição de Mídia Contínua Localizaçao e Seleçao de Servidores e Roteamento Jussara M. Almeida Junho 2005.
Busca com informação e exploração
Capítulo 3 - Russell e Norvig
JOGO DOS OITO A* e IDA*.
Buscando Soluções Busca Heurística.
Inteligência Artificial
INTRODUÇÃO À ENGENHARIA DE CONTROLE E AUTOMAÇÃO PROJETO PARTE
INF 1771 – Inteligência Artificial
Baseado em: The Algorithm Design Manual Steven S. Skiena
Algoritmos em Grafos.
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
Grafos Árvores Geradoras.
Estratégias de Busca com informação e exploração
1 Introdução aos Agentes Inteligentes Flávia Barros.
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Resolução de problemas por meio de busca
Otimização Inteira 5a. Aula Franklina.
Histórico, exemplos e problemas
O problema do emparelhamento máximo
Introdução aos Protocolos de Roteamento Dinâmico
Busca com informação e exploração
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Introdução aos Agentes Inteligentes Busca Heurística (Informada)
Busca Cega (Exaustiva) e Heurística
Algoritmos de Busca Local
Tópicos Avançados em Inteligência Artificial
Inteligência Artificial
Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann.
Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS.
Inteligência Artificial
Inteligência Artificial
Transformada de Hough Processamento global para a detecção de linhas retas numa imagem Nenhum conhecimento é necessário a respeito da posição das linhas.
Resolução de Problemas de Busca
1 Introdução aos Agentes Inteligentes Resolução de Problemas de Busca Flávia Barros.
Jacques Robin Humberto César Brandão de Oliveira
Geometria Computacional Fecho Convexo
Plano de Aulas  Estruturas de aceleração  Descarte contra volume de visão  Descarte por oclusão  Grafo de cena: OpenSceneGraph  Traçado de raios em.
Disciplina: Inteligência Artificial Universidade de Itaúna
Busca em Espaço de Estados Parte2 Algoritmos de Busca Cega
Transmissão de Dados O Modelo de Referência TCP/IP A Camada de Rede
Computação Evolutiva Nome dado ao estudo de algoritmos cuja inspiração é o processo de evolução natural das espécies. Origem: trabalho de um pesquisador.
Sistemas Inteligentes Busca Cega (Exaustiva)
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Redes de Computadores e Aplicações – Camada de Rede Protocolos de Roteamento IGOR ALVES.
Escalonamento de Operações de Reconfiguração Dinâmica Mestrado Integrado em Engenharia Eletrotécnica e de Computadores Aluno: Ricardo Ferreira Orientador:
1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco.
Transcrição da apresentação:

Novos Algoritmos para Roteamento de Área Proposta de Tese Aluno: Marcelo Johann Orientador: Ricardo Reis

Algoritmos de Roteamento Algoritmos de Pesquisa de Caminhos Resumo Introdução Algoritmos de Roteamento Algoritmos de Pesquisa de Caminhos Roteamento de Área Roteamento com o Algoritmo LCS* Roteamento com o Algoritmo LEGAL Conclusões e Cronograma

1 Introdução Roteamento é a parte da síntese física responsável por definir as rotas das conexões é uma tarefas complexa; relaciona-se com a tecnologia de fabricação; consiste em muitos problemas distintos; requer uma variedade de algoritmos;

Algoritmos de Roteamento 2 Algoritmos de Roteamento Algoritmos de roteamento solucionam problemas de roteamento. Classificação Algoritmos de Roteamento Genéricos Roteamento de Canal Roteamento Global

2.1 Classificação Classificação de roteamento por objetivos: Roteamento detalhado Roteamento global Roteamento especializado

Classificação de roteamento quanto ao espaço: espaços dedicados: canais e switch boxes; sobre as células, roteamento de área,... general cell standard cells roteamento de área

Classificação dos algoritmos de roteamento quanto ao processamento: incrementais ou seqüenciais: fazem uma conexão a cada vez. Problema: ordenação; integrais ou paralelos: consideram todas as conexões ao mesmo tempo; refinadores ou iterativos: partem de uma solução inicial e repetem a operação de desfazer e refazer conexões até o fim;

Classificação dos algoritmos de roteamento quanto à aplicação: genéricos: podem ser aplicados a muitos problemas diferentes de roteamento; restritos: exploram características ou restrições particulares de um problema para encontrar soluções com maior eficiência; ex: roteamento de canal caixas de conexão roteamento planar ...

2.2 Algoritmos de Roteamento Genéricos Baseados em pesquisa de caminhos: maze-routers [Lee 61], derivados de BFS; Baseados em geometria: line-probe e line-expansion; Algoritmo Hierárquico: baseado em particionamento;

Maze Routers genérico seqüencial muito usado pesquisa BFS em uma grade (Lee 1961) memória ocupada (mínimo 1 bit) tempo de processamento ordenação genérico seqüencial muito usado

2.3 Roteamento de Canal Modelo de canal: espaço entre duas bandas; definição: terminais superiores e inferiores; dificuldade de roteamento: horizontal;

Algoritmos para roteamento de canal: Left-Edge; Dogleg; Y-K; Greedy; YACR2; Hierárquico; Roteamento de switch boxes

O Algoritmo Left-Edge: segmentos que unam todos os pinos das redes ordena segmentos pelo canto esquerdo para cada trilha toma um a um os primeiros segmentos que couberem no final desta 1 5 6 2 3 4 HCG VCG Instância de um canal 1 3 5 2 4 6 1 3 5 2 4 6 1 3 5 2 4 6

O Algoritmo Greedy: Faz o roteamento coluna a coluna, em 5 passos: 1 - conecta novo pino à trilha mais próxima 2 - conecta trilhas que possuem a mesma rede 3 - reduz distância entre redes em mais de 1 trilha 4 - aproxima redes da borda destino (topo ou base) 5 - insere nova trilha para novo terminal 1 5 2 1 3 4 6 1 3 5 2 4 6 3 1 5 3 4 6 2 3

2.5 Roteamento Global Roteamento global para General Cells: espaços são canais ou caixas; ordenação Roteamento global para leiaute em bandas: conexões verticais com feedthroughs; Encontrar árvores para cada rede otimizar árvore e reduzir congestionamento; Roteamento global de área divisão arbitrária gera grafo regular;

Exemplos de roteamento global:

Algoritmos de Pesquisa de Caminhos 3 Algoritmos de Pesquisa de Caminhos 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*

3.1 Definição do Problema Em um grafo localmente finito G=(V,E), encontrar o caminho mais curto entre nodos origem s e destino t - menor custo aditivo. v1 v2 v3 v4 v5 v6 v7 v8 v9 s t

3.2 Princípios da Pesquisa 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 v7 v8 v9 s t

3.3 Algoritmos de Pesquisa Pesquisa em Profundidade (Depth-First) Tão logo um novo nodo é gerado ele é selecionado para ser expandido (LIFO). s t

Pesquisa em Largura (Breadth-First) Primeiro expande todos os nodos a uma mesma distância da origem (FIFO). Pesquisa intermediária destino origem Pesquisa completa

Pesquisa Heurística (A*) Primeiro expande os nodos mais promissores, segundo a função: f(n) = g(n) + h(n) Efeito da eficiência das estimativas origem destino Pesquisa intermediária Pesquisa completa g(n) h(n)

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 Pesquisa da origem Pesquisa do destino destino m origem Nodo de encontro Pesquisa unidirecional

Pesquisa Heurística bidirecional Objetivo: Unir as vantagens de ambas Dificuldades: problema das frentes desencontradas intersecção das pesquisas condição de término Objetivo Suposto problema das frentes desencontradas Bi-BFS Bi-A*

Wave-Shapping (frente-a-frente) Calcula distância até cada nodo da frente oposta f(n) = gs (n) + min[k(n,pi) + gt (pi)] gs(n) gt(pi) k(n,pi ) s n t pi Requer tempo (ou espaço) quadrático para tal

Pesquisa por perímetro Dois processos de pesquisa seguidos o primeiro BFS e o segundo A* ou IDA*, geralmente gs(n) gt(pi) k(n,pi ) s n t pi Primeira pesquisa, até um perímetro determinado Segunda pesquisa, com estimativas frente-a-frente Demonstra potencial dos heurísticos bidirecionais

3.4 Propriedades em pesquisa heurística Admissibilidade (*): custo de n a t  h(n) garante menor caminho t n h(n) Menor caminho de n a t Consistência: k(n1,n2) + k(n2,n3)  k(n1,n3) só expande nodos com custo mínimo conhecido n1 n2 n3 k(n1,n2) k(n2,n3) k(n1,n3) h(n) = k(n,t)

3.5 Pesquisa Heurística bidirecional problema das frentes desencontradas é insignificante o poder de um algoritmo heurístico admissível não está em quão rápido ele encontra um caminho da origem ao destino, mas em quão rápido ele pode computar valores mais altos de f() para os nodos que gera. a função g() de uma frente corresponde à h() da oposta estimação: a) estática, b) dinâmica, c) frente a frente

3.6 Algoritmo LCS* 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

Estimação dinâmica Resistência (min idea [Kaindl 96]) gt(pi) t pi k(pi ,t) Rt = Min[gt(pi) - k(pi,t)] F(n) = f(n) + Rt Penalidade (max idea [Kaindl 96]) gs(n) gt(pi) s n t pi ht(n) hs(n) ht(pi) Pt = Min[gt*(pi) - k(pi,s)] F(n) = gs(n) + Pt - ht(n)

Resultados preliminares de LCS* Em grafos aleatórios 70 nodos, distância 1000 de 1000, 1 arco por nodo [solúveis] A*s average search nodes = 126156 78306 A* best search nodes = 71576 61016 A* worst search nodes = 180736 95596 LCS* nodes = 77710 59869 Em grafos geométricos 70 nodos, distância 300 de 1000, 10% conexões [+ 1 arco] A*s average nodes = 39095 28406 A* best search nodes = 24438 21428 A* worst search nodes = 53752 35384 LCS* nodes = 38662 34130

Resultados preliminares de LCS* Em grade, admissibilidade completa

Resultados preliminares de LCS* Em grade, admissibilidade relativa

4 grande área livre, sem estrutura terminais e obstáculos arbitrários Roteamento de Área grande área livre, sem estrutura terminais e obstáculos arbitrários decomposição necessária para roteamento detalhado

4.1 Decomposição em caixas de conexão divisão arbitrária do espaço em GRCs assinalamento de pontos de cruzamento (CPA) roteamento detalhado de caixas de conexão

4.2 Roteamento de área sem decomposição Left-Edge ignoraria restrições verticais Greedy não otimizaria conexões verticais Mas um opera linha a linha e o outro coluna a coluna

4.3 O algoritmo LEGAL opera linha por linha, como um Greedy realiza conexões com critério Left-Edge faz roteamento detalhado integral (todas conexões) não avalia a área repetidas vezes como maze routers resultados preliminares indicaram alta eficiência

Roteamento com o Algoritmo LCS* 5 Roteamento com o Algoritmo LCS* Propostas: 5.1 Técnicas de otimização em espaço regular; 5.2 Pesquisa com múltiplos destinos 5.3 Formação de redes 5.4 Modelos de custo 5.5 Outras técnicas de pesquisa 5.6 Pesquisa básica

5.2 Pesquisa com múltiplos destinos Seleção de destino por retângulo envolvente s t1 t2 t1 Seleção de destino mais próximo s t2 s t1 t2 Cálculo de janela de aproximação

5.3 Formação de redes Formação de redes de comprimento mínimo g()=0 Apagando o custo g() nos caminhos já encontrados Driver Formação de redes de caminhos mínimos g()=0 g()=5 g()=9 g()=7 Mantendo o custo g() nos caminhos já encontrados Driver

5.4 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;

Roteamento com o Algoritmo LEGAL 6 Roteamento com o Algoritmo LEGAL Propostas: Definição precisa relacionamento com roteamento global comparações de problemas “genéricos” Adaptação a situações práticas inserção de espaços no roteamento inserção de espaços no posicionamento roteamento em até 4 camadas roteamento com conexões de largura variável

Conclusões e Cronograma 7 Conclusões e Cronograma 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

Cronograma: novembro: testes e implementação de roteador com LCS* infra-estrutura: multi-grade, modelos, estruturas dezembro: continuação janeiro: implementação do LEGAL testes: LCS* vs. LEGAL, LCS* + LEGAL fevereiro: escrita do texto da tese