MO640 – Biologia Computacional
Ata de Exercícios (13/09/2004)
Autor: Danilo L. Benzatti – RA: 980942.
Os exercícios desta aula se encontram em:
Setubal e Meidanis 1997 - SETUBAL, J. C.; MEIDANIS, J. Introduction
to
Computational Molecular Biology. PWS Publishing Company, 1997.
Capítulo1,
páginas 43 e 44.
6. Mostre a matriz de adjacência e a lista de adjacência para os
grafos
da figura 2.1.
R.:
Grafo 1
|
1 |
2 |
3 |
4 |
5 |
6 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
2 |
1 |
0 |
1 |
1 |
0 |
0 |
3 |
1 |
1 |
0 |
0 |
0 |
0 |
4 |
0 |
1 |
0 |
0 |
0 |
0 |
5 |
0 |
0 |
0 |
0 |
0 |
1 |
6 |
0 |
0 |
0 |
0 |
1 |
0 |
1 : 2 , 3
2 : 1 ,
3 , 4
3 : 1 , 2
4 : 2
5 : 6
6 : 5
Grafo 2
|
1 |
2 |
3 |
4 |
5 |
1 |
0 |
0 |
0 |
0 |
0 |
2 |
0 |
0 |
0 |
0 |
0 |
3 |
1 |
1 |
0 |
0 |
0 |
4 |
0 |
0 |
0 |
0 |
0 |
5 |
1 |
1 |
1 |
1 |
0 |
1
2
3 : 1 , 2
4
5 : 1 ,
2 , 3 , 4
8. Sejam dois algoritmos A1 e A2
para um mesmo problema cujo tamanho é definido pelo parâmetro n. Se A1
roda em O(n/log(n)) e A2 roda
em O(sqrt(n)) qual é o mais rápido assintoticamente.
R.:
Dividindo a complexidade de
A1
pela de A2, pode-se demostrar que o fator multiplicativo
tende
a infinito. Logo, A2é mais rápido.
9. Sabe-se que um grafo é Euleriano se e somente se ele é conexo e todos os vértices tem grau par. Baseado nesta observação, proponha um algoritmo que encontre um ciclo Euleriano em um grafo se o ciclo existir.
Usando a notação do livro temos:
ciclo
<- lista contendo um vértice qualquer do grafo enquanto
houver v que pertence a ciclo com d(v) > 0 faça
ref <- v enquanto houver vizinho u de
v diferente de ref faça
apaga (u,v) do grafo
insere v em ciclo na posição anterior a ref
v <- u fim insere v no ciclo na posição
anterior a ref apaga aresta(v,ref) fim retorna os elementos do ciclo em ordem |
14. Suponha um problema X de complexidade desconhecida. Você obtém uma redução de tempo polinomial de X a um problema NP-completo conhecido. O que pode-se afirmar sobre a complexidade de X?
R.:
X
pertence à NP porque existe um algoritmo não
determinístico em tempo polinomial para resolvê-lo.
Obs: Pare este
exercício foi admitido que reduções são sempre polinomiais.