Você está na página 1de 5

Resumo da Matria para a Terceira Prova Prova de Anlise de Algoritmos

Programao Dinmica
Introduo: Tcnica de resoluo de problemas por meio da diviso em subproblemas que so calculados de forma bottom-up. Ocorre o armazenamento de solues para evitar o retrabalho. Passos para a Utilizao da Programao Dinmica: 1. Determinar a Subestrutura tima Mostrar que a soluo tima do problema contm solues timas para os subproblemas. 2. Determinar a Recorrncia que Calcula a Soluo tima 3. Especificar um Algoritmo que realiza o clculo da Soluo tima 4. (Opcional) Montar um algoritmo que apresente a soluo tima. Caractersticas que possibilitam a utilizao da Programao Dinmica: 1. Subestrutura tima Deve ser possvel mostrar que a soluo tima constituda de solues timas para os subproblemas. Utiliza-se a prova por contradio. 2. Interseo de Subproblemas Com isto, indica-se que o nmero de subproblemas pequeno, no sentido de que um algoritmo recursivo resolve o mesmo subproblema mais de uma vez. Considera-se que este nmero pequeno de ordem polinomial.

Algoritmos em Grafos
Introduo: Algoritmos baseados na estrutura grafo. Grafos costumam ser representados por Matriz de Adjacncias ou Lista de Adjacncias. Dicas: 1. O caminho entre dois vrtices encontrado pela busca em largura a que tem menor quantidade de vrtices intermedirios.

Trabalhos com Algoritmos Aproximados


Os trabalhos que sero cobrados na prova so: Empacotamento: Descrio Geral Introduo: O Problema do Empacotamento consiste de inserir um conjunto S de objetos em pacotes de capacidade P da melhor maneira possvel. (Nenhum objeto de S usa mais que P unidades de capacidade) Por melhor forma possvel entende-se que a capacidade dos pacotes usados tenha sido desperdiada o mnimo possvel, ou mesmo usar a menor quantidade de pacotes que for possvel.

Empacotamento: First Fit


Introduo: A abordagem First Fit realiza o empacotamento de objetos pela seguinte poltica: Verifica cada um dos pacotes j existentes em busca de um capaz de conter o objeto atual. Inserir o objeto atual no primeiro Pacote encontrado que o caiba. Alocar um novo pacote caso nenhum pacote j existente tenha capacidade para conter o objeto.

Empacotamento: Best Fit


Introduo: A abordagem Best Fit realiza o empacotamento de objetos pela seguinte poltica: Verifica cada um dos pacotes j existentes em busca daqueles capazes de conter o objeto atual e, dentre estes, escolher aquele cuja capacidade restante o mais prxima possvel do requerido pelo objeto. Inserir o objeto atual em tal pacote, se existir. Caso contrrio, alocar um novo pacote para conter o objeto.

Empacotamento: Next Fit


Introduo: A abordagem Next Fit realiza o empacotamento de objetos pela seguinte poltica: Desconsiderar os Pacotes preexistentes, exceto pelo ltimo deles. Inserir o objeto atual neste pacote caso seja capaz de cont-lo. Caso contrrio, alocar um novo pacote para conter o objeto.

Emapacotamento Zhang
Introduo: Primeiro, necessrio separar os itens(tamanho mximo igual a 1) da entrada entre os que so muito grandes e muito pequenos. Os itens com tamanho maior do que 0,5 so considerados grandes. Cada item grande ser empacotado em uma caixa diferente, e essas caixas sero consideradas pacotes abetos. Os objetos restantes(pequenos), sero empacotados na ordem que os mesmos aparecem. Se o pacote estiver aberto, tentar empacotar o primeiro item no primeiro pacote aberto, caso o item no se encaixar, este pacote ser fechado e tenta-se encaix-lo no prximo pacote. Se o item no se encaixar em nenhum pacote, ser aberto um novo pacote e encaixa o item nesse pacote. Empacotamento: Exponencial Introduo: Independente da Heurstica utilizada, cada diferente ordem de apresentao dos elementos de S para o algoritmo gera um empacotamento de diferentes caractersticas. Logo, presume-se que encontrar a melhor ordem, ou seja, a que gera o melhor empacotamento, envolve testar todas as possveis ordens de objetos de S. Tal procedimento corresponde a encontrar todas as permutaes dos elementos de S, uma operao de natureza exponencial.

Escalonamento de Processos: Descrio Geral


Introduo: O Problema do Escalonamento de Processos consiste de, para conjuntos M = {M1, ..., MK} de mquinas e P = {P1, ..., PN} de processos, encontrar a melhor distribuio dos Processos de P entre as mquinas de M. Por melhor distribuio possvel entende-se que o tempo de processamento das mquinas foi o mais balanceado possvel, e consequentemente, o tempo de processamento da mquina mais utilizada o menor possvel.

Escalonamento de Processos: Heurstica Gulosa I

Introduo: A heurstica bsica para o Escalonamento de Processos consiste de: Para cada processo de P a ser alocado, realizar seu processamento na mquina de M que estiver com menor tempo de uso acumulado. A qualidade do resultado desta heurstica dependente da ordem de apresentao dos processos no conjunto P.

Escalonamento de Processos: Heurstica Gulosa II


Introduo: A heurstica melhorada para o Escalonamento de Processos consiste de: Ordenar os elementos de P de forma decrescente em relao ao tempo de processamento necessrio. Em seguida, fazer uso da heurstica bsica para escalonar os processos de P nas mquinas de M. Na maioria das vezes o resultado desta heurstica avanada melhor que o obtido na bsica, havendo excees. (Notar que o tempo do algoritmo ser dominado pelo custo da ordenao, ( log )). Escalonamento de Processos: Exponencial Introduo: Independente da Heurstica utilizada, cada diferente ordem de apresentao dos elementos de P para o algoritmo gera um escalonamento de diferente qualidade. Logo, presume-se que encontrar a melhor ordem, ou seja, a que gera o melhor escalonamento, envolve testar todas as possveis ordens de processos de P. Tal procedimento corresponde a encontrar todas as permutaes dos elementos de P, uma operao de natureza exponencial. Cobertura de Vrtices: Descrio Geral Introduo: Tem-se um Grafo G = (V, E), sendo V um conjunto de vrtices e E um conjunto de arestas. Deseja-se encontrar V, o menor subconjunto possvel de V, tal que para cada aresta de E, esta aresta incide em, pelo menos, um vrtice de V. Trata-se, ento, de um problema de minimizao de V.

Cobertura de Vrtices: Heurstica Gulosa Introduo: Tem-se um Grafo G = (V, E), e recebida uma ordenao arbitrria das arestas de E, denotada por E. So inicializados dois conjuntos vazios, o conjunto de vrtices C e o conjunto de arestas A. Para cada aresta e = (u, v) de E, h duas possibilidades: 1. u e v no fazem parte de C: Neste caso, incluir u e v em C, bem como incluir e em A. 2. u ou v no faz parte de C: Neste caso, ignore a aresta e continue a anlise das arestas de E. Ao final do procedimento, tem-se uma cobertura de vrtices em C.

Você também pode gostar