Comunidad de Programadores
Iniciar sesión
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Recordar contraseña?
Iniciar sesión
Crear cuenta
Documentación y Recursos
Cursos y Manuales
Biblioteca de Temas
Código Fuente
Noticias/Artículos
PDFs de programación
Foros y Consultas
Foros de Consulta
Chats de prog.
Tablón de Notas
Diccionario informático
Programadores
Programadores
Ofertas de Trabajo
Programas
Programas/Utilidades
Nuestros Programas
Iconos y Cursores
Preguntas/Respuestas
Otros
Utilidades
Colaboradores
Encuestas/Estadísticas
Contactar
LWP
»
PDFs de programación
»
base de datos
» El algoritmo Fringe Search como solución superior a A* en la búsqueda de caminos sobre gráficos de malla
PDF de programación - El algoritmo Fringe Search como solución superior a A* en la búsqueda de caminos sobre gráficos de malla
Volver
Filtrado por el tag: base de datos
<<
>>
El algoritmo Fringe Search como solución superior a A* en la búsqueda de caminos sobre gráficos de malla
Publicado el 1 de Septiembre del 2018
1.154 visualizaciones desde el 1 de Septiembre del 2018
2,0 MB
107 paginas
Creado hace 9a (16/05/2015)
UNIVERSIDAD NACIONAL AUT ÓNOMA DE MÉXICO
FACULTAD DE CONTADURÍA Y ADMINISTRACI ÓN
El algoritmo Fringe Search como
solución superior a A* en la búsqueda de
caminos sobre gráficos de malla
T
E
S
I
S
PRESENTA:
Jesús Manuel Mager Hois
México, D.F.
2015
UNIVERSIDAD NACIONAL AUT ÓNOMA DE MÉXICO
FACULTAD DE CONTADURÍA Y ADMINISTRACI ÓN
El algoritmo Fringe Search como
solución superior a A* en la búsqueda de
caminos sobre gráficos de malla
E
S
T
QUE PARA OBTENER EL TÍTULO DE:
S
I
Licenciado en Informática
PRESENTA:
Jesús Manuel Mager Hois
ASESORA:
Mtra. GARCÍA VARGAS ADRIANA
México, D.F.
2015
Índice general
Índice de Algoritmos
Índice de figuras
Introducción
1. Marco teórico
1.1. Teoría de gráficos y definiciones formales . . . . . . . . . . . . . . . . . . . . . .
1.2. La búsqueda de caminos sobre gráficos desde la inteligencia artificial . . . . . . .
1.2.1. Búsqueda no informada
. . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2. Búsqueda informada . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. El Algoritmo Dijkstra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Marco Contextual
2.1. El algoritmo A* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1. Planteamiento formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2. La estimación heurística . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2.1. Distancia Manhattan . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2.2. Distancia de Chebyshov . . . . . . . . . . . . . . . . . . . . . .
2.1.2.3. Distancia Euclidiana . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2.4. Algunas notas sobre la función heurística . . . . . . . . . . . . .
2.1.3. El algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.4. Los tipos de datos usados para el algoritmo . . . . . . . . . . . . . . . .
2.1.4.1. Listas ordenadas . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.4.2. Binary Heap . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.4.3. Skiplist
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
3
4
7
15
15
17
18
20
21
24
24
24
25
26
27
27
28
28
30
31
31
32
2.1.4.4. Tablas hash y arreglos . . . . . . . . . . . . . . . . . . . . . . .
2.1.5.
Implementación mixta . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.6. Algunas notas sobre la implementación . . . . . . . . . . . . . . . . . . .
2.1.7. Análisis del código fuente
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Fringe Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1.
IDA* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2. Mejorando IDA*: Fringe Search . . . . . . . . . . . . . . . . . . . . . . .
2.2.2.1. Heurística . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2.2. Apuntes sobre los caminos generados . . . . . . . . . . . . . . .
2.2.3.
Implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4. Análisis del código fuente
. . . . . . . . . . . . . . . . . . . . . . . . . .
3. Método y técnica
3.1. El método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. El método dialéctico . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2. Tipo de estudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3. Fuentes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.4.
Indicadores y variables . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. La técnica utilizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4. Resultados
4.1. Comparación entre A* y Fringe Search . . . . . . . . . . . . . . . . . . . . . . .
4.1.1. La experimentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1.1. El entorno de experimentación . . . . . . . . . . . . . . . . . .
4.1.1.2. El experimento . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1.3. Presentación visual . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2. Comportamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2.1. Sobre un mapa de una sola medida . . . . . . . . . . . . . . . .
4.1.2.2. Sobre mapas aleatorios de medidas diversas
. . . . . . . . . . .
4.1.2.3. Regresiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.3. Análisis
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.3.1. Velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
32
33
33
39
39
40
41
41
42
43
50
50
50
52
52
53
53
55
55
55
55
56
57
58
58
59
60
62
62
2
4.1.3.2. Camino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Aplicaciones en casos prácticos
. . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1. Búsqueda de mejores caminos . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2. Caminos en el mundo real
. . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2.1. Problemas de transporte . . . . . . . . . . . . . . . . . . . . . .
4.2.2.2. Robótica
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3. Juegos de vídeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4. Otros usos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conclusiones
Anexos
Índice alfabético
Bibliografía
64
66
66
68
69
70
72
73
74
80
99
102
3
Índice de Algoritmos
1. Depth-First Search (DFS)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.
Breadth-first search (BFS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. Dijkstra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.
5.
A* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fringe Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
20
23
29
49
4
Índice de figuras
1.1. Gráfico de Lattice o de malla
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Algoritmo Djikstra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
22
2.1.
Implementación de las listas now y later. . . . . . . . . . . . . . . . . . . . . . .
43
4.1. Camino encontrado por A* en un gráfico 100x100. . . . . . . . . . . . . . . . . .
4.2. Camino encontrado por Fringe Search en un gráfico 100x100. . . . . . . . . . . .
57
58
4.3. Comportamiento de A* y Fringe Search con respecto al número de nodos del
gráfico y al tamaño del camino.
. . . . . . . . . . . . . . . . . . . . . . . . . . .
59
4.4. Comportamiento del tiempo de ejecución de los dos algoritmos con respecto al
tamaño del gráfico.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5. Residuos y datos relevantes para A*(arriba) y Fringe Search(Abajo) . . . . . . .
4.6. Comparación del tiempo de ejecución entre A* y Fringe Search sobre los mismos
gráficos.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7. Tabla ANOVA: relación entre la velocidad y los dos algoritmos . . . . . . . . . .
60
61
63
64
4.8. Comparación de los caminos generados A* y Fringe Search en los mismos gráficos. 65
4.9. Tabla ANOVA: Relación entre el tamaño del camino y los dos algoritmos . . . .
65
4.10. Búsqueda de caminos en MapQuest usando OpenStreetMap. La imagen fue toma-
da de la wiki de OSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.11. Búsqueda del mejor camino de robots esclavos . . . . . . . . . . . . . . . . . . .
4.12. Agentes del juego libre TuxHistory buscando el mejor camino para llevar la
70
71
cosecha del campo al granero.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
5
Dedicatorias
A mi madre Elisabeth Mager por haberme ofrecido todas las oportunidades, apoyo y cariño
para la optimización en este intrincado gráfico llamado vida.
6
Agradecimientos
Agradezco al pueblo mexicano que ha hecho posible que estudie en la Universidad Nacional
Autónoma de México, institución pública y gratuita, de una calidad extraordinaria y que aún
se encuentra al servicio de todos; a todos los profesores, trabajadores y alumnos de la UNAM
que han sido la comunidad que me ha formado desde el CCH Naucalpan, la FES Acatlán y
la Facultad de Contaduría y Administración; pero sobre todo a aquellos que han puesto sus
esfuerzos en conservar su espíritu crítico y abierto.
Quiero hacer mención especial del Lic. Carlos Pineda, profesor de la Facultad de Estudios
Superiores Cuautitlán que me ha dado dirección en el estudio del tema de búsqueda de mejores
camino, sobre todo en el área paralela, a mi asesora de tesis Mtra. Adriana García Vargas que
ha dedicado un gran esfuerzo en apoyarme en este trabajo, al Dr. Iván Vladimir Meza Ruiz del
IIMAS que aportó su orientación en la definición del tema, además de correcciones al trabajo
y a mi madre la Dra. Elisabeth Mager que me enseño desde joven a realizar investigaciones
exhaustivas y los métodos para alcanzar los objetivos académicos.
También agradezco a la comunidad de Software Libre en el mundo, y en especial al proyecto
Tux4Kids que me introdujo en este increíble mundo de la inteligencia artificial aplicada a juegos
que sirven en la enseñanza para niños en todo el mundo. También quiero agradecer al grupo
de Software Libre de la FES Cuautitlán y el apoyo con el diseño gráfico por parte de Rebeca
Guerrero.
7
Introducción
En un mundo virtual, que puede representar un espacio de la realidad, existen posibles
movimientos, y encontrar los mejores caminos para realizar un desplazamiento dentro de este
entorno es un tema que ha sido intensamente estudiado por la inteligencia
Links de descarga
http://lwp-l.com/pdf13322
Comentarios de: El algoritmo Fringe Search como solución superior a A* en la búsqueda de caminos sobre gráficos de malla (0)
No hay comentarios
Comentar...
Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
Cerrar
Cerrar
Cerrar
Cerrar
Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.
Puedes registrarte o validarte desde
aquí
.
Es necesario revisar y aceptar las políticas de privacidad
Acepto las
políticas de privacidad
Tags:
abstracciones
access
algoritmia
algoritmo
algoritmos
ansi c
api
awk
base
base de datos
bash
bd
c
c++
cpu
estructura de datos
estructuras de datos
expresiones regulares
facebook
fibonacci
games
gnu/linux
gpl
internet
java
juego
juegos
lenguaje c
lisp
macros
math
mathematica
python
r
redes
seguridad
sistemas operativos
software
software libre
tesis
unix
wireless
la vulnerabilidad de los sistemas informáticos
Filemaker Pro 14
Comentarios de: El algoritmo Fringe Search como solución superior a A* en la búsqueda de caminos sobre gráficos de malla (0)
No hay comentarios