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

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

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

Apresentações semelhantes


Apresentação em tema: "Menor Círculo Envolvente Eraldo Luís Rezende Fernandes ( ) Michel Alain Quintana Truyenque ( )"— 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(n 3 ) Algoritmo iterativo: O(n 2 ) 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 = {p 1,p 2,...,p n } o conjunto de entrada e suponha que D i = md({p 1,p 2,...,p i }) já foi calculado Se p i+1 D i então D i+1 = D i Se p i+1 D i então D i+1 é o disco definido pelo MEC dos pontos {p 1,p 2,...,p i } e que passa por p i+1. Neste caso o MEC dos pontos é calculado pelo procedimento b_mce( {p 1,p 2,...,p i }, p i+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 Eraldo Luís Rezende Fernandes ( ) Michel Alain Quintana Truyenque ( )"

Apresentações semelhantes


Anúncios Google