Problemas de proximidad

Click here to load reader

download Problemas de proximidad

of 68

  • date post

    19-Jan-2016
  • Category

    Documents

  • view

    44
  • download

    0

Embed Size (px)

description

Problemas de proximidad. P1: Tráfico aéreo. Aeronáutica. Entre muchos aviones en una pantalla encontrar los dos más cercanos. P2: Ecología. Entre muchos linces en un terreno encontrar el más cercano a cada cual. P3: Trazado de redes. - PowerPoint PPT Presentation

Transcript of Problemas de proximidad

Diapositiva 1Aeronáutica
Entre muchos aviones en una pantalla encontrar los dos más cercanos
P1: Tráfico aéreo
Matemática Aplicada I
Tema 3
Entre muchos linces en un terreno encontrar el más cercano a cada cual
P2: Ecología
Tema 3
Conectar n puntos de tal forma que la longitud de la red sea mínima
P3: Trazado de redes
P5: Clasificador de objetos
Dado un conjunto de modelos y un nuevo elemento q, encontrar el modelo más cercano a q.
Matemática Aplicada I
P6: Propiedades físicas de materiales
Dado una serie de compuestos tratar de determinar cuál serán las propiedades físicas de sus mezclas.
Matemática Aplicada I
Matemática Aplicada I
Aeronáutica
Entre muchos aviones en una pantalla encontrar los dos más cercanos
P1: Tráfico aereo
Tema 3
Entre muchos linces en un terreno encontrar el más cercano a cada cual
P2: Ecología
Matemática Aplicada I
Tema 3
Conectar n puntos de tal forma que la longitud de la red sea mínima
P3: Trazado de redes
Árbol recubridor (generador) mínimo
Tema 3
Conectar n puntos de tal forma que la longitud de la red sea mínima
P3: Trazado de redes
Árbol recubridor (generador) mínimo
Triangulación equilátera
P5: Clasificador de objetos
Dado un conjunto de modelos y un nuevo elemento q, encontrar el modelo más cercano a q.
Dado un conjunto de puntos S y un nuevo punto q, encontrar el elemento de S más cercano a q.
Vecino más cercano
Matemática Aplicada I
P6: Propiedades físicas de materiales
Dado una serie de compuestos tratar de determinar cuál serán las propiedades físicas de sus mezclas.
Matemática Aplicada I
Tema 3
Envolvente convexa
Dada una serie de puntos encontrar el menor convexo que los contiene
Matemática Aplicada I
Matemática Aplicada I
Tema 3
Entre muchos aviones en una pantalla encontrar los dos más cercanos
puntos en el plano
El par más cercano
Entre muchos linces en un terreno encontrar el más cercano a cada cual
puntos en el plano
Todos los pares más cercanos
Conectar n puntos de tal forma que la longitud de la red sea mínima
Árbol recubridor (generador) mínimo
Vecino más cercano
Dado un conjunto de puntos S y un nuevo punto q, encontrar el elemento de S más cercano a q.
Entre todas las triangulaciones encontrar la más equilátera
Triangulación equilátera
Envolvente convexa
Dada una serie de puntos encontrar el menor convexo que los contiene
Dados N puntos en plano, hallar máximo círculo sin puntos en interior
Círculo máximo vacío.
Planteamiento
Matemática Aplicada I
Más cercanos=consecutivos
Ordenación previa O(NlogN)
Solución 1: (Usando el diagrama de Voronoi)
Teorema 1: El diagrama de Voronoi de una nube de N puntos en el plano puede construirse en tiempo óptimo O(NlogN).
Matemática Aplicada I
Buscamos algoritmo O(NlogN).
Se divide el problema en dos cuyas soluciones se combinen en tiempo lineal.
Si par más cercano uno S1 y otro S2
N2/2 comparaciones tiempo cuadrático.
Divide y vencerás O(NlogN)
Tema 3
función ClosestPair1 ( S : conjunto de [1...N] puntos en una dimensión) dev (l : distancia entre los dos más cercanos)
    si ( numeroElementos(S) = 2 ):
        l := S(2) – S(1)
    | si ( numeroElementos(S) = 1 ):
        m = mediaValores(S)
        Construye(S, S1, S2) // S1 = {p: m³ p}, S2 = {p: m<p} donde pÎ S
        l1 = ClosestPair1 ( S1 )
        l2 = ClosestPair1 ( S2 )
        p = max ( S1 )
        q = min ( S2 )
    fsi
Algoritmo anterior: válido para dimensión 1
Buscamos algoritmo O(NlogN) para dimensión 2.
Se divide el problema en dos cuyas soluciones se combinen en tiempo lineal.
Matemática Aplicada I
procedure CPAIR2 (S: conjunto [1..N] de puntos)
1. Dividir S en dos subconjuntos S1 y S2 por una línea vertical l por la mediana.
2. Encontrar la separación entre el par más cercano en S1 y S2 recursivamente, 1, 2.
3. = min(1, 2)
4. Sea P1 un subconjunto de puntos de S1 que no distan más de de l y sea igualmente P2 para S2. Proyéctense los puntos de P1 y P2 en l y ordénense por la coordenada y. Sean P1* y P2* las dos secuencias anteriores después de la ordenación.
5. Para cada punto p de P1* examinar los puntos q de P2* a distancia menor que de p (nunca serán más de 6 para cada punto). Sea la distancia mínima encontrada entre estos pares de puntos.
6. s = min (,)
7. Devolver s
Matemática Aplicada I
Paso 2 tiempo 2T(N/2), si T(N) tiempo algoritmo N puntos.
Paso 4 es ordenación
Si usamos preprocesamiento
T(N) = 2T(N/2) + O(N) = O(NlogN)
Teorema: La distancia más corta determinada por N puntos en el plano se puede encontrar en O(NlogN) y este tiempo es óptimo.
Matemática Aplicada I
Planteamiento
Dados N puntos en el plano, con preprocesamiento, encontrar el vecino más cercano de un nuevo punto dado q.
NEAREST-NEIGHBOR SEARCH
Matemática Aplicada I
problema de la clasificación
Todo objeto será clasificado como perteneciente a un sólo individuo de una población conocida: población al que pertenece su vecino más cercano.
Matemática Aplicada I
debe ser clasificado como "B".
B
Tratamiento
La búsqueda del vecino más cercano se hará sobre una estructura ordenada. Así, encontrar el vecino más cercano se reduce a hacer una búsqueda binaria.
Dados N números reales x1,x2,...xN la búsqueda binaria (con preprocesamiento) identifica a xi como el vecino más cercano al número q.
Esto es válido para varias dimensiones.
Matemática Aplicada I
Teorema:
En el peor caso se necesitan (log N) comparaciones para hallar al vecino más cercano a un punto en cualquier dimensión. 
Teorema:
El problema del vecino más cercano puede ser resuelto en tiempo (logN) con preprocesamiento (NlogN).
El preprocesamiento sobre nube de puntos
es construir el diagrama de Voronoi.
Este se construye en tiempo óptimo (NlogN).
Matemática Aplicada I
El problema de los vecinos más cercanos (All Nearest-Neighbor Search)
Planteamiento
"Dados N puntos en el plano, encontrar el vecino más cercano a cada punto."
B es el vecino más cercano de un punto A dentro de un conjunto de puntos S si y sólo si la distancia entre dichos puntos es la mínima distancia entre A y cualquier punto de S:
dist (A,B) = min dist(A,C).       C S – A
Matemática Aplicada I
Tema 3
Representación plana:
grafo dirigido donde si A y B son nodos del grafo y B es el más cercano a A los unimos con un arco de A a B.
Matemática Aplicada I
A NO tiene que ser vecino más cercano a B.
Si A es vecino más cercano a B y
B es el vecino mas cercano a A
el par (A, B) es un par recíproco.
Un punto puede ser el vecino más cercano de varios puntos de la nube.
Matemática Aplicada I
PROPIEDAD:
Cada vecino más cercano al punto define una arista de su región de Voronoi.
Construido Diagrama Voronoi
Tiempo lineal: cada arista se visita como máximo dos veces
SOLUCIÓN:
Matemática Aplicada I
Tema 3
Lema 3. Dado una partición de S en dos subconjuntos disjuntos S1 y S2 la arista más corta que une un vértice de S1 con uno de S2 es entre dos vecinos de Vor(S).
Nota: El número de vecinos de Vor(S) es lineal.
Matemática Aplicada I
Tema 3
Lema 3. Dado una partición de S en dos subconjuntos disjuntos S1 y S2 la arista más corta que une un vértice de S1 con uno de S2 es entre dos vecinos de Vor(S).
Nota: El número de vecinos de Vor(S) es lineal.
Teorema. Todos los vecinos más cercanos de S puede ser resuelto en tiempo óptimo lineal conociendo Vor(S).
Corolario. El par más cercanos de S puede ser resuelto en tiempo óptimo lineal conociendo Vor(S).
Matemática Aplicada I
Planteamiento.
Dados N puntos en el plano, construir árbol de longitud total mínima y cuyos vértices sean los puntos dados.
Solución:
Matemática Aplicada I
Ejemplo:
Se quiere instalar un sistema de comunicaciones conectando los N nodos de la red con cables, utilizando el EMST (Euclidean Minimun Spanning Tree) el coste de la instalación será el mínimo.
Matemática Aplicada I
(Minimum Spanning Tree)
es un problema clásico teoría de grafos
Dado grafo G: N nodos y E aristas ponderadas, hallar menor subárbol de G con todos los vértices de G.
Soluciones independientes:
Algoritmos polinomiales
Un grafo con N vértices puede llegar a tener hasta
N^(N-2) subárboles.
Matemática Aplicada I
Tratamiento
Previa ordenación, el problema EMST es transformable a tiempo lineal. Luego  (N log N), es límite inferior del problema para N puntos.
Lema 1: [Prim (1957)]
Sea G = (V,E) grafo ponderado y {V1,V2} partición de V. Existe árbol recubridor de G que contiene la arista más corta con extremos uno en V1 y el otro en V2.
Matemática Aplicada I
Peso aristas la distancia entre extremos.
El algoritmo EMST trata en cada paso un bosque de árboles.
Bosque inicial la nube de puntos.
Algoritmo:
Encontrar una arista (u’,v’) tal que
d(u’,v’)=min{d(u,v): u  T, v  S-T}
Si T’ es árbol que contiene a v’, combinar T y T’
enlazándolos por la arista (u’,v’).
Algoritmo finaliza cuando bosque se convierte en un árbol, nos podemos apoyar en el diagrama de Voronoi basta examinar aristas triangulación Delaunay, es decir, basta hallar MST de un grafo plano.
Matemática Aplicada I
3    etapa(pi):=0
    fdesde (* cola inicializada *)
4    j:=1 (* valor de etapa se inicializa al valor siguiente *)
5    mientras ( F contenga más de un número)
6    T:= cabeza(F)
     si (etapa(T)=j)
     fsi
9    (u,v):=arista más corta incidente a T (con u en T)
10    T’:= árbol en F que contiene a v
11    T’’:= unir(T,T’)
13    etapa(T’’):= min(etapa(T),etapa(T’))+1
Tema 3
Teorema 1.
EMST de nube S de N puntos en el plano puede ser computado en un tiempo óptimo O(N) a partir de la triangulación de Delaunay de S.
Como el cálculo de la triangulación de Delaunay es O(N log N) sigue:
Corolario.
EMST de nube de N puntos en el plano computada en un tiempo óptimo O(N log N).
Matemática Aplicada I
S2=S-S1
S1=S1v donde v es el vértice de S2 más cercano a S1
Matemática Aplicada I
Tema 3
Entre muchos aviones en una pantalla encontrar los dos más cercanos
puntos en el plano
El par más cercano
Entre muchos linces en un terreno encontrar el más cercano a cada cual
puntos en el plano
Todos los pares más cercanos
Conectar n puntos de tal forma que la longitud de la red sea mínima
Árbol recubridor (generador) mínimo
Vecino más cercano
Dado un conjunto de puntos S y un nuevo punto q, encontrar el elemento de S más cercano a q.
Entre todas las triangulaciones encontrar la más equilátera
Triangulación equilátera
Envolvente convexa
Dada una serie de puntos encontrar el menor convexo que los contiene
Dados N puntos en plano, hallar máximo círculo sin puntos en interior
Círculo máximo vacío.
S2=S-S1
S1=S1v donde v es el vértice de S2 más cercano a S1
Matemática Aplicada I
S2=S-S1
S1=S1v donde v es el vértice de S2 más cercano a S1
Matemática Aplicada I
S2=S-S1
S1=S1v donde v es el vértice de S2 más cercano a S1
Matemática Aplicada I
S2=S-S1
S1=S1v donde v es el vértice de S2 más cercano a S1
Lema 3. Dado una partición de S en dos subconjuntos disjuntos S1 y S2 la arista más corta que une un vértice de S1 con uno de S2 es entre dos vecinos de Vor(S).
Nota: El número de vecinos de Vor(S) es lineal.
Teorema. El MST puede construirse en tiempo lineal óptimo a partir de Vor(S).
Matemática Aplicada I
Tema 3
Entre muchos aviones en una pantalla encontrar los dos más cercanos
puntos en el plano
El par más cercano
Entre muchos linces en un terreno encontrar el más cercano a cada cual
puntos en el plano
Todos los pares más cercanos
Conectar n puntos de tal forma que la longitud de la red sea mínima
Árbol recubridor (generador) mínimo
Vecino más cercano
Dado un conjunto de puntos S y un nuevo punto q, encontrar el elemento de S más cercano a q.
Entre todas las triangulaciones encontrar la más equilátera
Triangulación equilátera
Envolvente convexa
Dada una serie de puntos encontrar el menor convexo que los contiene
Dados N puntos en plano, hallar máximo círculo sin puntos en interior
Círculo máximo vacío.
Tema 3
Entre muchos aviones en una pantalla encontrar los dos más cercanos
puntos en el plano
El par más cercano
Entre muchos linces en un terreno encontrar el más cercano a cada cual
puntos en el plano
Todos los pares más cercanos
Conectar n puntos de tal forma que la longitud de la red sea mínima
Árbol recubridor (generador) mínimo
Vecino más cercano
Dado un conjunto de puntos S y un nuevo punto q, encontrar el elemento de S más cercano a q.
Entre todas las triangulaciones encontrar la más equilátera posible
Triangulación equilátera
Envolvente convexa
Dada una serie de puntos encontrar el menor convexo que los contiene
O(n2)
Tema 3
Entre muchos aviones en una pantalla encontrar los dos más cercanos
puntos en el plano
El par más cercano
Entre muchos linces en un terreno encontrar el más cercano a cada cual
puntos en el plano
Todos los pares más cercanos
Conectar n puntos de tal forma que la longitud de la red sea mínima
Árbol recubridor (generador) mínimo
Vecino más cercano
Dado un conjunto de puntos S y un nuevo punto q, encontrar el elemento de S más cercano a q.
Entre todas las triangulaciones encontrar la más equilátera
Triangulación equilátera
Envolvente convexa
Dada una serie de puntos encontrar el menor convexo que los contiene
Dados N puntos en plano, hallar máximo círculo sin puntos en interior
Círculo máximo vacío.
Planteamiento
"Dados N puntos en el plano, encontrar el círculo más grande que no contenga ningún punto del conjunto cuyo centro está dentro del polígono convexo que engloba todos los puntos, es decir, dentro del cierre convexo"
LARGEST EMPTY CIRCLE
Planteamiento
 con  p0 en la envolvente convexa de la nube
Problema círculo vacío es problema de localización que busca un punto lo más lejos posible de los N existentes.
Matemática Aplicada I
Teorema:
El centro del círculo máximo vacío es vértice del diagrama de Voronoi correspondiente a la nube de puntos.
Teorema:
El círculo vacío más grande de una nube de N puntos en el plano puede ser construido
en tiempo O(NlogN).
Matemática Aplicada I
Tema 3
Propiedad 1:
Cada borde de Voronoi intersecta, máximo con dos lados de la envolvente convexa. Por la convexidad, la intersección de cualquier otra línea con la envolvente es un (posiblemente vacío) segmento.
Propiedad 2:
Cada lado de la envolvente convexa intersecta, al menos, un borde de Voronoi. Cualquier lado de la envolvente convexa junta dos partes distintas de la nube que pertenecen a distintas regiones Voronoi.
Matemática Aplicada I
Tema 3
Entre muchos aviones en una pantalla encontrar los dos más cercanos
puntos en el plano
El par más cercano
Entre muchos linces en un terreno encontrar el más cercano a cada cual
puntos en el plano
Todos los pares más cercanos
Conectar n puntos de tal forma que la longitud de la red sea mínima
Árbol recubridor (generador) mínimo
Vecino más cercano
Dado un conjunto de puntos S y un nuevo punto q, encontrar el elemento de S más cercano a q.
Entre todas las triangulaciones encontrar la más equilátera
Triangulación equilátera
Envolvente convexa
Dada una serie de puntos encontrar el menor convexo que los contiene
Dados N puntos en plano, hallar máximo círculo sin puntos en interior
Círculo máximo vacío.
Tema 3
Entre muchos aviones en una pantalla encontrar los dos más cercanos
puntos en el plano
El par más cercano
Entre muchos linces en un terreno encontrar el más cercano a cada cual
puntos en el plano
Todos los pares más cercanos
Conectar n puntos de tal forma que la longitud de la red sea mínima
Árbol recubridor (generador) mínimo
Vecino más cercano
Dado un conjunto de puntos S y un nuevo punto q, encontrar el elemento de S más cercano a q.
Entre todas las triangulaciones encontrar la más equilátera
Triangulación equilátera
Envolvente convexa
Dada una serie de puntos encontrar el menor convexo que los contiene
Dados N puntos en plano, hallar máximo círculo sin puntos en interior
Círculo máximo vacío.