PUC-Rio
Departamento de Informática
Prof. Marcus Vinicius S. Poggi de Aragão
Período: 2004.2
Horário: 3as-feiras e 5as-feiras de 11 às 13 horas - Sala 774L
PROJETO E ANÁLISE DE ALGORITMOS (INF 2926)
Objetivos:
-
Desenvolver a capacidade de avaliar a complexidade e
a qualidade dos algoritmos propostos para um determinado
problema.
- Estudar os algoritmos básicos para as classes mais
importantes de problemas tratados em computação.
- Compreender a importância da implementação e a sensibilidade
do comportamento dos algoritmos à ela.
- Conhecer as potencialidades e as limitações do conhecimento
algorítmico atual.
- Discutir as tendências da pesquisa na área.
CONTEÚDO
- Parte I Análise de Algoritmos
· Complexidade de Algoritmos: estimativa do tempo de
processamento, crescimento assintótico, notação, somas e relação
de recorrência, divisão e conquista, análise amortecida.
· Algoritmos de busca e ordenação: árvores de busca,
heaps, união e busca, hashing, busca binária, ordenação
por inserção, ordenação por intercalação, ordenação rápida,
ordenação por caixas.
· Algoritmos em grafos: caminhamento, caminhos
eulerianos, caminho mais curto, árvores geradoras, componentes
conexos, caminhos hamiltonianos, cortes, fluxos em redes.
· Estruturas de dados avançadas:
árvores AVL, árvores vermelho-e-preta, Listas de prioridade
(heaps), d-heaps, heap binomial, heap de Fibonacci.
·Métodos básicos: programação dinâmica,
método guloso, matróides, enumeração explícita e implícita.
- Parte II Teoria da Complexidade
· Redução e NP-completude: redução, reduções
polinomiais, máquinas de Turing, não-determinismo, teorema de
Cook, NP-completude, provas de NP-completude,
hierarquia em complexidade computacional.
- Parte III Tratamento de Problemas NP-completos.
· Técnicas e Conceitos Básicos: algoritmos
aproximados, algoritmos aproximativos, garantia de qualidade, busca
heurística, algoritmos heurísticos × algoritmos exatos,
enumeração implícita e branch-and-bound, paralelismo.
BIBLIOGRAFIA
-
T.H. Cormen, C.E. Leiserson e R.L. Rivest, Introduction
to Algorithms, McGraw-Hill, New York, 1990.
-
T.H. Cormen, C.E. Leiserson, R.L. Rivest e C. Stein, Introduction
to Algorithms, Second edition, The MIT Press, Boston, 2001.
-
J. Kleinberg e E. Tardos, Algorithm Design, Addison Wesley, New York, 2005.
-
M. Garey e D. S. Johnson,Computers and
Intractability: A Guide to the Theory of NP-Completeness
W.H.Freeman and Company, 1979.
-
U. Manber, Algorithms: A Creative Approach,
Addison-Wesley, 1989.
-
R.K. Ahuja, T.L. Magnanti e J.B.Orlin,
Network Flows, Prentice Hall, 1993.
-
A. Aho e J. Ullman, Foundations of Computer Science,
Freeman, 1992.
-
R.E. Tarjan, Data Structures and Network Algorithms,
SIAM, 1983.
-
E. Horowitz e S. Sahni, Fundamentals of Computer Algorithms,
Computer Science Press, 1978-89.
-
G. Brassard e P. Bratley, Algorithmics: Theory and Practice, Prentice-Hall, 1988.
-
C. Papadimitriou e K. Steiglitz,
Combinatorial Optimization: Algorithms and Complexity, Prentice Hall, 1982.
-
R. Sedgewick,Algorithms,
Addison-Wesley, 1988.
-
D. Knuth, Fundamental Algorithms,
Addison-Wesley Publishing Company, 1968-73.
-
D. Harel, Algorithmics: The Spirit of Computing,
Addison-Wesley, 1987.
-
S. Baase, Computer Algorithms,
Addison-Wesley, 1988.
-
S. Pemmaraju e S. Skiena, Computational Discrete Mathematics,
Cambridge University Press, 2003.
-
C. Papadimitriou,
Computational Commplexity, Addison Wesley, 1994.
-
S.B. Maurer e A. Ralston, Discrete Algorithmic
Mathematics, Addison-Wesley, 1991.
-
A. Aho, J. Hopcroft e J. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, 1974.
-
F.S. Roberts, Applied Combinatorics,
Prentice-Hall, 1989.
AVALIAÇÃO
Serão realizadas três provas (graus P1, P2 e PF), dois trabalhos
práticos (graus T1 e T2) e listas (4 ou 5) de exercícios. O critério de aprovação é:
| G1 = |
| 3P1 +3P2 +5PF +2T1 +3T2 +2ML |
|
| 18 |
|
³ 6
|
onde ML é a média das 4 maiores notas entre as listas entregues.
Datas:
P1 - 10/4 2a. feira 11-13;
P2 - 8/5 2a. feira 11-13;
PF - 5/7 4a. feira 11-13;
T1 - 31/5 4a. feira (disponível dia 20/3);
T2 - 14/7 6a. feira (disponível dia 31/5).
This document was translated from LATEX by HEVEA.