Melhorando o Desempenho de Árvores de Sufixo na Indexação de Grandes Seqüências de Nucleotídeos

Tamanho: px
Começar a partir da página:

Download "Melhorando o Desempenho de Árvores de Sufixo na Indexação de Grandes Seqüências de Nucleotídeos"

Transcrição

1 Melhorando o Desempenho de Árvores de Sufixo na Indexação de Grandes Seqüências de Nucleotídeos Caio César Mori Carélo 1 Profa. Dra. Cristina Dutra de Aguiar Ciferri Pós-Graduação em Ciências de Computação e Matemática Computacional Universidade de São Paulo, São Carlos, Brasil {ccarelo,cdac}@icmc.usp.br Nível: Mestrado Ano de ingresso no programa: 2007 Exame de qualificação: Abril de 2008 Época esperada de conclusão: Fevereiro de 2009 Resumo O avanço tecnológico dos laboratórios de biologia molecular tem tornado a coleta dos dados biológicos mais rápida que a sua interpretação. Esses dados referem-se às seqüências de nucleotídeos e aminoácidos que representam a estrutura do material genético dos seres vivos e as substâncias que são codificadas a partir deste. Existem vários trabalhos na literatura voltados à proposta de métodos de acesso para seqüências de nucleotídeos, com o intuito de tornar mais eficiente o acesso a esse tipo de dado. Dentre estes trabalhos, destacam-se os baseados em uma estrutura de dados chamada árvore de sufixo. Esta estrutura pode ser utilizada para resolver diversos problemas baseados em seqüências, como descobrir qual parte do código genético de um organismo é responsável por uma doença hereditária. O projeto de mestrado tem por objetivo propor uma nova técnica de construção de árvores de sufixo voltada à execução de consultas pontuais em grandes seqüências de nucleotídeos. Espera-se que esta nova técnica reduza as seguintes medidas: (i) tempo de construção de árvores de sufixo; (ii) tempo médio de resposta de consultas submetidas às árvores de sufixo; e (iii) espaço de memória secundária necessário para armazenar as árvores de sufixo. Palavras-chave Bioinformática, Árvore de sufixo, Seqüência de nucleotídeos. 1 Os autores agradecem o apoio financeiro das seguintes agências de fomento à pesquisa do Brasil: CNPq, CAPES, FINEP e FAPESP.

2 1. Introdução O desenvolvimento de grandes projetos da biologia molecular, como o projeto genoma, destaca a bioinformática como uma área de pesquisa muito relevante [Korf et al. 2003]. Esta área utiliza métodos da biologia, da matemática e da computação para solucionar questões biológicas relevantes a partir de seqüências de nucleotídeos, de aminoácidos e de informações relacionadas [Baxevanis and Ouellette 2005], os quais são armazenados em bancos de dados biológicos (BDB). Nestes BDB, as seqüências de nucleotídeos são constituídas por caracteres que representam as bases nitrogenadas adenina (A), citosina (C), timina (T ) e guanina (G). Com o avanço tecnológico, a quantidade de dados biológicos disponíveis para análise tem aumentado exponencialmente. Por exemplo, o GenBank, um dos maiores BDB existentes, disponibiliza aproximadamente pares de base (bp 2 ) provenientes de mais de 73 milhões de seqüências de nucleotídeos [Phoophakdee and Zaki 2007]. Assim, existe uma quantidade enorme de dados biológicos ao alcance da comunidade científica. Surge, então, o desafio de pesquisar estes BDB, comparando seqüências e identificando se elas são similares. A maioria das consultas envolvendo pesquisa por similaridade possui apenas uma pequena parte do BDB como resposta. Para auxiliar estas consultas, existem os métodos de acesso, os quais conduzem a busca a porções do BDB nas quais as seqüências armazenadas têm alta probabilidade de serem similares à consulta. Dentre os métodos de acesso existentes na literatura voltados à indexação de dados biológicos, um grupo utiliza uma estrutura de dados na forma de árvore para armazenar as seqüências de nucleotídeos, chamada de árvore de sufixo. Embora a árvore de sufixo seja amplamente utilizada, ela é muito volumosa e usualmente excede o tamanho do BDB (e.g., em uma ou duas ordens de magnitude). Outro desafio do uso desta estrutura de dados consiste em construir árvores de sufixo que excedem a memória principal com complexidade linear em relação ao tempo. O projeto de mestrado tem como objetivo melhorar o desempenho de árvores de sufixo na indexação de dados biológicos. Mais especificamente, o projeto de mestrado visa desenvolver um método de acesso baseado em árvores de sufixo voltado à execução de consultas pontuais em grandes seqüências de nucleotídeos. Além desta seção introdutória, o artigo é estruturado em mais cinco seções. A Seção 2 descreve a árvore de sufixo. A Seção 3 sintetiza trabalhos correlatos. A Seção 4 apresenta a proposta a ser desenvolvida e como esta será validada, enquanto que a Seção 5 discute atividades em andamento. O artigo é concluído na Seção 6, com as considerações finais. 2. Árvore de Sufixo Sejam Σ = {α 1, α 2,..., α σ } um alfabeto com σ símbolos, Σ o conjunto de todas as seqüências que podem ser construídas com Σ, e $ / Σ um símbolo terminal, o qual denota o final de uma seqüência. Sejam P Σ uma seqüência com m caracteres e P [i : j](1 i j m) uma subseqüência entre (e inclusive) o i-ésimo e j-ésimo caracteres de P. Sejam, ainda, qualquer subseqüência P [1 : j] um prefixo e qualquer P [i : m] um sufixo de P. A árvore de sufixo T de uma seqüência P $ é uma árvore com m + 1 nós folhas enumerados de 1 a m + 1, onde m = P. Cada nó interno pode ter dois ou mais filhos e cada aresta de T representa uma subseqüência não vazia de P $. Além disso, as arestas que partem de um mesmo nó não podem representar subseqüências com prefixo comum [Gusfield 1997]. 2 Tamanho das seqüências de nucleotídeos. Mbp e Gbp denotam 10 6 bp e 10 9 bp, respectivamente.

3 Em uma árvore de sufixo, sufixos com o mesmo prefixo compartilham o mesmo caminho a partir da raiz da estrutura, denotada por R[T ]. A Figura 1 mostra a árvore de sufixo T da seqüência T AGAGA$. O número de cada nó folha indica a posição inicial do sufixo formado pelo caminho entre R[T ] e o nó em questão. Por exemplo, o caminho da raiz até a folha 4 forma o sufixo AGA$, indicando que este sufixo inicia na quarta posição de P $. P$ = TAGAGA$ P[6:6]$ = A$ P[4:6]$ = AGA$ P[2:6]$ = AGAGA$ P[5:6]$ = GA$ P[3:6]$ = GAGA$ P[1:6]$ = TAGAGA$ R[T] A $ GA TAGAGA$ 7 1 $ GA $ GA$ $ GA$ 4 2 Figura 1. Árvore de sufixo T da seqüência T AGAGA$. 3. Trabalhos Correlatos O método trivial de construção de árvores de sufixo possui complexidade O(m 2 ). Weiner (1973) desenvolveu o primeiro algoritmo com complexidade linear para este fim. McCreight (1976) propôs um método que requer menos espaço de memória principal durante o processo de construção desta estrutura. Já Ukkonen (1995) desenvolveu uma técnica cuja principal contribuição é o uso de elos de sufixos, os quais otimizam a inserção de sufixos na construção da estrutura de dados [Gusfield 1997]. Contudo, as técnicas lineares de construção de árvores de sufixo compartilham a mesma limitação: a estrutura de dados gerada deve caber na memória principal disponível. Um dos primeiros trabalhos na literatura para construir árvores de sufixo que não cabem em memória principal é o de Hunt et al. (2001). O método proposto realiza várias passagens sobre a seqüência de entrada, construindo uma árvore de sufixo parcial para um subconjunto dos sufixos em cada passo. Apesar de aumentar a capacidade de construir árvores de sufixo, o método possui algumas desvantagens, como o abandono do uso de elos de sufixo. Além disso, nesse método os prefixos de seqüências não são necessariamente uniformemente distribuídos, de forma que algumas partições podem não caber em memória principal, gerando casos nos quais a técnica proposta não funciona. As técnicas DynaCluster [Cheung et al. 2005] e TOP-Q [Bedathur and Haritsa 2004] foram propostas para solucionar as limitações do trabalho de Hunt et al. (2001). Estas técnicas utilizam elos de sufixo e não sofrem dos problemas das partições. No entanto, elas não tratam eficientemente seqüências de escala genômica (i.e., tamanho do genoma humano, totalizando aproximadamente 3 Gbp). Já o método TDD [Tata et al. 2004] indexa todo o genoma humano, mas abandona o uso dos elos de sufixo. Atualmente, TRELLIS [Phoophakdee and Zaki 2007] e TREELIS+ [Phoophakdee and Zaki 2008] são os únicos métodos capazes de criar árvores de sufixo para seqüências de escala genômica mantendo os elos de sufixo. Entretanto, esses métodos geram muitas partições, além de produzirem árvores de sufixo muito volumosas (e.g., para o genoma humano, o tamanho da árvore de sufixo gerada é de 71,6 GB).

4 4. Proposta de Mestrado 4.1. Descrição As técnicas para criar árvores de sufixo que excedem a memória principal podem ser classificadas em dois grupos de acordo com a política de particionamento: as que utilizam prefixos de tamanho fixo, e as que definem prefixos de tamanho variável. O particionamento deve ser de tal forma que os prefixos tenham o menor tamanho possível, evitando desperdício de recursos computacionais. Além disso, o tamanho dos prexifos deve ser grande o suficiente para que todas as partições caibam na memória principal disponível [Phoophakdee and Zaki 2007]. Em estudos realizados até o momento, foi identificado que o número mínimo de partições necessárias para criar a árvore de sufixo de uma seqüência P $, denotado por N min (P ), pode ser calculado por meio da Equação 1. Nesta equação, MS real (P ) denota o requisito total de armazenamento em memória secundária da árvore de sufixo de P $ e MP disp representa a quantidade de memória principal disponível (i.e., 60% da memória principal total). N min (P ) = MSreal (P ) MP disp (1) Para melhorar o desempenho de árvores de sufixo na indexação de grandes seqüências de nucleotídeos, o projeto de mestrado visa propor uma nova técnica de particionamento variável para construir essa estrutura quando ela excede a memória principal. A técnica deverá gerar um número de partições próximo de N min, com o intuito de evitar o desperdício de recursos computacionais. Espera-se que um número de partições próximo de N min reduza as medidas: Tempo de construção da árvore de sufixo; Tempo médio de resposta das consultas realizadas; e Espaço de memória secundária necessário para armazenar a árvore de sufixo Validação O ambiente de teste que será usado para validar a técnica proposta considerará quatro aspectos: tipo de dado, origem dos dados, volume dos dados e tamanho das consultas. Para o tipo de dado, serão utilizados alfabetos de quatro caracteres, representando seqüências de nucleotídeos (i.e., Σ = {A, C, G, T }). Com relação à origem dos dados, serão usados dados reais e sintéticos. Os dados reais serão obtidos a partir do repositório disponível em ftp://ftp.ensembl.org/pub/current_fasta. Já os dados sintéticos serão gerados por meio de uma ferramenta já desenvolvida como parte das atividades do mestrado. Além disto, serão usados volume de dados de 10 Mbp (i.e., genomas de bactérias) a 100 Mbp, para investigar o comportamento da técnica proposta utilizando apenas memória principal, e volumes entre 200 Mbp e 3 Gbp (i.e., genoma humano), para analisar o seu desempenho em memória secundária. Por fim, serão submetidas consultas com tamanho variando entre 40 bp e bp, pois esta faixa de valores cobre a grande maioria das aplicações existentes [Phoophakdee and Zaki 2007]. As vantagens do uso da técnica proposta serão investigadas por meio da coleta de resultados de desempenho e de análises de complexidade de tempo e de espaço. Durante a construção da árvore de sufixo, serão analisadas as medidas número de partições criadas, requisito total de armazenamento e tempo total gasto. Já na execução de consultas, serão investigadas as medidas número de acessos a disco e tempo total gasto. Adicionalmente, os resultados obtidos serão comparados com os resultados de trabalhos listados na Seção 3. Especial enfoque será dado ao método TRELLIS+, o qual representa o estado da arte nesta linha de pesquisa.

5 5. Atividades em Andamento A técnica proposta deve contemplar três etapas: cálculo das partições, particionamento e junção das partições. A atividades de mestrado em andamento estão concentradas na primeira etapa, o cálculo das partições, a qual engloba dois passos. No passo 1, dada uma seqüência P $, essa seqüência é particionada em P 1 P 2... P n $ subseqüências de forma que qualquer P i $ (1 i n) caiba na memória principal disponível. Na técnica proposta, o tamanho de cada P i $ é determinado pelo tamanho de cada cromossomo que a partição representa. Por exemplo, o genoma humano possui 24 cromossomos e, portanto, para esse organismo são geradas 24 partições, uma para cada cromossomo. O tamanho da partição P 1 $ é o tamanho do cromossomo 1, e assim sucessivamente. Esta abordagem tem como principal vantagem o fato de não ser necessário tratar subseqüências que iniciam no final de uma partição P i e terminam no começo da partição P i+1. Já o passo 2 verifica se as árvores de sufixos parciais que serão criadas para cada P i $ na etapa de particionamento cabem individualmente na memória principal disponível. Para isso, a técnica proposta calcula dois valores. O primeiro deles é uma estimativa do tamanho final em memória secundária ocupado pela árvore de sufixo de P i $, sendo denotado por MS est (P i ). Esse valor é calculado pela Equação 2, onde NF e NI são os tamanhos em bytes do nó folha e do nó interno da árvore de sufixo, respectivamente, e m i é a quantidade de caracteres de P i. MS est (P i ) = (NF + 0, 7 NI) m i (2) O segundo valor diz respeito ao número de partições necessárias para criar P i $. Ele é denotado por N est (P i ) e é calculado por meio da Equação 3. Essa equação considera o espaço necessário para armazenar P i $ na memória principal disponível (i.e., P i ). O denominador dessa 4 fração indica a possibilidade de armazenamento de quatro caracteres por byte, desde que o projeto de mestrado visa a indexação de seqüências de nucleotídeos. N est (P i ) = MSest (P i ) MP disp P i 4 Em uma árvore de sufixo, sufixos com prefixos diferentes são indexados em subárvores distintas. Assim, a Equação 3 é utilizada para definir o particionamento dos dados, o qual é feito por meio dos tamanhos mínimos dos prefixos de cada P i $, denotado por T min (P i ). Estes tamanhos mínimos serão usados posteriormente na etapa de particionamento. A Tabela 1 mostra os valores obtidos para os cromossomos Y e 1 do ser humano, que são respectivamente o menor e o maior cromossomos desse organismo. Para o cromossomo Y, N est é 3, indicando que são necessárias 3 partições para indexá-lo. Desde que 1 caractere define 4 1 = 4 partições (i.e., A, C, G, T ), o valor de T min para esse cromossomo é 1. Já para o cromossomo 1, N est é 10, indicando que são necessárias 10 partições para indexá-lo. Nesse caso, o valor de T min é 2, desde que 2 caracteres definem 4 2 = 16 partições (e.g., AA, AC, AG,..., T T ). (3) Tabela 1. Valores MS est, N est e T min para os cromossomo Y e 1 do ser humano. Cromossomo Y Cromossomo 1 Tamanho 55 Mbp 235 Mbp MS est 2,58 GB 11,05 GB N est 3 10 T min 1 2

6 As atividades em andamento descritas nesta seção diferenciam-se da proposta do método TRELLIS+ como segue. Enquanto no TRELLIS+ existe um parâmetro de entrada por meio do qual o usuário deve informar o tamanho mínimo do prefixo, a técnica proposta identifica esse tamanho mínimo automaticamente. Além disso, desde que a técnica proposta identifica tal tamanho a partir de uma análise dos cromossomos, esse tamanho representa realmente o tamanho mínimo que um prefixo precisa ter, maximizando o uso dos recursos computacionais. Em contrapartida, o TRELLIS+ não garante que o parâmetro definido pelo usuário representa o tamanho mínimo necessário para um prefixo. 6. Considerações Finais e Próximas Atividades A pesquisa de similaridade em seqüências de nucleotídeos é uma área de pesquisa bastante relevante, desde que resultados obtidos nessa área podem ser aplicados diretamente na solução de problemas biológicos reais. O projeto de mestrado concentra-se em melhorar o desempenho de árvores de sufixo na indexação de dados biológicos, por meio da proposta de um método de acesso baseado nessa estrutura, voltado à execução de consultas pontuais em grandes seqüências de nucleotídeos. As próximas atividades a serem realizadas envolvem a implementação do método trivial da criação de árvores de sufixo, bem como da técnica de Ukkonen (1995). A comparação entre o desempenho destas abordagens permitirá a definição da estratégia a ser usada na etapa de particionamento, a segunda etapa da técnica proposta. Em seguida, será enfocada a etapa de junção das partições. Posteriormente, a técnica proposta será implementada e validada de acordo com as observações realizadas na Seção 4.2. Referências Baxevanis, A. D. and Ouellette, B. F. F. (2005). Bioinformatics: a practical guide to the analysis of genes and proteins. Wiley-Interscience. Bedathur, S. J. and Haritsa, J. R. (2004). Engineering a fast online persistent suffix tree construction. In Proc. ICDE, pages Cheung, C.-F., Yu, J. X., and Lu, H. (2005). Constructing suffix tree for gigabyte sequences with megabyte memory. IEEE Transactions on Knowledge and Data Engineering, 17(1): Gusfield, D. (1997). Algorithms on strings, trees, and sequences: computer science and computational biology. Cambridge University Press. Hunt, E., Atkinson, M. P., and Irving, R. W. (2001). sequences. In Proc. VLDB, pages Korf, I., Yandell, M., and Bedell, J. (2003). BLAST. O Reilly. A database index to large biological McCreight, E. M. (1976). A space-economical suffix tree construction algorithm. Journal of the ACM, 23(2): Phoophakdee, B. and Zaki, M. J. (2007). Genome-scale disk-based suffix tree indexing. In Proc. SIGMOD, pages Phoophakdee, B. and Zaki, M. J. (2008). TRELLIS+: an effective approach for indexing massive sequence. In PSB, pages Tata, S., Hankins, R. A., and Patel, J. M. (2004). Practical suffix tree construction. In Proc. VLDB, pages Ukkonen, E. (1995). On-line construction of suffix trees. Algorithmica, 14: Weiner, P. (1973). Linear pattern matching algorithms. In FOCS, pages 1 11.

Banco de Dados Biológicos conceitos básicos, indexação, VSTree

Banco de Dados Biológicos conceitos básicos, indexação, VSTree SCC0141 Bancos de Dados e suas Aplicações Banco de Dados Biológicos conceitos básicos, indexação, VSTree Felipe Alves da Louza Profª Cristina D. A. Ciferri Conteúdo Conceitos básicos Banco de dados biológicos

Leia mais

Indexação de Dados Biológicos baseado em Vetores de Sufixo Generalizados para Disco

Indexação de Dados Biológicos baseado em Vetores de Sufixo Generalizados para Disco Indexação de Dados Biológicos baseado em Vetores de Sufixo Generalizados para Disco Felipe Alves da Louza 1, Profa. Dra. Cristina Dutra de Aguiar Ciferri 1 1 Pós-Graduação em Ciências de Computação e Matemática

Leia mais

Árvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão

Árvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão Árvore B Profa. Dra. Cristina Dutra de Aguiar Ciferri Método genérico para o armazenamento e a recuperação de dados voltado para arquivos volumosos proporciona rápido acesso aos dados possui custo mínimo

Leia mais

MIDB-OP: um Modelo de Integração de Dados Biológicos apoiado em Ontologias e Procedência de dados Caroline Beatriz Perlin

MIDB-OP: um Modelo de Integração de Dados Biológicos apoiado em Ontologias e Procedência de dados Caroline Beatriz Perlin MIDB-OP: um Modelo de Integração de Dados Biológicos apoiado em Ontologias e Procedência de dados Caroline Beatriz Perlin Orientador: Prof. Dr. Ricardo Rodrigues Ciferri Agenda Introdução Bancos de dados

Leia mais

TITULO: Implementação do alinhamento de proteínas em GPU utilizando OpenCL PROPOSTA DE TRABALHO DE GRADUAÇÃO

TITULO: Implementação do alinhamento de proteínas em GPU utilizando OpenCL PROPOSTA DE TRABALHO DE GRADUAÇÃO 1 U NIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2 0 1 6. 1 TITULO: Implementação do alinhamento de proteínas em GPU utilizando OpenCL PROPOSTA DE TRABALHO

Leia mais

Um algoritmo para a construção de vetores de sufixo generalizados em memória externa. Felipe Alves da Louza

Um algoritmo para a construção de vetores de sufixo generalizados em memória externa. Felipe Alves da Louza Um algoritmo para a construção de vetores de sufixo generalizados em memória externa Felipe Alves da Louza SERVIÇO DE PÓS-GRADUAÇÃO DO ICMC-USP Data de Depósito: Assinatura: Um algoritmo para a construção

Leia mais

Perseus: uma nova técnica para tratar árvores de sufixo persistentes. Caio César Mori Carélo

Perseus: uma nova técnica para tratar árvores de sufixo persistentes. Caio César Mori Carélo Perseus: uma nova técnica para tratar árvores de sufixo persistentes Caio César Mori Carélo SERVIÇO DE PÓS-GRADUAÇÃO DO ICMC-USP Data de Depósito: 25/06/2009 Assinatura: Perseus: uma nova técnica para

Leia mais

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Árvore digital Árvore digital binária

Leia mais

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso:

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso: Compressão de Textos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM O volume

Leia mais

A matemática e o genoma. Resumo

A matemática e o genoma. Resumo I Coloquio Regional da Região Centro-Oeste, 3 a 6 de novembro de 2009 Universidade Federal de Mato Grosso do Sul Mini-curso A matemática e o genoma Nalvo F. Almeida Jr. Resumo Os avanços da biotecnologia

Leia mais

2 Contexto Biológico Genômica

2 Contexto Biológico Genômica 15 2 Contexto Biológico Neste capítulo abordaremos o contexto biológico para o entendimento deste trabalho. Serão abordados os aspectos gerais da genômica, expostos os processos do sequenciamento genético

Leia mais

Etapa III - Implementação de Operadores da Álgebra Relacional; Etapa IV - Comparação experimental de varredura sequencial x acesso aleatório

Etapa III - Implementação de Operadores da Álgebra Relacional; Etapa IV - Comparação experimental de varredura sequencial x acesso aleatório UFU/FACOM/BCC GBC053 - Gerenciamento de Banco de Dados - 2018/2 Trabalho de Implementação Prof. Ilmério Reis da Silva O trabalho semestral da disciplina em epígrafe tem como objetivo a implementação de

Leia mais

Dados Espaciais e Indexação

Dados Espaciais e Indexação Dados Espaciais e Indexação Cristina Dutra de Aguiar Ciferri Arthur Emanuel de O. Carosia 1 Tipos de Dados Espaciais Ponto: menor unidade possível para representar um objeto espacial. Linha: seqüência

Leia mais

Alinhamento de Sequências e Genômica Comparativa

Alinhamento de Sequências e Genômica Comparativa Encontro França-Brasil de Bioinformática Universidade Estadual de Santa Cruz (UESC) Ilhéus-BA - Brasil Alinhamento de Sequências e Genômica Comparativa Maria Emília M. T. Walter Departamento de Ciência

Leia mais

P E R N AMBUCO UMA FERRAMENTA WEB PARA INFERÊNCIA DE HAPLÓTIPOS PROPOSTA DE TRABALHO DE GRADUAÇÃO

P E R N AMBUCO UMA FERRAMENTA WEB PARA INFERÊNCIA DE HAPLÓTIPOS PROPOSTA DE TRABALHO DE GRADUAÇÃO U NIVERSIDADE FEDERAL DE P E R N AMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UMA FERRAMENTA WEB PARA INFERÊNCIA DE HAPLÓTIPOS PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno Ranieri Valença

Leia mais

Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil.

Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil. Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri Lista

Leia mais

8 Conclusão 8.1 Contribuição

8 Conclusão 8.1 Contribuição 8 Conclusão 8.1 Contribuição O crescente volume e a distribuição de dados e processos em Bioinformática torna cada vez mais fácil as descobertas de novas informações biológicas. Entretanto, como são inúmeras

Leia mais

Algoritmos de bulk-loading para o método de acesso métrico Onion-tree

Algoritmos de bulk-loading para o método de acesso métrico Onion-tree Algoritmos de bulk-loading para o método de acesso métrico Onion-tree http://www.icmc.usp.br/img/novafaixa.png Arthur Emanuel de O. Carosia Profa. Dra. Cristina Dutra de Aguiar Ciferri Visão Geral Onion-tree

Leia mais

Hashing Externo. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri

Hashing Externo. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri Hashing Externo SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri 1 Hashing 0 1 chave de busca K = LOWELL 2 h(k) endereço 4 (RRN 4) 3 4 5... LOWELL......

Leia mais

Métodos de Acesso Métrico

Métodos de Acesso Métrico Métodos de Acesso Métrico http://www.icmc.usp.br/img/novafaixa.png Arthur Emanuel de O. Carosia Profa. Dra. Cristina Dutra de Aguiar Ciferri Índice Conceitos Básicos Métodos de Acesso Onion-tree 2 Índice

Leia mais

Bioinformática. Licenciaturas em Biologia, Bioquímica, Biotecnologia, Engenharia Biológica. João Varela

Bioinformática. Licenciaturas em Biologia, Bioquímica, Biotecnologia, Engenharia Biológica. João Varela Bioinformática Licenciaturas em Biologia, Bioquímica, Biotecnologia, Engenharia Biológica João Varela jvarela@ualg.pt Docentes João Varela (bioinformática: conceitos, bases de dados, aplicações, pesquisa

Leia mais

1 de 7 19/12/ :16

1 de 7 19/12/ :16 1 de 7 19/12/2017 11:16 MELHORAMENTO E DIVERSIDADE GENÉTICA Muito se fala sobre genômica e genoma humano, milhares ou milhões de reais são investidos anualmente nesta área pelo mundo, e várias revistas

Leia mais

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo PMR2300 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó (exceto a

Leia mais

01 Análise de Algoritmos (parte 2) SCC201/501 - Introdução à Ciência de Computação II

01 Análise de Algoritmos (parte 2) SCC201/501 - Introdução à Ciência de Computação II 01 Análise de Algoritmos (parte 2) SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir

Leia mais

Hashing convencional...

Hashing convencional... Hashing M.C.F. de Oliveira & Cristina Ciferri 2006/2007 Fonte: Folk & Zoelick, File Structures 1 Hashing convencional... Revisão... 2 1 Hashing 0 chave de busca K = LOWELL h(k) endereço 4 1 2 3 4 5...

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas usuário processador de E/S gerador de respostas Uso de Índices na Otimização e Processamento de Consultas Profa. Dra. Cristina Dutra de Aguiar Ciferri analisador controle de autorização verificador de

Leia mais

Profa. Dra. Cecília Dias Flores

Profa. Dra. Cecília Dias Flores Profa. Dra. Cecília Dias Flores Regente pela Disciplina de Bioinformática - Curso de Biomedicina Depto. Ciências Exatas e Sociais Aplicadas Coordenadora do curso Informática Biomédica PPG em Ciências da

Leia mais

Este capítulo possui uma discussão preliminar do contexto biológico necessário para o entendimento e motivação deste trabalho.

Este capítulo possui uma discussão preliminar do contexto biológico necessário para o entendimento e motivação deste trabalho. 17 2 Preliminares Este capítulo possui uma discussão preliminar do contexto biológico necessário para o entendimento e motivação deste trabalho. Na discussão do contexto biológico serão apresentados os

Leia mais

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

Hashing. Hashing. Hashing versus Indexação. Hashing. Hashing convencional... Exemplo de espalhamento. Revisão...

Hashing. Hashing. Hashing versus Indexação. Hashing. Hashing convencional... Exemplo de espalhamento. Revisão... Algoritmos e Estruturas de Dados II Hashing Prof Debora Medeiros Hashing convencional Revisão Adaptado dos Originais de: Maria Cristina F de Oliveira Cristina Ciferri Hashing Exemplo de espalhamento 0

Leia mais

Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures

Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira 2004 Fonte: Folk & Zoelick, File Structures (atualizado 2007 c/ material Profa. Cristina Ciferri) Construção de árvores-b Características Gerais

Leia mais

Principais algoritmos de alinhamento de sequências genéticas. Alexandre dos Santos Cristino

Principais algoritmos de alinhamento de sequências genéticas. Alexandre dos Santos Cristino Principais algoritmos de alinhamento de sequências genéticas Alexandre dos Santos Cristino http://www.ime.usp.br/~alexsc e-mail: alexsc@ime.usp.br Definição de alinhamento de sequências Comparação de duas

Leia mais

Métodos de Busca Parte 1

Métodos de Busca Parte 1 Métodos de Busca Parte 1 Introdução à Ciência da Computação II Prof. Diego Raphael Amancio Baseado no material do Prof. Rudinei Goularte e do Prof. Thiago A. S. Pardo Introdução Importância em estudar

Leia mais

Busca em Regiões Ortogonais

Busca em Regiões Ortogonais Busca em Regiões Ortogonais Claudio Esperança Paulo Roma 1 O problema O problema O problema consiste em recuperar objetos tipicamente pontos que intersectam ou estão contidos numa região simples do espaço

Leia mais

Pré-Processamento de Documentos

Pré-Processamento de Documentos Pré-Processamento de Documentos Introdução Pré-Processamento : Análise léxica; Stopwords; Stemming; Vocabulário; Thesaurus Compressão: Fundamentos; Método Estatístico; Método Dicionário; Arquivos Invertidos

Leia mais

Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b.

Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b. Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Algoritmos e Estruturas de Dados II docente Profa. Dra. Cristina Dutra de

Leia mais

ANÁLISE DE TANDEM REPEATS CODIFICANTES EM GENOMAS BACTERIANOS

ANÁLISE DE TANDEM REPEATS CODIFICANTES EM GENOMAS BACTERIANOS 5ª Jornada Científica e Tecnológica e 2º Simpósio de Pós-Graduação do IFSULDEMINAS 06 a 09 de novembro de 2013, Inconfidentes/MG ANÁLISE DE TANDEM REPEATS CODIFICANTES EM GENOMAS BACTERIANOS Vinícius A.

Leia mais

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II Graça Nunes Árvores Binárias Paginadas (Paged Binary Trees) 8 páginas-filhas 7 registros por página (por seek); Árvore de altura 2 e ordem

Leia mais

Árvores B. Árvore B (ou melhor B+)

Árvores B. Árvore B (ou melhor B+) Motivação: pesquisa em disco Árvores B Tempo de acesso a disco determinante nas operações Com disco de 10 ms de tempo de acesso: 100 acessos por segundo em máquina de 25 MIPS, 1 acesso custa tanto como

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Aula 08 Maior Subsequência Comum (LCS) Edirlei Soares de Lima Problema Subsequência: sequência de caracteres não necessariamente contínuos, retirados

Leia mais

Introdução a Bioinformática

Introdução a Bioinformática Pontifícia Universidade Católica de Goiás Departamento de Biologia Disciplina: Bioinformática Bio1015 Introdução a Bioinformática Prof. Macks Wendhell Gonçalves, Msc mackswendhell@gmail.com EMENTA Introdução

Leia mais

1) Escolher e descrever um problema cuja resolução requeira a execução de algoritmos computacionais que não sejam triviais.

1) Escolher e descrever um problema cuja resolução requeira a execução de algoritmos computacionais que não sejam triviais. Universidade Federal do Rio de Janeiro Escola Politécnica MBA em Engenharia de Software EEL 650 Análise e Implementação de Algoritmos Turma ENGSOFT09 Prof. Heraldo L. S. Almeida Trabalho Prático para Avaliação

Leia mais

Aplicação de uma Metaheurística GRASP para o Problema da Árvore de Steiner em Grafos Direcionados

Aplicação de uma Metaheurística GRASP para o Problema da Árvore de Steiner em Grafos Direcionados Aplicação de uma Metaheurística GRASP para o Problema da Árvore de Steiner em Grafos Direcionados Marcelo Lisboa Rocha, Sóstenes Pereira Gomes Departamento de Ciência da Computação Fundação UNIRG Alameda

Leia mais

4 C odigos de Huffman 4.1 Arvores de c odigo folhas os internos n ıvel altura Arvore bin aria arvore bin aria ordenada

4 C odigos de Huffman 4.1 Arvores de c odigo folhas os internos n ıvel altura Arvore bin aria arvore bin aria ordenada 4 Códigos de Huffman 4.1 Árvores de código Numa árvore qualquer, os nós que não têm filhos são chamados de folhas e os demais nós são chamados de nós internos. Se um nó de uma árvore é filho de outro,

Leia mais

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri Tipos de Índices Cristina Dutra de Aguiar Ciferri Tipos de Índice Ordenados em um único nível primário agrupamento (cluster) secundário Estruturas de dados de árvores índices multiníveis árvores-b, árvores-b+

Leia mais

Anotação de genomas II

Anotação de genomas II Anotação de genomas II Anotação de genomas Uma vez descrito a seqüência do genoma de um organismo e realizada a anotação dos genes presentes obtemos uma extensa lista de potenciais transcritos. Como vimos

Leia mais

Identificação de Padrões em Proteínas Utilizando a Ferramenta de Bioinformática CD- Search

Identificação de Padrões em Proteínas Utilizando a Ferramenta de Bioinformática CD- Search 4ª Jornada Científica e Tecnológica e 1º Simpósio de Pós-Graduação do IFSULDEMINAS 16, 17 e 18 de outubro de 2012, Muzambinho MG Identificação de Padrões em Proteínas Utilizando a Ferramenta de Bioinformática

Leia mais

Alinhamentos de Múltiplas Seqüências. Rogério T. Brito Orientador: José A. R. Soares

Alinhamentos de Múltiplas Seqüências. Rogério T. Brito Orientador: José A. R. Soares 1 Alinhamentos de Múltiplas Seqüências Rogério T. Brito Orientador: José A. R. Soares 2 Motivação Problema em Biologia: saber qual é o grau de parentesco entre um conjunto de espécies (construção de árvores

Leia mais

Árvore Binária de Busca Ótima

Árvore Binária de Busca Ótima MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nas seções sobre árvore binária de busca ótima do capítulo 4 do livro N. Wirth. Algorithms

Leia mais

3 Montagem de Fragmentos

3 Montagem de Fragmentos 22 3 Montagem de Fragmentos A montagem de fragmentos é o passo seguinte ao sequenciamento do genoma. É a etapa onde os dados gerados são processados e obtém-se como resposta o mapeamento do genoma. A montagem

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

Programa de Pós-Graduação Stricto Sensu em Biologia Computacional e Sistemas. Seleção de Mestrado 2012-A

Programa de Pós-Graduação Stricto Sensu em Biologia Computacional e Sistemas. Seleção de Mestrado 2012-A Programa de Pós-Graduação Stricto Sensu em Biologia Computacional e Sistemas Seleção de Mestrado 2012-A INSTRUÇÕES (LEIA ATENTAMENTE ANTES DE PREENCHER A PROVA): a. Identifique sua prova unicamente com

Leia mais

heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i<n; i++) { e = x[i]; s = i; f = (s-1)/2;

heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i<n; i++) { e = x[i]; s = i; f = (s-1)/2; heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i0 && x[f]

Leia mais

Implementação de Sistemas de Arquivos. Na Aula Anterior... Esquema do Sistema de Arquivos. Nesta Aula 31/10/2016. Estrutura de Baixo Nível de um Disco

Implementação de Sistemas de Arquivos. Na Aula Anterior... Esquema do Sistema de Arquivos. Nesta Aula 31/10/2016. Estrutura de Baixo Nível de um Disco GSI018 Sistemas Operacionais 31/10/2016 Implementação de Sistemas de Arquivos Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior... Memória

Leia mais

Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino

Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino Presencial e à Distância Seiji Isotani Orientador: Leônidas de Oliveira Brandão Defesa de Mestrado Departamento de Ciência

Leia mais

Prof. Adriano Maranhão COMPILADORES

Prof. Adriano Maranhão COMPILADORES Prof. Adriano Maranhão COMPILADORES LINGUAGENS: INTERPRETADAS X COMPILADAS Resumo: Linguagem compilada: Se o método utilizado traduz todo o texto do programa, para só depois executar o programa, então

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ACESSO, ATRIBUTOS E OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ACESSO, ATRIBUTOS E OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ INTRODUÇÃO À TECNOLOGIA DA OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ INTRODUÇÃO O Sistema de Arquivos é o modo como as informações são armazenadas nos dispositivos físicos de armazenamento, exemplo

Leia mais

O que é um jogo digital?

O que é um jogo digital? O que é um jogo digital? Programa de Computador Dados Algoritmos Para que estudar Estrutura de Dados? Para manipular os dados dos programas usamos os ALGORITMOS e para organizar os dados da melhor forma

Leia mais

SCC Algoritmos e Estruturas de Dados II. 6ª lista de exercícios

SCC Algoritmos e Estruturas de Dados II. 6ª lista de exercícios DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÂO SCC0203 - Algoritmos e Estruturas de Dados II 6ª lista de exercícios Questão 1 Explique a seguinte sentença: Árvores-B são construídas de baixo para cima, enquanto

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Slide 1 Memória Virtual os primeiros computadores (início dos anos 60) tinham memória principal muito reduzida O PDP-1 funcionava com uma memória de 4096 palavras

Leia mais

Teoria dos Grafos Aula 17

Teoria dos Grafos Aula 17 Teoria dos Grafos Aula 17 Aula passada Problema da soma do subconjunto (subset sum) Programação dinâmica Problema da mochila Aula de hoje Alinhamento de sequências Programação dinâmica Caminho mais curto

Leia mais

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática Linguagens Formais Aula 01 - Conceitos Básicos Prof. Othon Batista Mestre em Informática Sumário Introdução à Linguagem Alfabeto Cadeias de Símbolos, Palavras Tamanho de Palavra Prefixo, Sufixo ou Subpalavra

Leia mais

Bioinformática e Genética Animal. Pâmela A. Alexandre Doutoranda

Bioinformática e Genética Animal. Pâmela A. Alexandre Doutoranda Bioinformática e Genética Animal Pâmela A. Alexandre Doutoranda Descoberta da estrutura do DNA» Watson e Crick, 1953 DNA RNA Proteína Projeto Genoma Humano» 1990» 18 países» US$ 2,7 Bi» 13 anos (previsão

Leia mais

Hashing (Tabela de Dispersão)

Hashing (Tabela de Dispersão) Hashing (Tabela de Dispersão) Prof. Marcos Alves 2009-B Roteiro Contextualização Conceitos Básicos Hashing (método de pesquisa) Hashing Perfeito Hashing Imperfeito Colisões Métodos de Tratamento de Colisões

Leia mais

Gerenciamento de Anotações de Biosseqüências utilizando Associação entre Ontologias e Esquemas XML

Gerenciamento de Anotações de Biosseqüências utilizando Associação entre Ontologias e Esquemas XML Gerenciamento de Anotações de Biosseqüências utilizando Associação entre Ontologias e Esquemas XML Mestrando: Marcus Vinícius Carneiro Teixeira Orientador: Prof. Dr. Mauro Biajiz Co-orientador: Prof. Dr.

Leia mais

Bioinformática. iphy Sistema de Apoio à filógenética para a análise de supermatrizes. Trabalho realizado por: João Pedro Teixeira

Bioinformática. iphy Sistema de Apoio à filógenética para a análise de supermatrizes. Trabalho realizado por: João Pedro Teixeira Bioinformática iphy Sistema de Apoio à filógenética para a análise de supermatrizes Trabalho realizado por: João Pedro Teixeira 1 Bioinformática Objectivo do trabalho Análise de um artigo sobre um software

Leia mais

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP 1 Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 2 Introdução http://www.formula-um.com/ Como

Leia mais

INF Projeto de Banco de Dados Plano de ensino

INF Projeto de Banco de Dados Plano de ensino INF01006 - Projeto de Banco de Dados Plano de ensino Carlos A. Heuser 2009/1 1 Identificação Nome do departamento: Informática Aplicada Nome da atividade de ensino: INF01006 - Projeto de Banco de Dados

Leia mais

Gerência do Sistema de Arquivos. Adão de Melo Neto

Gerência do Sistema de Arquivos. Adão de Melo Neto Gerência do Sistema de Arquivos Adão de Melo Neto 1 Gerência do Sistema de Arquivos Organização de arquivos Operações de E/S Estrutura de diretórios Gerência de espaço livre Gerência de alocação de espaços

Leia mais

Hashing: conceitos. Hashing

Hashing: conceitos. Hashing Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado

Leia mais

Algoritmo CLIQUE (Clustering In QUEst)

Algoritmo CLIQUE (Clustering In QUEst) Algoritmo CLIQUE (Clustering In QUEst) Marcelo Camacho de Souza Nº USP: 3199616 Roteiro Algoritmo CLIQUE Exemplo Prático Complexidade Computacional Vantagens e Desvantagens Autores (IBM Almaden Research

Leia mais

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 1 2 Introdução Evolução natural http://www.formula-um.com/

Leia mais

Árvores Genéricas de Busca

Árvores Genéricas de Busca Árvores Genéricas de Busca Árvores não binárias também podem ser usadas para buscar elementos. Essas árvores são chamadas de árvores genéricas de busca, e elas podem ser de dois tipos: árvore de busca

Leia mais

Inteligência Artificial - IA

Inteligência Artificial - IA Busca sem informação Estratégias para determinar a ordem de expansão dos nós: 1. Busca em extensão 2. Busca de custo uniforme 3. Busca em profundidade 4. Busca com aprofundamento iterativo Direção da expansão:

Leia mais

Aula 31: Encadeamento exterior. Modelo de encadeamento exterior. Complexidade do encadeamento exterior

Aula 31: Encadeamento exterior. Modelo de encadeamento exterior. Complexidade do encadeamento exterior 31.1 Aula 31: Encadeamento exterior Conceito de encadeamento Modelo de encadeamento exterior Complexidade do encadeamento exterior 31.2 Introdução Recordando: uma colisão ocorre quando duas chaves diferentes

Leia mais

BANCO DE DADOS BIOLÓGICOS Aula 11

BANCO DE DADOS BIOLÓGICOS Aula 11 BANCO DE DADOS BIOLÓGICOS Aula 11 Estudo dirigido 1. O que fazer com uma sequência de DNA? 2. Bancos de dados públicos e internacionais: GenBank, ENA, DDBJ; 3. NCBI; EMBL; DDBJ; 4. Sequências completas

Leia mais

6 Inserção Seletiva de Nulos

6 Inserção Seletiva de Nulos 6 Inserção Seletiva de Nulos 6.1 Introdução Neste capítulo será apresentado o algoritmo ADDNULLS - Inserção Seletiva de Nulos. Este algoritmo usa a técnica da esteganografia para esconder os símbolos codificados

Leia mais

Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos

Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos Teobaldo L. Bulhões Júnior a a Instituto de Computação, Universidade Federal Fluminense, Niterói, RJ, Brazil

Leia mais

Gerenciamento de Memória

Gerenciamento de Memória Gerenciamento de Memória Prof. Clodoaldo A. Moraes Lima 1 int a; p1 ( ) { int b; int *c; a = b +1; c = malloc (sizeof(int));... } int main ( ) {... } Pilha O que é memória? Pilha Dados Texto Endereço Max

Leia mais

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal

Leia mais

MODELOS PROBABILÍSTICOS

MODELOS PROBABILÍSTICOS Disciplina de BIOLOGIA COMPUTACIONAL Mestrado em ENGENHARIA BIOMÉDICA 4º Ano, 1º Semestre 2007/08 MODELOS PROBABILÍSTICOS Relatório 4 Ana Calhau Ângela Pisco Nuno Santos 54605 55748 55746 Palavras-Chave:

Leia mais

Construção de árvores-b. Árvores-B (Parte II) Características Gerais. Características Gerais. Leandro C. Cintra M.C.F. de Oliveira

Construção de árvores-b. Árvores-B (Parte II) Características Gerais. Características Gerais. Leandro C. Cintra M.C.F. de Oliveira Árvores-B (Parte II) Construção de árvores-b Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Características Gerais Organizar e manter um índice para um arquivo de acesso aleatório

Leia mais

Algoritmos e Estruturas de Dados II. Ordenação Externa II. Ordenação Externa. Ordenação Externa. Ordenação Externa

Algoritmos e Estruturas de Dados II. Ordenação Externa II. Ordenação Externa. Ordenação Externa. Ordenação Externa Algoritmos e Estruturas de Dados II Ordenação Externa II Prof. Ricardo J. G. B. Campello As análises dos métodos de ordenação tradicionais se preocupam basicamente com o tempo de execução dos algoritmos

Leia mais

Sistemas de Arquivos. (Aula 23)

Sistemas de Arquivos. (Aula 23) Sistemas de Arquivos (Aula 23) Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais 2008/1 Necessidade de Armazenamento

Leia mais

Universidade Estadual de Maringá - UEM

Universidade Estadual de Maringá - UEM Universidade Estadual de Maringá - UEM Disciplina: Biologia Molecular 6855 T1 e T2 Ciências Biológicas Transcriptoma metodologia ORESTES Profa. Dra. Maria Aparecida Fernandez Estratégia ORESTES ESTs de

Leia mais

Linguagens Regulares. Prof. Daniel Oliveira

Linguagens Regulares. Prof. Daniel Oliveira Linguagens Regulares Prof. Daniel Oliveira Linguagens Regulares Linguagens Regulares ou Tipo 3 Hierarquia de Chomsky Linguagens Regulares Aborda-se os seguintes formalismos: Autômatos Finitos Expressões

Leia mais

Complexidade de Tempo e Espaço

Complexidade de Tempo e Espaço Complexidade de Tempo e Espaço Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Complexidade de Tempo e Espaço junho - 2018 1 / 43 Este material é preparado usando

Leia mais

Introdução Métodos de Busca Parte 1

Introdução Métodos de Busca Parte 1 Introdução Métodos de Busca Parte 1 SCC-201 Introdução à Ciência da Computação II Rosane Minghim 2009 Importância em estudar busca Busca é uma tarefa muito comum em computação? Vários métodos e estruturas

Leia mais

Curso de Data Mining. Sandra de Amo. Aula 18 - Mineração de padrões em caminhos percorridos por usuários da Internet

Curso de Data Mining. Sandra de Amo. Aula 18 - Mineração de padrões em caminhos percorridos por usuários da Internet Curso de Data Mining Sandra de Amo Aula 18 - Mineração de padrões em caminhos percorridos por usuários da Internet Nesta aula vamos tratar do problema de mineração de caminhos percorridos por usuários

Leia mais

Teoria dos Grafos Aula 3

Teoria dos Grafos Aula 3 Teoria dos Grafos Aula 3 Aula passada Exemplo (mapas) Definições Algumas propriedades Aula de hoje Representando grafos Matriz e lista Comparando tempos de acesso Grafo G=(V, E) Grafo V = conjunto de vértices

Leia mais

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Algoritmos Genéticos Aula I Introdução Roteiro Introdução Computação Evolutiva Algoritmos

Leia mais

Hashing externo. Graça Nunes. Fonte: Folk & Zoelick, File Structures

Hashing externo. Graça Nunes. Fonte: Folk & Zoelick, File Structures Hashing externo Graça Nunes Fonte: Folk & Zoelick, File Structures 1 Hashing convencional... Revisão... 2 Hashing 0 1 chave de busca K = LOWELL 2 h(k) endereço 4 3 4 LOWELL... endereço gerado pela função

Leia mais

Tabelas de hash Acabamos de estudar como implementar uma tabela hashing aberta e estudaremos agora como implementar uma tabela hashing fechada ou

Tabelas de hash Acabamos de estudar como implementar uma tabela hashing aberta e estudaremos agora como implementar uma tabela hashing fechada ou Tabelas de hash Acabamos de estudar como implementar uma tabela hashing aberta e estudaremos agora como implementar uma tabela hashing fechada ou também denominada de tabela hashing com endereçamento aberto.

Leia mais

Índice Bitmap. Aluno: Carlos Henrique Villa Pinto Orientador: Ricardo Rodrigues Ciferri Colaboradora: Renata Miwa Tsuruda

Índice Bitmap. Aluno: Carlos Henrique Villa Pinto Orientador: Ricardo Rodrigues Ciferri Colaboradora: Renata Miwa Tsuruda Índice Bitmap Aluno: Carlos Henrique Villa Pinto Orientador: Ricardo Rodrigues Ciferri Colaboradora: Renata Miwa Tsuruda Tópicos Índices Índice bitmap Definição, vantagens e desvantagens. Codificação Codificação

Leia mais

Banco de Dados Biológicos

Banco de Dados Biológicos Pontifícia Universidade Católica de Goiás Departamento de Biologia Disciplina: Bioinformática Bio1015 Banco de Dados Biológicos Prof. Macks Wendhell Gonçalves, Msc mackswendhell@gmail.com INTRODUÇÃO BANCO

Leia mais

18/08/2015. Capítulo 1: Armazenamento de dados. Bits e padrões de Bit. Capítulo 1: Armazenamento de Dados

18/08/2015. Capítulo 1: Armazenamento de dados. Bits e padrões de Bit. Capítulo 1: Armazenamento de Dados Capítulo 1: Armazenamento de Dados Ciência da Computação: Uma visão abrangente 11ª edição Autor J. Glenn Brookshear Editora Bookman Copyright 2012 Pearson Education, Inc. Capítulo 1: Armazenamento de dados

Leia mais

Estruturas de Dados Tabelas de Espalhamento

Estruturas de Dados Tabelas de Espalhamento Estruturas de Dados Tabelas de Espalhamento Prof. Eduardo Alchieri (introdução) Uma estrutura como, as árvores binárias de busca, que trabalhe na ordem de log n é muito eficiente, mas em algumas situações

Leia mais