Algoritmos de varredura linear e busca de padrões

Slides:



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

Continuidade: sem interrupções
RECORTE DE FIGURAS Algoritmo proposto para Recorte de Segmentos (atribuído a Ivan Sutherland e Dan Cohen) Para o entendimento do algoritmo a ser proposto,
Árvores 2010/1 Teoria dos Grafos (INF 5037/INF2781)
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Algoritmos em Grafos (Parte 2)
Geometria Computacional Fecho Convexo II
Distâncias.
Computação Gráfica I Conteúdo: Professor:
Fluxo em Redes Prof. Ricardo R. Santos.
Cálculo 3 9. Integrais Duplas Volumes Amintas Paiva Afonso
ANÁLISES DE REGRESSÃO.
Geometria Computacional Galeria de Arte
Conceitos e Propriedades
MÉTODOS QUANTITATIVOS
Ensino Superior Cálculo 2 2. Integral Definida Amintas Paiva Afonso.
UFES CC/EC/Mestrado Teoria dos Grafos Árvores. UFES CC/EC/Mestrado Teoria dos Grafos Árvores Grafo Acíclico: não possui ciclos.
PREENCHIMENTO DE POLÍGONOS
Métodos para representação de estruturas hierárquicas
Problema do caixeiro viajante
Rasterização, Anti-aliasing e Preenchimento
Dispositivos de Visualização e Rasterização
 Revisão 01 Geometria Analítica Retas Prof. PH
CALCULANDO E MONTANDO Alguns processos e procedimentos matemáticos pertinentes a atividade: Pensamento espacial; Expressão escrita matemática; Linguagem.
2002 LCG/UFRJ. All rights reserved. 1 Arranjos Claudio Esperança Paulo Roma.
Introdução à Computação Gráfica Recorte
Geometria Computacional Interseção de Segmentos
Interseção de Semiplanos
Geometria Computacional Fecho Convexo
Claudio Esperança Paulo Roma
DIM102 1 Curvas e Superfícies 35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227.
35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227
Árvore Geradora de Peso Mínimo
Métodos de Pesquisa: Seqüencial e Binária
O que você deve saber sobre
O que você deve saber sobre
Computação Gráfica: Rendering e Rasterização
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
XI MGEST – Universidade Federal de Ouro Preto
Aprendizado de Máquina
Vetores no Plano e no Espaço
MATEMÁTICA UNIDADE 1 Conteúdo: Geometria Espacial Duração: 10 40’ 28/01/14 AGRONEGÓCIO - TURMA 3º A Matemática – Geometria Espacial.
Interpolação de imagem
Propriedades da Integral Definidas
Colégio Estadual “Antenor Padilha”.
Integração Numérica Integração Numérica
Num triângulo retângulo, os lados têm nomes especiais:
Unidade 2. Dependência Linear e Base
Algoritmos Gulosos em Grafos
Aula II – Ponto Prof. Zé Roque
Uma moeda de cinco centavos é colocada sobre uma mesa
Net Aula Unicanto TECLE F5 PARA MAXIMIZAR AS TELAS Para Visualizar Melhor Estes Slides, Tecle F5 para Maximizar as Telas: Tecle Enter para continuar.
Aula de Matemática TRIÂNGULOS Razão de semelhança
Espaço tridimensional (3D)
Professor  Neilton Satel
Triangulação de Delaunay
Prof. Edison Oliveira de Jesus
Geometria Computacional Fecho Convexo
Complexidade de Computação Katia Guimarães. Avaliando a Qualidade de um Algoritmo É preciso ter bem definido –O que é dado de entrada e –O que é esperado.
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.
Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 7.
Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 5.
Prof.: Luciano Soares Pedroso
CONHEÇA HIDROLÂNDIA - UIBAÍ
Marcos Corrêa Neves Gilberto Câmara Renato M. Assunção
Prof. Edison Oliveira de Jesus
Introdução à Computação Gráfica Rasterização
MATEMATICA E SUAS TECNOLOGIAS
Volume de Prismas Retos
Geometria Espacial.
Transcrição da apresentação:

Algoritmos de varredura linear e busca de padrões Davi Duarte, Luiz Afonso {ddp, lacbs}@cin.ufpe.br

A importância do estudo de algoritmos O que é algoritmo? Porque aprender algoritmos? Capacidade de generalização Aplicação a problemas reais Estimativa de tempo de execução

Análise de tempo de execução Tempo aproximado para algoritmos com N=100 Complexidade Tempo esperado O(log(N)) 10-7 segundos O(N) 10-6 segundos O(N.log2(N)) 10-5 segundos O(N2 ) 10-4 segundos O(N6) 3 minutos O(2N) 1014 anos O(N!) 10142 anos

Varredura Linear Utilizado para resolver problemas geométricos Linha conceitual “varre” o plano verticalmente Pode ser utilizada em conjunto com outros algoritmos Particularmente útil em problemas envolvendo distância Euclidiana e de Manhattan

Distância de Manhattan A distância de Manhattan entre os pontos (x1,y1) e (x2,y2) é dada por |x1 – x2| + |y1 – y2| É chamada distância de Manhattan por conta das ruas em forma de grade da cidade de Manhattan Formalmente conhecida como métrica L1

Par de pontos mais próximos Dado um conjunto de pontos encontrar o par de pontos mais próximo Ordenar os pontos pelo eixo X e varrer com uma linha vertical Utilizar árvores binárias balanceadas para guardar os pontos mais próximos Complexidade O(N Log N)

Interseção de segmentos de reta Encontrar interseção de segmentos de retas verticais e horizontais Utilizar linha de varredura para percorrer o plano horizontalmente Percorrer passando pelos pontos extremos dos segmentos Usar árvore binária balanceada para armazenar retas intersectan- tes em um ponto de varredura Complexidade O(N log N)

Área de união de retângulos Calcular a área da união de vários retângulos Utilizar linha de varredura para percorrer o plano horizontalmente Percorrer passando pelas arestas dos retângulos Utilizar árvore binária balanceada para armazenar número de retân- gulos em um ponto de varredura Complexidade O(N log N)

Fecho convexo de pontos 2D Encontrar menor polígono que cerca um conjunto de pontos no plano 2D Ordenar os pontos pelo eixo X Utilizar duas linhas de varredura percorrendo verticalmente o plano Gerar fecho superior e inferior Procedimento similar ao Graham scan para tratamento de triângulos Complexidade O(N log N)

Árvore de peso mínimo no espaço de Manhattan Encontrar a árvore geradora mínima em um conjunto de pontos considerando a distância de Manhattan Dividir o plano em octantes Ordenar os pontos pela soma das coordenadas Dividir o octante em metades e usar abordagem dividir para conquistar Problema reduzido a encontrar o vizinho mais próximo em um octante Complexidade O (N log N)

Busca de padrões DNA Banco de Dados Indexação

Busca de padrões Algoritmo ingênuo O(N*M) ABABABABAABABAA ABABAA ?

Busca de padrões Knuth-Morris-Pratt O(M+N) ABABABABAABABAA ABABAA ?

Busca de padrões Trie CERCARROCORAL "A", "CARRO", "CERCA", “COR”, ϵ A C C A C E C O CA R CAR R CARR O CE R CER C CERC A CO R COR A CORA L

Busca de padrões Aho-Corasick CERCARROCORAL "A", "CARRO", "CERCA", ϵ A C CA CE CO CAR CARR CARRO CER CERC CERCA COR CORA CORAL

Busca de padrões Árvove de sufixos Hashing Texto Polinômio limitado Número

Dúvidas?