Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Geometria Computacional Lista 5, Exercícios de Geometria Computacional

Apostilas de Ciência da Computação da Universidade de São Paulo, Geometria Computacional, Análise de Algoritmos, Exercícios Lista 5

Tipologia: Exercícios

2013

Compartilhado em 03/12/2013

Salamaleque
Salamaleque 🇧🇷

4.5

(113)

201 documentos

1 / 1

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
MAC 338 - An´alise de Algoritmos
Departamento de Ciˆencia da Computa¸ao
Primeiro semestre de 2013
Lista 5
1. Mostre um exemplo para cada um dos trˆes primeiros crit´erios gulosos apresentados para o problema da cole¸ao
axima de intervalos disjuntos visto em aula que prove que o algoritmo obtido usando estes crit´erios pode
produzir um conjunto de intervalos disjuntos que ao ´e aximo.
2. Considere o algoritmo visto em aula para o problema da colora¸ao de intervalos. Modifique-o para que, al´em
da m-colora¸ao c, ele devolva um conjunto Sde mintervalos e um instante ttal que s[i]t < f[i] para todo i
em S.
3. Considere o algoritmo do problema da colora¸ao de intervalos visto em aula. Nele, os intervalos ao ordenados
no come¸co pelo valor de s[i]. O que acontece se ordenarmos os intervalos por f[i] em vez de s[i]? O algoritmo
continua correto? Prove, apresentando um certificado como o do exerc´ıcio anterior para ele, ou e um contra-
exemplo.
4. Use odigos de Huffman para o conjunto de caracteres do enunciado deste exerc´ıcio. Inclua todos os caracteres.
Quantos bits foram economizados no armazenamento do enunciado desse exerc´ıcio usando odigos de Huffman
versus uma codifica¸ao onde todos os caracteres ao codificados por cadeias de bits do mesmo comprimento?
5. Considere um conjunto de livros numerados de 1 a n. Suponha que o livro item peso pie que 0 < pi<1 para
cada i.
Problema: Dado ne os umeros p1,...,pn, acondicionar os livros no menor umero poss´ıvel de envelopes de
modo que cada envelope tenha no aximo 2 livros e o peso do conte´udo de cada envelope seja no aximo 1.
Escreva um algoritmo guloso que resolva o problema em tempo O(nlog n). (Sugest˜ao: comece por escrever um
algoritmo recursivo que apenas calcula o umero ınimo de envelopes.) Aplique seu algoritmo a um exemplo
interessante. Mostre que seu algoritmo est´a correto.
6. (CLRS 16-4) Seja 1,...,n um conjunto de tarefas. Cada tarefa consome um dia de trabalho; durante um dia
de trabalho somente uma das tarefas pode ser executada. Os dias de trabalho ao numerados de 1 a n. A cada
tarefa test´a associado um prazo pt: a tarefa deveria ser executada em algum dia do intervalo 1..pt. A cada
tarefa test´a associada uma multa ao-negativa mt. Se uma dada tarefa t´e executada depois do prazo pt, sou
obrigado a pagar a multa mt(mas a multa ao depende do n´umero de dias de atraso).
Problema: Programar as tarefas (ou seja, estabelecer uma bije¸ao entre as tarefas e os dias de trabalho) de
modo a minimizar a multa total.
Escreva um algoritmo guloso para resolver o problema. Prove que seu algoritmo est´a correto. Analise o consumo
de tempo.
7. A entrada ´e uma seq¨encia de umeros x1, x2,...,xnonde n´e par. Pro jete que particione a entrada em n/2
pares da seguinte maneira. Para cada par, computamos a soma de seus umeros. Denote por s1, s2,...,sn/2as
n/2 somas. O algoritmo deve encontrar uma parti¸ao que minimize a aximo das somas e deve ser ao eficiente
quanto poss´ıvel. Explique porque ele funciona e determine a sua complexidade.
8. Descreva um algoritmo eficiente que, dado um conjunto {x1, x2,...,xn}de pontos na reta real, determine o menor
conjunto de intervalos fechados de comprimento um que cont´em todos os pontos dados. Justifique informalmente
o seu algoritmo e analise a sua complexidade.
9. Considere uma estrada calma e longa, com algumas poucas casas `a beira. (Podemos imaginar a estrada como
uma linha reta, com uma extremidade leste e uma extremidade oeste.) Suponha que, apesar da atmosfera
buc´olica, os moradores dessas casas ao ´avidos usu´arios de telefones celulares. Vocˆe quer colocar esta¸oes-base
de telefonia celular ao longo da estrada, de maneira que toda casa esteja a no aximo 6 quil´ometros de uma das
esta¸oes-base.
e um algoritmo eficiente que atinge esse objetivo usando um umero m´ınimo de esta¸oes-base. Justifique sua
resposta.

Pré-visualização parcial do texto

Baixe Geometria Computacional Lista 5 e outras Exercícios em PDF para Geometria Computacional, somente na Docsity!

MAC 338 - An´alise de Algoritmos

Departamento de Ciˆencia da Computa¸c˜ao Primeiro semestre de 2013

Lista 5

  1. Mostre um exemplo para cada um dos trˆes primeiros crit´erios gulosos apresentados para o problema da cole¸c˜ao m´axima de intervalos disjuntos visto em aula que prove que o algoritmo obtido usando estes crit´erios pode produzir um conjunto de intervalos disjuntos que n˜ao ´e m´aximo.
  2. Considere o algoritmo visto em aula para o problema da colora¸c˜ao de intervalos. Modifique-o para que, al´em da m-colora¸c˜ao c, ele devolva um conjunto S de m intervalos e um instante t tal que s[i] ≤ t < f [i] para todo i em S.
  3. Considere o algoritmo do problema da colora¸c˜ao de intervalos visto em aula. Nele, os intervalos s˜ao ordenados no come¸co pelo valor de s[i]. O que acontece se ordenarmos os intervalos por f [i] em vez de s[i]? O algoritmo continua correto? Prove, apresentando um certificado como o do exerc´ıcio anterior para ele, ou dˆe um contra- exemplo.
  4. Use c´odigos de Huffman para o conjunto de caracteres do enunciado deste exerc´ıcio. Inclua todos os caracteres. Quantos bits foram economizados no armazenamento do enunciado desse exerc´ıcio usando c´odigos de Huffman versus uma codifica¸c˜ao onde todos os caracteres s˜ao codificados por cadeias de bits do mesmo comprimento?
  5. Considere um conjunto de livros numerados de 1 a n. Suponha que o livro i tem peso pi e que 0 < pi < 1 para cada i. Problema: Dado n e os n´umeros p 1 ,... , pn, acondicionar os livros no menor n´umero poss´ıvel de envelopes de modo que cada envelope tenha no m´aximo 2 livros e o peso do conte´udo de cada envelope seja no m´aximo 1. Escreva um algoritmo guloso que resolva o problema em tempo O(n log n). (Sugest˜ao: comece por escrever um algoritmo recursivo que apenas calcula o n´umero m´ınimo de envelopes.) Aplique seu algoritmo a um exemplo interessante. Mostre que seu algoritmo est´a correto.
  6. (CLRS 16-4) Seja 1,... , n um conjunto de tarefas. Cada tarefa consome um dia de trabalho; durante um dia de trabalho somente uma das tarefas pode ser executada. Os dias de trabalho s˜ao numerados de 1 a n. A cada tarefa t est´a associado um prazo pt: a tarefa deveria ser executada em algum dia do intervalo 1.. pt. A cada tarefa t est´a associada uma multa n˜ao-negativa mt. Se uma dada tarefa t ´e executada depois do prazo pt, sou obrigado a pagar a multa mt (mas a multa n˜ao depende do n´umero de dias de atraso). Problema: Programar as tarefas (ou seja, estabelecer uma bije¸c˜ao entre as tarefas e os dias de trabalho) de modo a minimizar a multa total. Escreva um algoritmo guloso para resolver o problema. Prove que seu algoritmo est´a correto. Analise o consumo de tempo.
  7. A entrada ´e uma seq¨uˆencia de n´umeros x 1 , x 2 ,... , xn onde n ´e par. Projete que particione a entrada em n/ 2 pares da seguinte maneira. Para cada par, computamos a soma de seus n´umeros. Denote por s 1 , s 2 ,... , sn/ 2 as n/2 somas. O algoritmo deve encontrar uma parti¸c˜ao que minimize a m´aximo das somas e deve ser t˜ao eficiente quanto poss´ıvel. Explique porque ele funciona e determine a sua complexidade.
  8. Descreva um algoritmo eficiente que, dado um conjunto {x 1 , x 2 ,... , xn} de pontos na reta real, determine o menor conjunto de intervalos fechados de comprimento um que cont´em todos os pontos dados. Justifique informalmente o seu algoritmo e analise a sua complexidade.
  9. Considere uma estrada calma e longa, com algumas poucas casas `a beira. (Podemos imaginar a estrada como uma linha reta, com uma extremidade leste e uma extremidade oeste.) Suponha que, apesar da atmosfera buc´olica, os moradores dessas casas s˜ao ´avidos usu´arios de telefones celulares. Vocˆe quer colocar esta¸c˜oes-base de telefonia celular ao longo da estrada, de maneira que toda casa esteja a no m´aximo 6 quil´ometros de uma das esta¸c˜oes-base. Dˆe um algoritmo eficiente que atinge esse objetivo usando um n´umero m´ınimo de esta¸c˜oes-base. Justifique sua resposta.