Bibliografia e elementos de estudoTopObjectivos, programa, docente

Objectivos, programa, docente

Objectivos

  Pretende-se que o aluno

  - Comprenda a relação entre o desenho, a prova da correcção e a
    análise dos algoritmos

  - Aprenda algumas técnicas gerais que lhe sejam úteis na
    implementação de novos algoritmos. 

  - Fique a conhecer alguns dos principais algoritmos numa
    pequena selecção de domínios específicos

Programa dado

Todo o programa previsto com excepção do Capítulo 09 (transformada discreta de Fourier e FFT)


Programa previsto
01  Preliminares: fundamentos da análise de algoritmos
        Ordens de grandeza
        Solução de recorrências
        Um exemplo de análise de um algoritmo

02  Tempo de execução dos algoritmos - complementos
        Sobre os modelos de computação
        Análise amortizada de algoritmos

03  Sobre o esquema "Dividir para Conquistar"
        Uma recorrência associada ao esquema "dividir para conquistar"
        Multiplicar mais rapidamente inteiros e matrizes

04  Algoritmos aleatorizados e classes de complexidade aleatorizadas
        Um problema de coloração
        O produto de duas matrizes iguala uma terceira?
        O "quick sort"
        Técnica de redução da probabilidade de erro
        Outro algoritmo aleatorizado: o algoritmo de Rabin-Miller
        Computação aleatorizada: classes de complexidade

05  Sobre a ordenação e a selecção
        Quando o universo é pequeno: indexação nos valores
        Métodos de ordenação baseados na representação dos valores
        "Tries"
        Mediana; selecção

06  Introdução aos circuitos; redes de ordenação
        Circuitos
        Classes de complexidade associadas ao modelo dos circuitos
        Redes de comparação e redes de ordenação

07  "Hash" universal e perfeito
        "Hash" universal: aleatorização do "hash"
        "Hash" perfeito
        Contar o número de elementos distintos

08  Programação Dinâmica: complementos
        Introdução, princípio de Bellman
        Parentização óptima de um produto matricial
        Máxima sub-sequência comum
        Problema da mochila ("knapsack problem")

09  Transformada discreta de Fourier e FFT
        Transformações de representação, generalidades
        Polinómios em corpos. Representações
        Análise da eficiência do algoritmo FFT

10  Notas sobre minorantes de complexidade                                                         43
        Entropia, informação e minorantes de complexidade
        Aplicação a algoritmos baseados em comparações: 
          algoritmos de ordenação, de determinação do máximo 
          e algoritmo "merge"

Docente: Armando Matos, email: acm@ncc.up.pt


Bibliografia e elementos de estudoTopObjectivos, programa, docente