BCC Projeto e Análise de Algoritmos Aula 0: Apresentação

Documentos relacionados
BCC Projeto e Análise de Algoritmos Aula 0: Apresentação

TEORIA: 60 LABORATÓRIO: 0

Introdução Paradigmas

Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista ( )

Projeto e Análise de Algoritmos

Paradigmas de Projetos de Algoritmos

Projeto e Análise de Algoritmos. Prof. Ruy Luiz Milidiú

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

Abordagens para Resolução de Problemas

Tópicos Avançados em Algoritmos

Projeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (DPV 5; CLRS 4)

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

Algoritmos para Automação e Sistemas

Programa Analítico de Disciplina SIN213 Projeto de Algoritmos

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Técnicas de Projeto de Algoritmos

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia. 23 de Março de 2018

Projeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (5)

(P AA) 2 PACOTE DE APOIO A APRENDIZAGEM DE PROJETO E ANÁLISE DE ALGORITMOS: IMPLEMENTAÇÃO EM JAVA

Backtracking. Túlio Toffolo Marco Antônio Carvalho BCC402 Aula 10 Algoritmos e Programação Avançada

Projeto e Análise de Algoritmos

SCC-501 Introdução à Ciência de Computação II

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Otimização Combinatória - Parte 4

Projeto e Análise de Algoritmos Aula 1: Panorama (0.1,0.2)

Tópicos em Algoritmos. André Guedes

SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019

Redução de Cook-Levin e Considerações Finais

SCC-201 Introdução à Ciência de Computação II

Teoria da Computação. Complexidade computacional classes de problemas

BCC202 - Estrutura de Dados I

Solução de Recorrências

QUESTÕES DE PROVAS ANTIGAS

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

Algoritmos de Ordenação. Cota inferior. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

Desenho e Análise de Algoritmos

Teoria da Complexidade Computacional

Divisão e conquista. Eficiência de divisão e conquista

Análise de Algoritmos Parte 4

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia

PCC104 - Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos

Teoria dos Grafos Aula 7

Projeto e Análise de Algoritmos

Problemas de otimização

Análise e Síntese de Algoritmos. Programação Dinâmica CLRS, Cap. 15

Algoritmos Combinatórios: Backtracking com Bounding

ALGORITMOS AVANÇADOS UNIDADE I Análise de Algoritmo - Notação O. Luiz Leão

Divisão e conquista. Há divisão quando o algoritmo tem pelo menos 2 chamadas recursivas no corpo

3. Resolução de problemas por meio de busca

Projeto e Análise de Algoritmos

Ordenação: MergeSort. Prof. Túlio Toffolo BCC202 Aula 14 Algoritmos e Estruturas de Dados I

Divisão e Conquista. Fernando Lobo. Algoritmos e Estrutura de Dados II. É uma técnica para resolver problemas (veremos outras técnicas mais adiante).

PLANO DE DISCIPLINA DISCIPLINA: Estrutura de Dados 2

Algoritmo. Exemplo. Definição. Programação de Computadores Comparando Algoritmos. Alan de Freitas

Rascunho. CI165 - Análise de algoritmos (rascunho alterado constantemente) André Guedes Departamento de Informática UFPR. 7 de dezembro de 2016

Rascunho. CI165 - Análise de algoritmos (rascunho alterado constantemente) André Guedes Departamento de Informática UFPR. 11 de junho de 2017

Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo

Recursividade, Tentativa e Erro

Teoria dos Grafos Aula 18

Prof. Marco Antonio M. Carvalho

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Projeto e Análise de Algoritmos

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1

Estruturas de Dados Apresentação da Disciplina

MCTA028 Programação Estruturada Aula 20 Exercícios de custos de um algoritmo

Programação Inteira Resolução por Branch and Bound

Aula 13: Branch-and-bound

Desenho e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto de Algoritmos Programação Dinâmica. Prof. Humberto Brandão

Algoritmos 3/17/ Algoritmos como área de estudo e investigação

Análise e Projeto de Algoritmos

Árvore Geradora Mínima

Algoritmo e Introdução a Programação. Prof. Josino Rodrigues

Estruturas de Dados. Pedro Ribeiro 2017/2018 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/ / 16

Introdução à Lógica de Programação

Programação Dinâmica. Prof. Anderson Almeida Ferreira

Análise e Complexidade de Algoritmos

Teoria da Computação: Aplicações e Problemas de Investigação. Marco Antonio de Castro Barbosa

Classes, Herança e Interfaces

Matemática Discreta. SLIDE 1 Professor Júlio Cesar da Silva. site:

Breve Introdução à Complexidade Assintótica de Algoritmos Letícia Rodrigues Bueno

Medida do Tempo de Execução de um Programa

PCC104 - Projeto e Análise de Algoritmos

P, NP e NP-Completo. André Vignatti DINF- UFPR

Abordagens para Problemas Intratáveis

Análise e Complexidade de Algoritmos

Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I

Ordenação: QuickSort. Prof. Túlio Toffolo BCC202 Aula 15 Algoritmos e Estruturas de Dados I

Análise de Algoritmos

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas

Métodos Exatos para PI - Parte 1: Branch-and-Bound

Aula 10: Tratabilidade

Teoria da Computação Aula 8 Noções de Complexidade

Projeto e Análise de Algoritmos Projeto de Algoritmos Programação Dinâmica (continuação) Prof. Humberto Brandão

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

Programação Inteira. Algoritmo Branch-and-Bound (ou enumeração implícita)

Prática 00. Total 04. Pré-requisitos. No. De Créditos 04

Transcrição:

1 BCC 241 - Projeto e Análise de Algoritmos Aula 0: Apresentação DECOM/UFOP 5º. Período - 2012/02 Anderson Almeida Ferreira BCC 241/2012-2

2 Objetivos do curso Dados dois algoritmos, compará-los quanto aos diferentes critérios de desempenho, identificando o melhor; Capacidade para analisar tempo de execução de algoritmos típicos (pior, melhor, médio); Compreensão sobre o significado da notação usada para expressar ordem de complexidade de algoritmos; Dado um problema prático, identificar entre as diversas estratégias estudadas aquela(s) que melhor se aplica(m) e implementá-la(s); Identificação se problema é tratável; Compreensão do princípio básico de cada uma das estratégias e de sua aplicabilidade; Habilidade para implementação dos algoritmos estudados em programas concretos.

BCC 241/2011-2 3 Exemplos aplicações práticas Aplicações práticas de algoritmos estão em toda parte, por exemplo: O projeto do Genoma Humano que tem o objetivo de identificar 100.000 genes no DNA humano, determinando a sequência de 3 bilhões de pares de bases químicas que constituem o DNA, ordenando essas informações em bancos de dados e desenvolvendo ferramentas para analisá-los. A Internet permite a milhões de pessoas em todo o mundo acessarem e recuperarem grandes quantidades de informação. Comércio eletrônico permite bens e serviços serem negociados eletronicamente. Em diversas situações do cotidiano, é importante alocar recursos escarsos da melhor forma possível. Companhia de petróleo. Uma companhia aérea pode querer alocar a sua frota com o mínimo de custo possível.

4 Programa Módulo I Análise e Projeto de Algoritmos para Problemas Tratáveis Função de Complexidade e Notação Assintótica Algoritmos Probabilísticos Dividir para Conquistar Algoritmos Gulosos Programação Dinâmica Módulo II Análise e Projeto de Algoritmos para Problemas Intratáveis Classes de Complexidade: P, NP, NP-completo Redução de Problemas Busca Exaustiva Exploração Inteligente: Backtracking e Branch-and-bound Algoritmos Aproximados

5 Bibliografia Básica: [DPV] Algoritmos, S. Dasgupta, C. Papadimitriou, U. Varizani, 2009. Versão digital disponível. (http://www.cs.berkeley.edu/~vazirani/algorithms.html). [Silva] Projeto e Análise de Algoritmos, Elton Silva, Apostila do Curso, 2010.

6 Calendário Tentativo Dia Tópicos 26/11 1 Apresentação do Curso. 28/11 2 Panorama e Conceitos Básicos. 3/12 3 Medidas de Complexidade (tempo, espaço). Análise Assintótica. 5/12 4 Algoritmos Probabilísticos. Teste de Primalidade 10/12 5 Divisão e Conquista (D&C): Conceitos. Busca Binária. Multiplicação. 12/12 6 D&C e Análise: Teorema Mestre. 17/12 7 D&C e Cota Inferior : MergeSort 19/12 8 Prova 1 14/01 9 D&C e Probabilístico: Medianas, QuickSort 16/01 10 D&C e Empírico: Exponencial, PaaPaa 21/01 11 Gulosos: Conceitos. Árvores Geradoras Mínimas (Kruskal). 23/01 12 Gulosos e Probabilísticos: AGM (Prim & Kruskal), Corte Mínimo. 28/01 13 Gulosos: Huffman, Horn, Mochila. 30/01 14 Programação Dinâmica (PD): Conceitos. DAG. Maior Sequência Crescente. 04/02 15 PD: Maior Sequência Crescente, Distância de Edição. 06/02 16 PD: Mochila, Multiplicação de Cadeia de Matrizes. 18/02 17 Problemas de Busca: Decisão e Otimização. 20/02 18 Prova 2 25/02 19 Classes de Complexidade P e NP. 27/02 20 Problemas NP-Difíceis e NP-Completos 04/03 21 Redução de Problemas 06/03 22 Redução de Problemas 11/03 23 Busca Exaustiva e Busca Exaustiva Inteligente (BEI) 13/03 24 BEI: Backtracking SAT 18/03 25 BEI: Backtracking - N-rainhas 20/03 26 BEI: Mochila com Backtracking e Branch-and-bound 25/03 27 BEI: Branch-and-bound 27/03 28 Algoritmos Aproximados 01/04 29 Algoritmos Aproximados 03/04 30 Revisão 08/04 31 Prova 3 10/04 32 Revisão 15/04 33 Entrega da prova 3 17/04 34 Exame Especial

7 Regras do Jogo - Avaliação Listas (0.5) Trabalhos práticos (2.5) Provas (1.5, 2.5 e 3 = 7)