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 7, 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 7

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
Geometria Computacional
Departamento de Ciência da Computação IME/USP
Segundo Semestre de 2011
Lista 7
1. Ajuste todos os algoritmos para fecho convexo vistos em aula para que funcionem
sem a hipótese simplificadora, ou seja, para que funcionem mesmo que a coleção de
pontos dada tenha vários pontos colineares. Teste cada um dos algoritmos resultan-
tes dos seus ajustes com uma entrada que consiste de npontos colineares.
2. [O’Rourke 3.4.1.1 Embrulho: melhor caso] Determine o melhor caso do algoritmo
Embrulho, ou seja, encontre um conjunto de npontos no plano tal que o consumo
de tempo do algoritmo seja o menor possível em função de npara tal conjunto.
Quanto é este consumo de tempo em função do n?
3. [O’Rourke 3.4.1.2 Embrulho: melhorias] Durante a execução do algoritmo Em-
brulho, algumas vezes é possível determinar alguns pontos que não podem ser
vértices do fecho convexo e portanto podem ser eliminados “on the fly”. Determine
algumas regras para identificar tais pontos. Qual é o conjunto de pontos que exige
mais trabalho do seu novo algoritmo?
4. [O’Rourke 3.5.6.1 Graham: pior caso] Construa um conjunto de pontos para o
qual o enquanto da linha 5 do algoritmo de Graham faça o maior número possível
de iterações.
5. Implemente o algoritmo Incremental e veja como é o seu consumo de tempo
quando a entrada é um conjunto de npontos escolhidos uniformemente ao acaso no
quadrado [0 . . 1] ×[0 . . 1]. Experimentalmente qual é o seu consumo de tempo em
função de n?
6. [O’Rourke 3.7.1.3 Incremental: versão ótima] Modifique o algoritmo Incre-
mental de tal forma que a sua complexidade de tempo seja reduzida para, no pior
caso, O(nlg n).
[Sugestão. Em um pré-processamento, ordene os pontos dados pela X-coordenada de tal
forma que o teste de pertinência possa ser evitado. Examine os pontos nesta ordem.]
7. [O’Rourke 3.4.1.4 QuickHull: pior caso] Construa um conjunto de npontos, para
um ngenérico, para o qual o algoritmo QuickHull consome tempo quadrático.
8. [O’Rourke 3.4.1.5 QuickHull: pior caso] Argumente que o QuickHull, como
o algoritmo Embrulho, é sensível à saída e consome tempo O(nh), onde né o
número de pontos e hé o número de pontos na fronteira do fecho convexo.
9. [O’Rourke 3.4.1.6 QuickHull: estudo experimental] Implemente o QuickHull
e veja como é o seu consumo de tempo quando a entrada é um conjunto de npontos
escolhidos uniformemente ao acaso no quadrado [0 . . 1]×[0 . . 1]. Experimentalmente
qual é o seu consumo de tempo em função de n?
10. [O’Rourke 3.4.1.7 QuickHull: consumo esperado de tempo] Argumente que o
consumo esperado de tempo do QuickHull éO(n)quando este executa com uma
instância que consiste de npontos escolhidos uniformemente ao acaso no quadrado
[0 . . 1] ×[0 . . 1].
1

Pré-visualização parcial do texto

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

Geometria Computacional

Departamento de Ciência da Computação – IME/USP

Segundo Semestre de 2011

Lista 7

  1. Ajuste todos os algoritmos para fecho convexo vistos em aula para que funcionem sem a hipótese simplificadora, ou seja, para que funcionem mesmo que a coleção de pontos dada tenha vários pontos colineares. Teste cada um dos algoritmos resultan- tes dos seus ajustes com uma entrada que consiste de n pontos colineares.
  2. [O’Rourke 3.4.1.1 – Embrulho: melhor caso] Determine o melhor caso do algoritmo Embrulho, ou seja, encontre um conjunto de n pontos no plano tal que o consumo de tempo do algoritmo seja o menor possível em função de n para tal conjunto. Quanto é este consumo de tempo em função do n?
  3. [O’Rourke 3.4.1.2 – Embrulho: melhorias] Durante a execução do algoritmo Em- brulho, algumas vezes é possível determinar alguns pontos que não podem ser vértices do fecho convexo e portanto podem ser eliminados “on the fly”. Determine algumas regras para identificar tais pontos. Qual é o conjunto de pontos que exige mais trabalho do seu novo algoritmo?
  4. [O’Rourke 3.5.6.1 – Graham: pior caso] Construa um conjunto de pontos para o qual o enquanto da linha 5 do algoritmo de Graham faça o maior número possível de iterações.
  5. Implemente o algoritmo Incremental e veja como é o seu consumo de tempo quando a entrada é um conjunto de n pontos escolhidos uniformemente ao acaso no quadrado [0.. 1] × [0.. 1]. Experimentalmente qual é o seu consumo de tempo em função de n?
  6. [O’Rourke 3.7.1.3 – Incremental: versão ótima] Modifique o algoritmo Incre- mental de tal forma que a sua complexidade de tempo seja reduzida para, no pior caso, O(n lg n). [Sugestão. Em um pré-processamento, ordene os pontos dados pela X-coordenada de tal forma que o teste de pertinência possa ser evitado. Examine os pontos nesta ordem.]
  7. [O’Rourke 3.4.1.4 – QuickHull: pior caso] Construa um conjunto de n pontos, para um n genérico, para o qual o algoritmo QuickHull consome tempo quadrático.
  8. [O’Rourke 3.4.1.5 – QuickHull: pior caso] Argumente que o QuickHull, como o algoritmo Embrulho, é sensível à saída e consome tempo O(nh), onde n é o número de pontos e h é o número de pontos na fronteira do fecho convexo.
  9. [O’Rourke 3.4.1.6 – QuickHull: estudo experimental] Implemente o QuickHull e veja como é o seu consumo de tempo quando a entrada é um conjunto de n pontos escolhidos uniformemente ao acaso no quadrado [0.. 1]×[0.. 1]. Experimentalmente qual é o seu consumo de tempo em função de n?
  10. [O’Rourke 3.4.1.7 – QuickHull: consumo esperado de tempo] Argumente que o consumo esperado de tempo do QuickHull é O(n) quando este executa com uma instância que consiste de n pontos escolhidos uniformemente ao acaso no quadrado [0.. 1] × [0.. 1].

1