• Nenhum resultado encontrado

2009 NeyLemke Bioinform´atica

N/A
N/A
Protected

Academic year: 2022

Share "2009 NeyLemke Bioinform´atica"

Copied!
35
0
0

Texto

(1)

Ney Lemke

Departamento de F´ısica e Biof´ısica

2009

(2)

Outline

1

Bibliografia

2

Introduc¸ ˜ao

3

Algoritmos

4

Aplicac¸ ˜ oes

5

Algoritmos Recursivos

6

Tipos de Algoritmos

(3)

Outline

1

Bibliografia

2

Introduc¸ ˜ao

3

Algoritmos

4

Aplicac¸ ˜ oes

5

Algoritmos Recursivos

6

Tipos de Algoritmos

(4)

Bibliografia

JONES, N. C.; PEVZNER, P. A. “An Introduction to

Bioinformatics Algorithms”, Cambridge,The MIT Press, 2004,

435pp.

(5)

Outline

1

Bibliografia

2

Introduc¸ ˜ao

3

Algoritmos

4

Aplicac¸ ˜ oes

5

Algoritmos Recursivos

6

Tipos de Algoritmos

(6)

Introduc¸ ˜ao

Import ˆancia do Racioc´ınio Algoritmico

Compreens ˜ao das id ´eias B ´asicas

Limitac¸ ˜oes e falhas

(7)

Exemplo

Alice e Bob est ˜ao envolvidos em um excitante jogo. Temos duas

pilhas com 10 pedras, cada jogador pode ou retirar uma pedra de

uma pilha ou uma pedra de cada uma das pilhas. Alice comec¸a

jogando e ganha quem retirar a ´ultima pedra.

(8)

An ´alise do Jogo

0 1 2 3 4 5 6 7 8 9 10 0 ∗←∗←∗←∗←∗←∗←∗←∗←∗←∗←∗

↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑

1 ∗←∗←∗←∗←∗←∗←∗←∗←∗←∗←∗

↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑

2 ∗←∗←∗←∗←∗←∗←∗←∗←∗←∗←∗

↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑

3 ∗←∗←∗←∗←∗←∗←∗←∗←∗←∗←∗

↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑

4 ∗←∗←∗←∗←∗←∗←∗←∗←∗←∗←∗

↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑

5 ∗←∗←∗←∗←∗←∗←∗←∗←∗←∗←∗

(9)

An ´alise do Jogo

0 1 2 3 4 5 6 7 8 9 10

0 L W L W L W L W L W L

1 W W W W W W W W W W W

2 L W L W L W L W L W L

3 W W W W W W W W W W W

4 L W L W L W L W L W L

5 W W W W W W W W W W W

6 L W L W L W L W L W L

7 W W W W W W W W W W W

8 L W L W L W L W L W L

9 W W W W W W W W W W W

10 L W L W L W L W L W L

(10)

Outline

1

Bibliografia

2

Introduc¸ ˜ao

3

Algoritmos

4

Aplicac¸ ˜ oes

5

Algoritmos Recursivos

6

Tipos de Algoritmos

(11)

O que ´e um algoritmo

Def. Um algoritmo ´e uma seq ¨u ˆencia de instruc¸ ˜oes que devemos utilizar para resolver um dado problema.

Para podermos descrever um algoritmo em geral fazemos uso de

uma lingugem chamada de pseudo-c ´odigo.

(12)

Atribuic¸ ˜ao

Atribuic¸ ˜ao a ← b

Efeito A vari ´avel a recebe o valor de b.

(13)

Aritm ´etica

Formato a + b, a − b, a/b, a × b

Efeito Realiza a operac¸ ˜ao.

(14)

Condicional

if A is true then B

else

C

end if

(15)

For

for i←b to n do B

end for

(16)

while

while A ´e verdade do B

end while

(17)

Acesso `a vetores

Exemplo:

1:

F

1

← 1

2:

F

2

← 1

3:

for i ← 3 to n do

4:

F

i

← F

i−1

+ F

i−2 5:

end for

(18)

Outline

1

Bibliografia

2

Introduc¸ ˜ao

3

Algoritmos

4

Aplicac¸ ˜ oes

5

Algoritmos Recursivos

6

Tipos de Algoritmos

(19)

Receita de Bolo

1:

P

RE

A

QUECA

F

ORNO

(425)

2:

recheio← B

ATA

R

ECHEIO

(ab ´obora, ac¸ucar, sal, temperos, ovos, leite)

3:

torta ← A

SSENTE

(massa, recheio)

4:

while garfo sai molhado ´e verdade do

5:

C

OZINHE

(pie)

6:

end while

7:

output “Torta Pronta”

8:

return pie

(20)

B ATA R ECHEIO

1:

pote ← Pegue um pote do arm ´ario

2:

A

DICIONE

(ab ´obora, pote)

3:

A

DICIONE

(ac¸ucar, pote)

4:

A

DICIONE

(sal, pote)

5:

A

DICIONE

(temperos, pote)

6:

B

ATA

(pote)

7:

A

DICIONE

(ovos, pote)

8:

A

DICIONE

(leite, pote)

9:

B

ATA

(pote)

10:

recheio← Conte ´udo de pote

11:

return recheio

(21)

Algoritmos Biol ´ ogicos

Helicases se ligam a origem de replicac¸ ˜ao Helicase separa as duas fitas do DNA Ligac¸ ˜ao dos primers

Ligac¸ ˜ao da DNA polimerase a cada uma das fitas do DNA DNA Polimerase complementa de forma cont´ınua uma das fitas DNA Polimerase replica de forma descont´ınua a outra fita DNA ligase repare os buracos na segunda fita

As duas fitas se separam

(22)

Algoritmos para Computadores

C

OPIA

S

TRING

(s,n) for i← 1 to n do

t

i

← s

i

return t

end for

(23)

Exerc´ıcio

Escrevam um algoritmo para escolha de qual revista um paper deve

ser submetido.

(24)

Problema do Troco (USA)

Converter alguma quantidade de dinheiro M no menor n ´umero

poss´ıvel de moedas. Ou seja M = 25q + 10d + 5n + p e

q + d + n + p deve ser m´ınimo.

(25)

U S C HANGE (M)

while M > 0 do

c ← Maior moeda menor ou igual a M Entregue a moeda c ao cliente M ← M − c

end while

(26)

U S C HANGE (M)

1:

r ← M

2:

q ← r /25

3:

r ← r − 25 ∗ q

4:

d ← r /10

5:

r ← r − 10 ∗ d

6:

n ← r/5

7:

r ← r − 5 ∗ n

8:

p ← r

9:

return (q,d,n,p)

(27)

Problema do Troco

Converter alguma quantidade de dinheiro M no menor n ´umero

poss´ıvel de moedas. Considere um vetor de moedas (c

1

, . . . , c

d

) em

ordem descrescente de valor e o troco caracterizado pela lista de

inteiros: (i

1

, . . . , i

d

) Ou seja M = c

1

∗ i

1

+ . . . c

d

∗ i

d

e i

1

+ . . . i

d

deve

ser m´ınimo.

(28)

M ELHOR T ROCO (M,c,d)

1:

r ← M

2:

for k ← 1 to d do

3:

i

k

← r /c

k 4:

r ← r − c

k

∗ i

k 5:

end for

6:

return ( i

1

, . . . i

d

)

(29)

Discuss ˜ao

Algoritmos Corretos

Contra-exemplo: Caso Americano troco para 40 c (moedas:

25,20,10,5,1).

Soluc¸ ˜ao: Procurar por todas as soluc¸ ˜oes e escolher a melhor.

(30)

Outline

1

Bibliografia

2

Introduc¸ ˜ao

3

Algoritmos

4

Aplicac¸ ˜ oes

5

Algoritmos Recursivos

6

Tipos de Algoritmos

(31)

Algoritmos Recursivos

Def. Algoritmos recursivos s ˜ao aqueles que chamam a si mesmos.

Exemplo: Fibonacci Recursivo F

IBONACCI

R

ECURSIVO

if n = 1 ou n = 2 then return 1

else

a ← F

IBONACCI

R

ECURSIVO

(n − 1) b ← F

IBONACCI

R

ECURSIVO

(n − 2) return a + b

end if

(32)

Algoritmos Recursivos e Iterativos

Algoritmos Recursivos podem ser eficazes em tempo de

computac¸ ˜ao, mas em geral s ˜ao gulosos em termos de mem ´oria.

S ˜ao mais dif´ıceis de entender e de “debugar”.

(33)

Outline

1

Bibliografia

2

Introduc¸ ˜ao

3

Algoritmos

4

Aplicac¸ ˜ oes

5

Algoritmos Recursivos

6

Tipos de Algoritmos

(34)

Complexidade dos Algoritmos

Considere um problema caracterizado por um n ´umero n chamado de tamanho do problema.

A complexidade de um algoritmo ´e a depend ˆencia do tempo de computac¸ ˜ao em termos de n. Em geral s ´o queremos saber a complexidade no limite de n grande e consideramos os casos

n ou n log n Problemas lineares e portanto eficientes, exemplos ordenac¸ ˜ao de um vetor.

n

2

Problemas quadr ´aticos mais custosos, mas que podem ser resolvidos exatamente na maioria dos casos de interesse.

n

α

Problemas ditos polinomiais, podem em tese ser resolvidos, mas rapidamente se tornam muito custosos.

Outros Problemas ditos n ˜ao trat ´aveis algoritmicamente, ou

seja a soluc¸ ˜ao exata levaria em muitos casos milhares

(35)

Tipos de Algoritmos

Busca Exaustiva Procura por todos os casos a soluc¸ ˜ao do problema.

Branch and Bound Divide o problema em classes e ataca as classes promissoras.

Divida e Conquiste Estrat ´egia de devidir um problema em partes e atacar cada uma das partes em separaddo.

Algoritmos Aleat ´ orios Utilizam n ´umeros aleat ´orios para propor

soluc¸ ˜oes para problemas (m ´etodo predileto dos

alunos).

Referências

Documentos relacionados

Usando mais um sítio, a análise indicará outra freqüência, permitindo reduzir ainda mais o percentual. Na prática, o uso de cinco a sete sondas gera um valor baixo o suficiente

Entre essas obras, destaco as obras de Sharon Lloyd (1992) e de Bernard Gert (2001) a partir das quais uma tradição alternativa à abordagem ortodoxa surgiu. Essa tradição passou a

1258798 ANTONY LUCAS GOMES ROSA Universal Acesso por cotas/ Renda <= 1,5 s.m./ Indígena, Preto ou Pardo. 1258798 SABRINA FRANCISCA DA ROCHA Universal Acesso por cotas/ Renda

Há muitas mulheres que simplesmente não considerariam fazer sexo com um cara mais velho; elas nunca fantasiaram estar com alguém assim; elas nunca ficaram excitadas por um homem

Muito embora o estatuto do gênero não se mostrasse muito diferente daquele que gozava entre os autores das antologias fundadoras da literatura brasileira, imaginou-se que pudesse,

Seis fontes de coleta de dados para o Estudo de Caso Observação Direta Documentos Registros em arquivos Entrevistas e Levantamentos Artefatos Físicos Observação

GERADO EM 20 DE DEZEMBRO DE 2017 ÀS 17:26 29... ARQUITETURA E URBANISMO

Diretriz 2 - Estimular a Convergência às Normas Internacionais de Contabilidade aplicadas ao Setor Público (IPSAS). A figura I apresentada a seguir também demonstra