Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.

Slides:



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

Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Algoritmos em Grafos.
Algoritmos em Grafos (Parte 2)
Fluxo em Redes Prof. Ricardo R. Santos.
ALINHAMENTOS LOCAIS E SEMI-GLOBAIS
Teoria da Computação VERIFICAÇÃO DE EQUIVALÊNCIA FORTE DE PROGRAMAS
Solved Exercises 1. Finding the Peak. Let A= a1,…,an be a sequence of n numbers with the following property: there is p in {1,…,n} for which (i) the.
Exercícios PAA- Grafos
UFES CC/EC/Mestrado Teoria dos Grafos Árvores. UFES CC/EC/Mestrado Teoria dos Grafos Árvores Grafo Acíclico: não possui ciclos.
Especificação de Consultas
Prof. M.Sc. Fábio Francisco da Costa Fontes Abril
Árvore Binária - altura máxima A: Inserção de 1, 2, 3, 4, 5, 6 e 7 Pior caso: O(n)
Árvores.

Pesquisa em Memória Primária
HeapSort Filas de Prioridade – Heap
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
Árvores Introdução e Aplicações Árvores de Busca Binária Fundamentos
Análise Sintática Ascendente
Análise Léxica Supondo o trecho de programa abaixo:
Árvore Geradora Mínima
Marco Antonio Montebello Júnior
Grafos Msc. Cintia Carvalho Oliveira Doutoranda em Computação – UFU
List Ranking. List Ranking (1) Seja L uma lista representada por um vetor s tal que s[i] é o nó sucessor de i na lista L, para u, o último elemento da.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Algoritmos em Grafos.
Lema do Bombeamento Linguagens Livres de Contexto
Teoria dos Grafos Caminhos e Noção de Grafos com pesos
Exercícios PAA- Grafos
Gramáticas Livres de Contexto
Algoritmos e Estrutura de Dados III
Capítulo 11 Programação Lógica
Árvores Balanceadas Liliane Rose Benning Salgado.
Algoritmos Gulosos em Grafos
Katia S. Guimarães Busca em Grafos Katia S. Guimarães
Rotação Simples e Dupla Katia Guimarães
Katia S. Guimarães Heaps Katia S. Guimarães
Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um dado pode ser qualquer.
Á R V O R E S.
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Árvore Binária de Busca
SISTEMAS DE INFORMAÇÃO
Universidade Federal de Mato Grosso do Sul Departamento de Computação e Estatística Circuitos de Euler em Paralelo Universidade Federal de Mato Grosso.

LFA: Unidade 03 – Parte B Engenharia/Ciência da Computação
Katia S. Guimarães Busca em Grafos Katia S. Guimarães

Programação Dinâmica.
Introdução a Algoritmos em Grafos.
Algoritmos FPT para o Problema da k-Cobertura por Vértices
Alinhamento de Cadeias de DNA COMPARAÇÃO DE SEQÜÊNCIAS
Operações Aritméticas AULA 3 Análise de Algoritmos Pós-graduação em Ciência da Computação – UFU Profa. Sandra de Amo.
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.
AVL Árvores Equilibradas Sumário AVL Splay B Vermelho-Preto AA e BB Multidimensionais quaternárias k-d [Pesquisa Lexicográfica tries multivia tries binárias.
Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.
Análise e Síntese de Algoritmos Algoritmos GreedyCLRS, Cap. 16.
Busca em Espaço de Estados Parte2 Algoritmos de Busca Cega
Árvores de Busca Binária
1 de outubro de Árvores de Busca e Árvores AVL Parte 1 Katia Guimarães.
Programação Dinâmica Profa. Sandra de Amo Bacharelado em Ciência da Computação – UFU Disciplina de Análise de Algoritmos.
Heaps Katia S. Guimarães
Alinhamento Global de Seqüências Katia Guimarães.
Árvores (introdução) Anjolina Grisi de Oliveira Obs: vários slides foram cedidos por Adolfo Almeida Duran (UFBA)
28 de outubro de Árvores Binárias e Árvores AVL Parte 2 Katia Guimarães.
Árvores Binárias e Árvores AVL Katia Guimarães. Árvores Binárias e Árvores AVL Katia S. Guimarães
INE5408 Estruturas de Dados Árvores B - Estrutura e peculiaridades -Algoritmos de inserção, pesquisa e deleção.
Ordenação por Comparação
Transcrição da apresentação:

Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães

Árvores de Sufixos Apresentadas por Weiner (1973) Construção linear demonstrada por McCreight (1976) Modelo apresentado Ukkonen (1995) Compacto Intuitivo Versátil On-line

Árvores de Sufixos Definição Uma árvore-  + é uma árvore n-ária tal que Cada aresta tem um rótulo associado (seqüência não vazia de símbolos) Rótulos de duas arestas com origem no mesmo vértice não podem começar com o mesmo símbolo.

Árvores de Sufixos - Variações Árvore de Sufixos Compacta – Cada aresta tem um rótulo maximal Árvore de Sufixos Expandida Acrescenta-se um símbolo especial $ ao final da cadeia

Árvores de Sufixos Compacta

Árvores de sufixo Algoritmo constrói-AS (X= x 1... x n ) início crie uma árvore T 1, com V T1 ={(raiz, x 1 )}, E T1 ={(raiz, x 1 )} e rot(x 1 )=x 1 Para i  2 até n faça para j  1 até i-1 faça u  X [j..i –1] se (não há uma representação para x i a partir de u) então se (u é uma folha) então estenda o rótulo da aresta de destino u concatenando x i senão insira uma nova folha w = X [j..i ] e uma aresta (u, w) de rótulo x i. fim constrói-AS

Construindo a Árvores de Sufixos da Seqüência CCTTTA

Árvores de Sufixos Para fazer uma construção eficiente: Obter, durante a i-ésima iteração as referências para cada vértice de rótulo X[j..i–1], j= 1, 2,..., i-1, na árvore T i-1 Suffix links Identificar a fronteira da árvore T i-1 ou seja, a seqüência dos loci de todos os sufixos de X, do maior para o menor

Arrays de sufixos Manber and Myers (1993) Organiza todos os sufixos de uma seqüência em ordem lexicográfica crescente Possibilita busca binária Espaço O(n) Tempo O(n. log n) Tempo de busca por um padrão Y O(|Y| + log n)

Arrays de sufixos Tempo de construção um pouco mais longo do que as árvores de sufixo Vantagens Construção simples Econômico em termos de espaço

Arrays de sufixos

Repetições com substituições Diferentes tipos de erros introduzem diferentes graus de dificuldade Distância de Hamming Estratégia Identificar repetições exatas de tamanho pequeno Sementes A partir destes, identificar trechos de tamanho maior

Repetições com substituições A computação das sementes pode ser feita em tempo O(n) usando uma árvore de sufixos S A verificação das possíveis extensões de uma semente pode ser feita por programação dinâmica

Repetições com substituições Seqüência Sementes na seqüência S de comprimento pelo menos 3

Repetições com substituições Extensões da semente GGGG

Repetições com substituições Extensões da semente TTT

Considerando inserções e remoções Modelo mais complexo, porém, mais realístico Distância de Levenshtein k-erro repetição

Considerando inserções e remoções U e V cadeias de comprimento m e n respectivamente q  [0, k] Em direita E (esquerda E ) as cadeias U e V representam as extensões à direita (respectivamente, `a esquerda) das sementes que são maximais com relação ao erro, considerando a distância de edição

Considerando inserções e remoções Valores de U e de V para extensões à esquerda e à direita de semente GGGG e q  2

Considerando inserções e remoções Algoritmo MDR (S, l, k) início Compute todas as sementes Para cada semente ((i 1, j 1 ), (i 2, j 2 )) faça Compute as tabelas T dir (q) = direita E (s[j 1 +1,n], s[j 2 +1,n], q) T esq (q) = esquerda E (s[1, i 1 -1], s[1, i 2 -1], q) Para cada q  [0, k] faça Para cada par (x l, y l )  esquerda(q) e cada par (x r, y r )  direita(k-q) faça Se (j 1 – i x l + x r  l) e (j 2 – i y l + y r  l) então reporte a k-erro repetição((i 1 – x l, j 1 – x r ), (i 2 – y l, j 2 – y r )) fim MDR

Considerando inserções e remoções As sementes podem ser estendidas em tempo O(n 2 ) Programação dinâmica simples O(kn) Algoritmo em [ Ukkonen, 1985].