Aplicación de la Teoría de los Grafos para ubicación y trazado de

Anuncio
Aplicación de la Teoría de los Grafos para ubicación y trazado de
las rutas a través de los edificios del CIMAT
Autores: Ramírez Silva Marco Aurelio CECYTE Guanajuato Plantel Valle
de Santiago, Tapia Rodríguez Maximino CIMAT
RESUMEN
El presente artículo propone la
utilización de modelos matemáticos, de
tal manera que las relaciones entre los
vértices de grafo ayuden a localizar la
ruta óptima. Para ello es necesaria la
utilización de un algoritmo de reducción
de grafos a partir de la aplicación del
Método
Dijsktra.
La
propuesta
constituye un aporte para el análisis de
modelos matemáticos de grandes
dimensiones, así como para facilitar la
automatización
del
mencionado
método.
Palabras claves: reducción de grafos,
algorito dijkstra, solución de problemas
computacionales.
Ahora que sabemos que es un grafo.
Se explicará cómo podemos expresarlo
en
términos
de
programación.
Matemáticamente, la representación de
un grafo G(V, A) es a través de una
matriz M, de n x n con lo cual el valor
ponderado de las aristas aij en la
entrada (i, j) de la matriz M.
Ilustración 1: Representación en términos de grafos de
calles y sitios.
INTRODUCCIÓN
La teoría de grafos ha sido
ampliamente estudiada y hoy en día es
aplicada para la solución de un sin
número de problemas en diferentes
ramas de la ciencia y la técnica. Dentro
de
estas
aplicaciones
podemos
mencionar la solución a problemas de
camino óptimo, flujo máximo de costo
mínimo, redes sociales, entre otras.
Un grafo es un objeto unitario de
naturaleza abstracta que abarca a las
grafias que componen una letra. La
palabra tiene origen griego y significa
“imagen” o “dibujo”. Para la ciencia
de la computación y la matemática un
grafo es una representación gráfica
de diversos puntos que se conocen
como nodos o vértices, los cuales se
encuentran unidos a través de líneas
que reciben el nombre de aristas. Al
analizar los grafos, los expertos logran
conocer cómo se desarrollan las
relaciones recíprocas entre aquellas
unidades que mantienen algún tipo de
interacción
(Definicion De, 2008 2015).
Vértices
Casa
Escuela
Tienda
Tíos
Casa
0
1
1
1
Escuela
1
0
0
1
Tienda
1
0
0
1
Tíos
1
1
1
0
Ilustración 2: Matriz que representa el grafo de la
ilustración 1.
Los
grafos
pueden
representar
diferentes problemas y para cada uno
de ellos, el grafo tiene ciertas
propiedades.
Si tenemos un grafo y es posible
dibujar todas sus aristas y vértices sin
levantar el lápiz, entonces decimos que
el grafo es conexo. Por ejemplo en la
ilustración 3 lo podemos observar,
debido a que siempre existe un camino
de aristas para poder llegar de un
vértice cualquiera a otro vértice del
mismo grafo. Esto no quiere decir que
tracemos sin remarcar alguna que otra
arista.
8to. Verano Estatal de Investigación
CONSEJO DE CIENCIA Y TECNOLOGÍA DEL ESTADO DE GUANAJUATO
Aplicación de la Teoría de los Grafos para ubicación y trazado de
las rutas a través de los edificios del CIMAT
Autores: Ramírez Silva Marco Aurelio CECYTE Guanajuato Plantel Valle
de Santiago, Tapia Rodríguez Maximino CIMAT
Ilustración 3: Grafo Conexo
Un camino en un grafo es una
secuencia de aristas de tal forma, que
dos aristas consecutivas, en la
secuencia, comparten un vértice como
extremo. Por lo anterior es posible ver
un camino como una secuencia de
vértices de tal modo que; para cada par
de vértices consecutivos, siempre
existe una arista con dichos vértices
por extremos.
El largo de un camino toma relevancia
ya que nos indica que tan cerca están
un par de vértices. Esto nos sirve para
decir qué camino tomar para llegar de
un vértice a otro de la manera más
eficiente. Es importante mencionar, que
el camino de menor largo no siempre
es la mejor opción cuando se trate de
un grafo con valores ponderados.
(Ramírez, 2008).
OBJETIVO
Implementar
un
sistema
de
señalización
y
varias
opciones
tecnológicas de ubicación y navegación
en CIMAT, utilizando las capacidades
académicas del centro, que permita a
visitantes y personal de recién ingreso
ubicarse por CIMAT.
 Crear un grafo, a partir de la
identificación
de
nodos
y
elementos de las ubicaciones de
CIMAT.
 Diseñar, generar, aprobar por
autoridades de CIMAT, y colocar
tarjetas en códigos QR en cada
cubículo, “Nodo” y/o espacio de
CIMAT.
 Crear una base de datos para
contener
y
administrar
la
información de los “Nodos” y
“Elementos” del grafo de CIMAT.
 Construir diferentes funciones de
costo de distancia entre nodos,
que
representen
diferentes
solicitudes de rutas entre nodos,
por ejemplo número mínimo de
escalones.
 Crear aplicaciones móviles que
lean la señalética y ubiquen y
guíen a las personas por CIMAT.
MATERIALES Y MÉTODOS
Comúnmente,
la
necesidad
por
encontrar un camino óptimo entre dos
puntos es de suma importancia, en la
teoría de grafos se han desarrollado
diversos algoritmos de búsqueda. Así
pues, analizaremos el algoritmo
Dijsktra, este fue el utilizado en la
aplicación a desarrollar.
Dijsktra: Determina la ruta más corta
desde un nodo origen hacia los demás
nodos para ello es requerido como
entrada un grafo cuyas aristas posean
pesos.
Lo primero que se debe de hacer es
marcar todos los vértices como no
utilizados. El algoritmo parte de un
vértice origen que será ingresado, a
partir de ese vértice se evaluarán los
adyacentes, como dijkstra usa una
técnica greedy – La técnica greedy
utiliza el principio de que para que
un camino sea óptimo, todos los
caminos que contiene también
deben ser óptimos - entre todos los
vértices adyacentes, buscamos el que
esté más cerca de nuestro punto
origen, lo tomamos como punto
intermedio y vemos si podemos llegar
más rápido a través de este vértice a
los demás. Después escogemos al
siguiente más cercano (con las
8to. Verano Estatal de Investigación
CONSEJO DE CIENCIA Y TECNOLOGÍA DEL ESTADO DE GUANAJUATO
Aplicación de la Teoría de los Grafos para ubicación y trazado de
las rutas a través de los edificios del CIMAT
Autores: Ramírez Silva Marco Aurelio CECYTE Guanajuato Plantel Valle
de Santiago, Tapia Rodríguez Maximino CIMAT
distancias ya actualizadas) y repetimos
el proceso. Esto lo hacemos hasta que
el vértice no utilizado más cercano sea
nuestro destino. Al proceso de
actualizar las distancias tomando como
punto intermedio al nuevo vértice se le
conoce como relajación (relaxation).
La
complejidad
del
algoritmo:
O(|V|2+|A|) = O(|V|2) sin utilizar cola de
prioridad, O((|A|+|V|) log |V|) = O(|A|
log |V|) utilizando cola de prioridad. Si
utilizamos un montículo de Fibonacci,
sería O(|V| log |V|+|A|). Podemos
estimar la complejidad computacional
del algoritmo de Dijkstra (en términos
de
sumas
y
comparaciones).
El algoritmo realiza a lo más n-1
iteraciones, ya que en cada iteración se
añade
un
vértice
al
conjunto
distinguido. Para estimar el número
total de operaciones basta estimar el
número de operaciones que se llevan a
cabo en cada iteración. Podemos
identificar el vértice con la menor
etiqueta entre los que no están en
Sk realizando n-1 comparaciones o
menos. Después hacemos una suma y
una comparación para actualizar la
etiqueta de cada uno de los vértices
que no están en Sk. Por tanto, en cada
iteración se realizan a lo sumo 2(n-1)
operaciones, ya que no puede haber
más de n-1 etiquetas por actualizar en
cada iteración. Como no se realizan
más de n-1 iteraciones, cada una de
las cuales supone a lo más 2(n-1)
operaciones, llegamos al siguiente
teorema. (Wikipedia, 2015)
ruta óptima para las diferentes
ubicaciones dentro del CIMAT.
CONCLUSIONES Y DISCUSIÓN
Después de haber realizado las
pruebas hemos podido localizar la ruta
optima, estamos en desarrollo de rutas
óptimas para situaciones específicas
del CIMAT que por su construcción es
importante considerar, es decir, si la
ruta esta al aire libre, la cantidad de
escalones, etc., para esto se esta
desarrollando
una
función
que
considerando estos filtros de un peso
(puntuación) a la ruta que nos marcará
como óptima.
REFERENCIAS BIBLIOGRÁFICAS
CONACYT. (2014). CONACYT - CIMAT.
Obtenido de
http://www.conacyt.mx/index.php/elconacyt/centros-de-investigacionconacyt/directorio-de-centros-deinvestigacion-conacyt/item/cimat
Definicion De. (1 de Enero de 2008 - 2015).
Definición DE. Obtenido de
http://definicion.de/grafos/
Ramírez, M. (30 de Enero de 2008). Olimpiada
de Informática del Estado de
Guanajuato. Obtenido de
http://www.cimat.mx/~amor/Omi/Entr
enamiento/index.html
Wikipedia. (01 de 06 de 2015). Wikipedia.
Obtenido de
https://es.wikipedia.org/wiki/Algoritm
o_de_Dijkstra
TEOREMA: El Algoritmo de Dijkstra
realiza O(n2) operaciones (sumas y
comparaciones) para determinar la
longitud del camino más corto entre
dos vértices de un grafo ponderado
simple, conexo y no dirigido con n
vértices.
RESULTADOS
Utilizando el algoritmo dijkstra hemos
podido obtener en distintos ejemplos la
8to. Verano Estatal de Investigación
CONSEJO DE CIENCIA Y TECNOLOGÍA DEL ESTADO DE GUANAJUATO
Descargar