PUC-Rio
Departamento de Informática
Prof. Marcus Vinicius S. Poggi de Aragão
Período: 2010.2
Horário: 4as-feiras de 13 às 16 horas - Sala 511L
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 e Projeto 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.
· 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, análise amortizada.
·Métodos básicos: programação dinâmica,
método guloso, matróides, enumeração explícita e implícita,
programação linear.
- 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.
· Tratamento de Problemas NP-completos: algoritmos
aproximados, algoritmos aproximativos, garantia de qualidade, busca
heurística, algoritmos heurísticos × algoritmos exatos,
enumeração implícita, backtracking e branch-and-bound, paralelismo.
BIBLIOGRAFIA
-
S. Dasgupta, C. Papadimitriou, e U. Vazirani, Algorithms,
McGraw Hill, New York, 2008. Disponível na URL: http://www.cs.berkeley.edu/ vazirani/algorithms.html
-
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 P3) e dois trabalhos
práticos (graus T1 e T2). O critério de aprovação é:
| G1 = |
| 2P1 +3P2 +3P3 +T1 +2T2 |
|
| 11 |
|
³ 6
|
Datas:
P1 - 15/9 4a. feira 13-16;
P2 - 10/11 4a. feira 13-16;
P3 - 8/12 4a. feira 13-16;
T1 - 3/11 4a. feira (disponível dia 6/10);
T2 - 15/12 6a. feira (disponível dia 10/11).
Os trabalhos práticos devem ser feitos em grupo. Grupos de até quatro alunos para o T1
e grupos de até cinco alunos para o T2.
This document was translated from LATEX by HEVEA.