A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Menor Círculo Envolvente

Apresentações semelhantes


Apresentação em tema: "Menor Círculo Envolvente"— Transcrição da apresentação:

1 Menor Círculo Envolvente
Eraldo Luís Rezende Fernandes Michel Alain Quintana Truyenque

2 Menor Círculo Envolvente
Minimal Enclosing Circle (MCE) Dados n pontos no plano, encontrar o círculo de menor raio que contenha todos os pontos Pode ser estendido para espaço de dimensão d (Minimal Enclosing Ball)

3 Aplicações Planejamento de localização Rotação de polígonos
Problemas que envolvem testes de proximidade com conjuntos de pontos Aproximação para a maior distância entre dois pontos de um conjunto de pontos

4 Algoritmos Força bruta: O(n3) Algoritmo iterativo: O(n2)
Algoritmo aleatório baseado em Programação Linear (Welzl, 1991): O(n)

5 Algoritmo Iterativo Quadrático
Passo 1: Defina um círculo suficientemente grande que envolva todos os pontos (centro arbitrário)

6 Algoritmo Iterativo Quadrático
Passo 2: Encontre o ponto A que esteja mais distante do centro do círculo anterior e redefina o círculo passando por A

7 Algoritmo Iterativo Quadrático
Passo 3: Diminua o círculo mantendo o ponto A na sua fronteira e movendo o seu centro em direção ao ponto A até tocar outro ponto B do conjunto

8 Algoritmo Iterativo Quadrático
Passo 4: Tem-se agora um círculo passando por dois ou mais pontos Se estes pontos definem um arco maior do que  então o círculo pode ser diminuído ainda mais (caso contrário, o MEC é o círculo atual) Sejam D e E os dois pontos que definem o arco maior que . Diminuir o raio do círculo mantendo-o em contato com os pontos D e E até que: O diâmetro do círculo seja o segmento DE; ou O círculo toque um terceiro ponto

9 Algoritmo Iterativo Quadrático
Passo 4:

10 Algoritmo Iterativo Quadrático
Passo 4: Se um círculo com diâmetro DE é encontrado então este é o MEC Se o círculo toca um terceiro ponto então repete-se o passo 4

11 Algoritmo Iterativo Quadrático
Passo 4: (novamente)

12 Algoritmo Iterativo Quadrático

13 Algoritmo Aleatório de Welzl
Proposto em 1991 por Emo Welzl Inspirado no algoritmo aleatório de programação linear Também é incremental, porém, Welzl o propos em forma de um procedimento recursivo

14 Algoritmo Aleatório de Welzl
Calcula o MEC para n pontos de forma incremental. Inicia construindo o MEC para dois (ou três) pontos, e segue incluindo os pontos seguintes um após o outro sempre mantendo o MEC do conjunto considerado Teoremas necessários: Seja md(P) o disco definido pelo MEC do conjunto de pontos P Para qualquer P, md(P) é bem definido (é único) São necessários no máximo 3 pontos para definir md(P), ou seja, existe S  P tal que |S| <= 3 e md(S) = md(P)

15 Algoritmo Aleatório de Welzl
Seja P = {p1,p2,...,pn} o conjunto de entrada e suponha que Di = md({p1,p2,...,pi}) já foi calculado Se pi+1 Di então Di+1 = Di Se pi+1 Di então Di+1 é o disco definido pelo MEC dos pontos {p1,p2,...,pi} e que passa por pi+1. Neste caso o MEC dos pontos é calculado pelo procedimento b_mce({p1,p2,...,pi}, pi+1)

16 Algoritmo Aleatório de Welzl
função mce(P) se P = Ø então D := Ø; senão escolhe p  P aleatoriamente D := mce(P - {p}); se p  D então D := b_mce(P - {p}, p); retorna D; fim probabilidade 3/n

17 Algoritmo Aleatório de Welzl
Dados dois conjuntos P e R de pontos no plano, seja b_md(P, R) o menor disco que contenha todos os pontos de P e possua todos os pontos de R na sua fronteira Se b_md(P, R) existe então ele é bem definido Se p  b_md(P – {p}, R) então p está na fronteira de b_md(P, R), dado que ele existe, ou seja, b_md(P, R) = b_md(P – {p}, R  {p}) Se b_md(P, R) existe então existe um conjunto S de no máximo max{0, |R|} tal que b_md(P, R) = b_md(S, R)

18 Algoritmo Aleatório de Welzl
função b_mce(P, R) se P = Ø ou |R| = 3 então D := b_md(Ø, R); senão escolhe p  P aleatoriamente D := b_mce(P - {p}); se p  D então D := b_mce(P - {p}, R  {p}); retorna D; fim probabilidade 3/n

19 Algoritmo Aleatório de Welzl
função mce(P) b_mce(P, Ø); fim

20 Menor Círculo Envolvente


Carregar ppt "Menor Círculo Envolvente"

Apresentações semelhantes


Anúncios Google