Sie sind auf Seite 1von 42

UNIVERSIDAD AGRARIA DEL ECUADOR

CARRERA DE INGENIERÍA EN CIENCIAS DE LA COMPUTACIÓN

RED DE APRENDIZAJE:

FUNDAMENTOS LÓGICOS PARA EL DESARROLLO DE LAS CIENCIAS DE


LA COMPUTACIÓN

TEMA DEL SUBPROYECTO

APLICACIÓN DE LA TEORÍA DE GRAFOS A REDES CON ELEMENTOS


AUTÓNOMOS

AUTORES:

FREIRE BARRAGÁN GEORGE SALOMÓN


MARÍN FAJARDO STEVEN ERWIN
MURILLO FAJARDO RANDY ESTEBAN
MURILLO LOOR RONALDO NICOLÁS
PONGUILLO MURILLO MARCOS FERNANDO

DOCENTE CÁTEDRA INTEGRADORA:


ING. WILSON MOLINA

DOCENTE GUÍA:
ING. JOHANNA SÁNCHEZ G.

PERIODO: 2019 – 2020

GUAYAQUIL-ECUADOR
2

Tabla de contenido

Tabla de contenido 2

Índice de figuras 4

Índice de Tablas 4

Resumen 5

Aplicación de la Teoría de Grafos a Redes con Elementos Autónomos. 6

1. Propuesta del Proyecto 6

2. Introducción 7

3. Planteamiento y Formulación del Problema 8

3.1. Planteamiento del Problema 8

3.2. Formulación del Problema 8

3.3. Justificación de la investigación 8

3.4. Delimitación de la investigación 9

3.5. Objetivo General 9

3.6. Objetivos Específicos 9

4. Marco Teórico 10 Commented [1]: falta mas contenido y revisar las citas
bibliograficas de todo el documento

4.1. Estado del Arte 10

4.2. Introducción a la teoría de grafos 11

4.3. Aplicaciones de la teoría de grafos 13

4.3.1. Breve historia de aplicación de la teoría de grafos 13

4.3.2. Aplicación de la teoría de grafos en diferentes áreas 16

4.3.3. Teoría de grafos en el campo de la computación 18

4.4. Aplicación de grafos a redes con elementos autónomos 23


3

4.4.1. Algoritmo de Dijkstra 23

4.4.2. Aplicación de Dijkstra al Sistema de Transporte Masivo METROVIA 24

4.5. Comparación de las Ventajas y Desventajas de la aplicación del Algoritmo

de Dijkstra 27

4.5.1. Funcionamiento del Algoritmo de Dijkstra 27

4.5.2. Ventajas y Desventajas 28

4.6. Marco Contextual 29

4.6.1. Relación con la Física II 29

4.6.2. Relación con el Cálculo Integral 29

4.6.3. Relación con Lenguaje de Programación 30

4.6.4. Relación con Matemáticas Discretas 30

4.6.5. Relación con Lógica Computacional 30

4.6.6. Relación con Introducción al Pensamiento Crítico (IPC) 31

5. Metodología 32 Commented [2]: revisar las citas bibliograficas

5.1. Tipo de Investigación 32

5.2. Métodos 32

5.3. Técnicas 32

6. Conclusiones y Recomendaciones 33

6.1. Conclusiones 33

6.2. Recomendaciones 34

7. Bibliografía 35

8. Anexos 38
4

8.1. Figuras 38

8.2. Tablas 42

Índice de figuras

Figura 1 Ruta más corta entre A y E 38

Figura 2 Fórmula de complejidad del algoritmo de Dijkstra (1984) 38

Figura 3 Estudio de grafos dinámicos (1991) 38

Figura 4 Fórmula de complejidad del algoritmo de Thorup (1999) 38

Figura 5 Fórmula de complejidad del algoritmo para grafos dinámicos de Giuseppe

F. (2004) 39

Figura 6 Fórmula complejidad del algoritmo para grafos de Khopkar (2014) 39

Figura 7 Grafo de representando las personas unidas por amistad en Facebook 39

Figura 8 Grafo de las problemáticas asociadas a los patrones de navegación 39

Figura 9 Obtención del grafo 40

Figura 10 Todos los posibles cambios de línea del Algoritmo de Dijkstra 40

Figura 11 Algoritmo de Dijkstra 40

Figura 12 Funcionamiento de un Algoritmo de Dijkstra 41

Figura 13 Representación de un Grafo 41

Figura 14 Grafo demostrando la organización de una empresa 41

Índice de Tablas

Tabla 1. Ventajas y Desventajas del Algoritmo de Dijkstra 42


5

Resumen
6

Aplicación de la Teoría de Grafos a Redes con Elementos Autónomos.

1. Propuesta del Proyecto Commented [3]: revisar formato

Se basa en el análisis de la teoría de grafos y sus aplicaciones en distintas áreas, Commented [4]: una breve descripcion para usuarios que
desconocen del tema

tomando en consideración las rutas de transporte público / urbano en las grandes

ciudades se facilitará una ruta de movilización idónea para los 'usuarios'. Por medio

de los grafos y con la ayuda del algoritmo de Dijkstra se hará la comparación entre

dos o más caminos dando como resultado la opción más viable para el transporte,

aprovechando la teoría de grafos para hacerlo de la manera más óptima.

La relación del proyecto con las distintas materias se da de la siguiente forma:

Se relaciona con Física 2 porque permite el estudio de distancias y del tiempo

de los caminos a comparar. Se relaciona con Cálculo integral porque proporciona

fórmulas para derivar técnicas de división adecuadas para cada escenario, además

permite analizar datos específicos de un grafo (Densidad del Grafo, perdidas de un Commented [5]: revisar ortografia

método de solución). Se relaciona con Introducción al pensamiento crítico porque

permite analizar y extraer la información más importante para el proyecto. Se

relaciona con Lenguaje de programación porque permite/ayuda a representar un

grafo mediante dos tipos de estructuras: Estructura Lista (Lista de Adyacencia) o

Estructura de Matriz (Matrices de Adyacencia). Se relaciona con Lógica

computacional porque es la base de todo el desarrollo de software y permite

estudiar las diferentes aplicaciones para la representación computacional de

argumentos y las técnicas de deducción automática o asistida por computadora. Se

relaciona con Matemáticas discretas porque permite estudiar la estructura y

propiedades de la teoría de grafos, indispensable para el desarrollo del proyecto.


7

2. Introducción

Al día de hoy el cambio de rutas supone un importante inconveniente para los

usuarios. Por tanto, es fundamental mejorar el proceso de movilización

proporcionando al usuario información correcta y precisa y herramientas que

aseguren la calidad requerida al cálculo de rutas eficientes. Lo que causa la

necesidad de conocer un sistema con el fin de disminuir el tiempo necesario para

la obtención de mejores rutas y que permitirá a un usuario disponer la forma más

rápida de desplazamiento según sus preferencias.

La idea propuesta es agilizar las vías de transporte mediante un grafo. Y la

teoría de grafos puede ser empleada para aquello. Puesto que los GPS que se

utilizan a diario hacen un estudio por medio de los grafos, para encontrar el camino

más corto a la ruta buscada.

Es por esta razón que este trabajo presenta un análisis de redes con elementos

autónomos que apliquen la teoría de grafos, orientado a mejorar la movilidad de las

personas y considerando principalmente a aquellos que tengan vehículo propio. Se

implementa el algoritmo Dijkstra con el objetivo de gestionar rutas, entre un punto Commented [6]: lo hicieron¡???

de origen y un destino y que permita determinar el camino más corto entre dos

puntos de la ciudad ayudando a trasladarse de una manera mucho más eficaz. La

información utilizada para el desarrollo de este proyecto fue obtenida mediante una

investigación deductiva, debido a que se ha buscado y analizado redes con

elementos autónomos y el método propuesto se basa es aplicarlo la teoría de grafos

y se ha encontrado un algoritmo que puede mejorar y satisfacer el traslado de las

personas en su vehículo; también ha sido adquirida través de referencias

bibliográficas para determinar sus ventajas al momento de elegir su mejor ruta.


8

3. Planteamiento y Formulación del Problema

3.1. Planteamiento del Problema

Controlar la movilización de las personas es un problema cuando se requiere

trasladarlas de un punto a otro de una gran ciudad en un tiempo corto. Dentro de

Guayaquil, al ser una de las ciudades más grandes del Ecuador, en ocasiones

resulta difícil movilizarse de manera rápida por ella, especialmente en horas pico.

Al ser el centro del comercio del país, surge la necesidad de desarrollar en

Guayaquil un proyecto orientado a analizar un sistema de gestión de rutas, que

basado en el algoritmo de Dijkstra, permita determinar el camino más corto entre

dos o más puntos de la ciudad.

Actualmente la mayoría de vehículos cuentan con tecnología GPS, la cual a

través de mapas permite trazar una ruta desde la ubicación del vehículo hasta el

destino deseado, el problema surge cuando el camino marcado no resulta ser el

que permite llegar de manera más rápida al punto de llegada, es por esta razón que

se necesita un sistema que permita gestionar rutas que ayuden a las personas a

movilizarse por la ciudad de manera más fluida.

3.2. Formulación del Problema

¿Cómo se optimizaría la movilización en la ciudad de Guayaquil, aplicando el

Algoritmo de Dijkstra a una red con elementos autónomos?

3.3. Justificación de la investigación

La presente investigación se realizó para analizar un sistema de gestión de rutas

que permita optimizar la movilización de las personas en la ciudad de Guayaquil,

en el cual se representara la ciudad usando la teoría de grafos, y mediante la

aplicación del algoritmo de Dijkstra.


9

El proyecto es importante porque permitirá a las personas que se desplazan en

su vehículo por la ciudad, determinar cuál es el camino más corto desde su

ubicación hasta su destino, de manera que se movilicen en el menor tiempo posible.

3.4. Delimitación de la investigación

La presente investigación tiene lugar en Ecuador, región Costa, provincia del

Guayas, esta investigación fue realizada en cuatro meses y está dirigida a todo

público.

Espacio: Se realiza en Ecuador, en la ciudad de Guayaquil.

Tiempo: El tiempo estimado de esta investigación es 4 meses.

Universo: El escenario tomado serán las personas que se movilizan en su

vehículo propio en Ciudad de Guayaquil, puesto que estos son principales

afectados al desplazarse en la misma. Commented [7]: revisar y confirmar si es adecuado el


universo para esta investigacion

3.5. Objetivo General

Analizar la teoría de grafos usado el algoritmo de Dijkstra para la optimización

de rutas en la movilización de las personas dentro de la Ciudad de Guayaquil.

3.6. Objetivos Específicos

● Indagar sobre la teoría de grafos definición, términos y sus principales

características.

● Detallar las diferentes áreas de aplicación y uso de la teoría de grafos.

● Explicar la relación de las redes con elementos autónomos y la aplicación

de la teoría de grafos usando en el algoritmo de Dijkstra.

● Comparar las ventajas y desventajas de la aplicación del algoritmo de

Dijkstra

● Relacionar las aplicaciones de la teoría de grafos a redes de elementos

autónomos con las asignaturas del segundo semestre.


10

4. Marco Teórico

4.1. Estado del Arte

Los sistemas que se emplean actualmente, como son los sistemas de

comunicaciones, redes eléctricas o infraestructuras de transporte, se pueden

representar como redes: conjuntos de nodos interconectados. Entre los sistemas

de mayor complejidad están las redes en las cuales se encuentran elementos

autónomos que tienen capacidad de decisión, y en las cuales, además, puede

cambiar de forma dinámica la estructura de la red y los elementos que forman parte

del sistema. En estas redes existe un objetivo global y al mismo tiempo cada uno

de los elementos autónomos tiene sus propios intereses y objetivos particulares

(Vega Bayo, 2014).

Vega Bayo (2014) usa en su investigación un plan de evacuación de una ciudad

como ejemplo de sistema con elementos autónomos y estructura dinámica. Para

automatizar el diseño de planes de evacuación propone emplear la teoría de grafos

para modelar las vías de transporte y estructura de la ciudad como un grafo. Una

vez se dispone del grafo, la técnica de evacuación diseñada consiste en dividir el

sistema a evacuar en varios subsistemas interconectados que evolucionen de

forma independiente. Los individuos pertenecientes a un subsistema serán quienes

decidan si existen o no puntos de entrada al subsistema, así como la posible

ubicación de estos puntos. De este modo, cuando se produzca un conflicto entre

dos individuos de un subsistema al intentar acceder a un mismo punto, se les habrá

dado un motivo para aceptar el plan de evacuación y ceder el paso: la garantía de

que esa espera no les obligará a sufrir futuros conflictos, puesto que pueden colocar

las puertas de entrada a su subsistema de forma que esto no suceda.


11

4.2. Introducción a la teoría de grafos Commented [8]: faltan las características de acuerdo al
objetivo

La teoría de gráficas, es adecuada para que los informáticos modelen problemas,

pero también es adecuado para los matemáticos que tienen interés en la

complejidad computacional. La mayoría de los conceptos clásicos de la teoría de

grafos teórica y aplicada (árboles de expansión, conectividad, género, colorabilidad,

fluye en las redes, los apareamientos y recorridos). Se usa en la solución de

problemas (Czumaj, Meyer auf der Heide, Jansen, & Schiermeyer, 2006).

Como según indica Czumaj, Jansen, Meyer auf der Heide, & Schiermeyer (2006),

los grafos se pueden usar en diversos campos de enseñanza para resolver

problemas, no solo informáticos ni matemáticas, como se manifestó mucho antes,

pueden usarse en gran medida para la Cartografía, porque encaja perfectamente

la una con la otra. Como se indicó en partes anteriores los Grafos son estructura

de datos compuesta por dos conjuntos de pares ordenados o vértice, de hecho, se

puede ver a diario en diversas partes de nuestro entorno: ya sea en la ruta de

llegada de un bus o la conexión entre diversas calles. En cuanto a lo informático se

puede ver Grafos mediante la conexión entre una cadena de diversas redes, sin

embargo, en lo matemático, es fácil de deducir.

La teoría de grafos juega un papel importante en una amplia variedad de

disciplinas, que van desde la informática, sociología, ingeniería y física, para

molecular y la biología de la población. Dentro de los campos de la biología y la

medicina, los potenciales de aplicaciones de análisis de redes incluyen, por

ejemplo, la identificación objetivo de drogas, determinando una función del gen de

la proteína, o diseñar estrategias eficaces para el tratamiento de diversas


12

enfermedades o proporcionar el diagnóstico precoz de trastornos (Pavlopoulos, y

otros, 2011).

Como cita Pavlopoulos et al. (2011), La Teoría de grafos juega un rol importante

en varias disciplinas, se tiene como punto más destacable la informática, que como

ya se mencionó anteriormente trata de explicar el enlace entre dos o más redes

que pueden estar conectadas entre sí; en cuanto a la sociología se puede tratar de

explicar un árbol genealógico, identificar problemas de una sociedad, o calles de

un vecindario, mientras en ingeniería este tiene muchos usos y es muy práctico,

pudiéndose expresar desde algo tan complejo a algo sumamente fácil, y viceversa.

Sin dejar de mencionar que en física se lo puede tomar como ejemplo para

demostrar cómo se pueden unir dos o más objetos provocando un fenómeno

natural. Como se menciona en biología y medicina, estos tienen una mayor

cantidad de usos, pueden ir desde el descubrimiento de una nueva enfermedad o

cura, hasta para analizar cierta sustancia desconocida mediante ciencia molecular,

demostrar cómo se producen ciertos trastornos, el tratamiento de diversos dolores

o enfermedades.

El grafo es un término matemático utilizado para designar a un conjunto de

puntos unidos entre sí por segmentos, que pueden representar un proceso o

relación funcional de cualquier tipo, pero centra su atención en las relaciones

topológicas entre sus elementos. Precisamente fue desarrollada por el matemático

Leonhard Euler en el Siglo XVIII como una rama de la Topología Algebraica, e

introducida en la Geografía en los años sesenta por W.L. Garrison y F.D. Marble,

generalmente para estudiar la expresión de las redes de transporte sobre el espacio

geográfico (Zárate Martín & Rubio Benito, 2005).


13

Como indican Zárate Martín y Rubio Benito (2005), desde antes se ha usado la

teoría de Grafos para entrelazar calles o estudiar la ruta de llegada de un bus,

tomando en cuenta los diversos factores u objetivos que puedan rodear el estudio.

4.3. Aplicaciones de la teoría de grafos

4.3.1. Breve historia de aplicación de la teoría de grafos

1847

Para este año, se publica la primera aplicación a la teoría de grafos, que fueron las

leyes de Kirchhoff en análisis de redes eléctricas. Aquellas leyes de los circuitos

son utilizadas para calcular el voltaje y la corriente en los circuitos eléctricos.

1852

Se plantea uno de los problemas más famosos. El cuál era el problema de los cuatro

colores. En el que se enuncia: “¿Es cierto que cualquier mapa dibujado en el plano

puede tener sus regiones coloreadas con cuatro colores, de modo que dos regiones

vecinas tengan ¿Colores diferentes? planteado por Francis Guthrie y su primer

registro es en una carta de Morgan a Hamilton el mismo año. Así mismo fue el

primer gran teorema que se verifico utilizando una computadora, pero dicha

verificación no fue aceptada por todos los matemáticos, porque la prueba realizada,

era inviable para que un humano lo hiciera. (Verbel De Leon, 2018)

1857 Commented [9]: todo esto van con citas

Arthur Cayley resolvió el problema de la enumeración de los isómeros por medio

de la teoría de grafos. Para esto, representó cada compuesto (hidrocarburos

saturados) mediante un grafo árbol donde los nodos representan los átomos y los

arcos la existencia de enlaces químicos.

1953
14

Por primera vez se incluye el cálculo de APSP por Shimbel. Quien dedujo que

puede ser resuelto por una serie lineal de multiplicaciones en matrices.

1956

Se explica el primer modelo para resolver problema del camino más corto, el cual

es uno de los problemas más conocidos de esta ciencia.

Lester Ford Jr. difundió su algoritmo para deducir el SSSP que en inglés dice: Single

Source Shortest Path, traduce “Camino más corta de una sola fuente “.

1959

Surge el algoritmo Dijkstra. Uno de los algoritmos más famoso del problema de

SSSP en un grafo ponderado. Posee una complicación algorítmica de . Por

su simpleza suele ser muy usado en la práctica, como encaminamiento de paquetes

por los routeres, en geografía, etc.

1962

Se presenta el algoritmo de Floyd-Warshall para el problema de APSP. Este

algoritmo muestra la solución en una matriz de distancias, este un claro ejemplo de

programación dinámica.

1967

El primer algoritmo para realizar cálculos de APSP en grafos dinámicos se

publica por Peter S. Loubal. Y de igual manera se habla por primera vez de este

tipo de conducta en los grafos.

1969

El libro de Frank Harary es publicado en este año y es considerado como el texto

definitivo del tema y permitió a matemáticos, químicos, ingenieros eléctricos y

científicos sociales poder dialogar entre ellos.

1977 – 1981
15

El algoritmo de Johnson sale a la luz, el cual calcula el APSP para grafos

ponderados con arcos negativos, este de aquí es muy parecido al algoritmo de

Floyd-Warshall. Publicado por el científico de la computación Donald Bruce

Johnson empleando montículos de Fibonacci (se conocen también como Heap de

Fibonacci). Después de 4 años publica una versión de Dijkstra usando también los

montículos de Fibonacci. (Verbel De Leon, 2018)

1984

Se implementa el algoritmo de Dijkstra con una cola de prioridad implementada

por un montículo de Fibonacci. Esto se debe gracias a Fredman & Tarjan y corre

con una complejidad de (Ver Figura 2 en la pág. ).

1991

Ausiello continuó con el estudio de grafos dinámicos con un algoritmo para grafos

enteros de arco no mayores a un valor constante C.

(Ver Figura 3 en la pág. ).

1999

El algoritmo de Thorup se publica con una complejidad de (Ver Figura 4 en la

pag. ) para el cálculo de APSP en grafos no dirigidos.

Mikkel Thorup, informático danés quien fue profesor y jefe del Centro de Algoritmos

y Estructuras de datos Eficientes en la Universidad de Copenhague (Verbel De

Leon, 2018).

2004

El científico de la computación Giuseppe F. anuncia un algoritmo para grafos

dinámicos con una complejidad algorítmica de (Ver Figura 5 en la pág. ). Giuseppe

posee muchas investigaciones acerca de los caminos cortos en grafos y es uno de

los autores más citados.


16

2014

Se plantea un nuevo algoritmo para grafos dirigidos por Khopkar con una

complejidad algorítmica de (Ver Figura 6 en la pág. ) Que resulta uno de los

algoritmos más usados.

2017

Slobbe presenta un algoritmo mucha más eficaz que los anteriores para grafos

dinámicos en escenarios de peor caso. Los resultados de sus pruebas comparan

su algoritmo con métodos como los de Khopkar y Ramlingam y resulta ser mucho

más eficiente y veloz.

4.3.2. Aplicación de la teoría de grafos en diferentes áreas

La importancia que tienen la teoría de grafos, es debido a los diversos problemas

que se pueden resolver gracias a ellas como por ejemplo: la síntesis de circuitos

secuenciales, contadores o sistemas de apertura (León, 2017).

Es utilizada en diferentes áreas cómo lo son: dibujo computacional, sistemas,

administración, matemática, informática, electrónica, ciencias sociales y biología.

Entre otras aplicaciones se utiliza para:

● Cartografía (coloreado de mapas)

● Modelado matemático

● Determinación de tiempos en el desarrollo de proyectos

● Urbanistas

● Programación de exámenes en una institución educativa

● Programación de horarios en una entidad cualquiera

● Programación de distribución de servicios públicos (recolección de

basuras en una ciudad, red de acueducto, de alcantarillado y de gas)

● Diseño de boards o tarjetas plásticas para dispositivos electrónicos.


17

● Redes de computadores

También suelen ser usados para modelar trayectos, tales como:

El de una línea de autobús a través de las calles de una ciudad, en el que

podemos obtener los caminos más óptimos para el recorrido aplicando diversos

algoritmos como puede ser el algoritmo de Floyd.

Los GPS que utilizamos a diario, realizan el cálculo de dichos trayectos basados

en el algoritmo Dijkstra, haciendo un estudio por medio de los grafos, para encontrar

el camino más corto a la ruta buscada.

En la actualidad, se están agregando nuevas variables, como lo son: el nivel de

tráfico, estado de la calle a transitar, entre otros, para que el sistema GPS, facilite

una solución más óptima.

La teoría de grafos también es aplicada a las ciencias sociales con el propósito

de desarrollar un concepto no metafórico de redes sociales que sustituyan a los

nodos de actores sociales verificando su posición, centralidad e importancia en la

red, permitiendo calcular y abstraer relaciones complejas de manera que se pueda

representar gráficamente.

Es decir, en una red social se puede representar por media de una estructura en

la que se verá representada una sociedad donde se ven identificados los vínculos

(aristas), la dirección y la intensidad.

De igual manera, esto se aplica en problemas de control de producción, para

poder proyectar redes de ordenadores, y también para diseñar módulos

electrónicos modernos. Se emplean los grafos para la solución de problemas de

genética y problemas de automatización de la proyección (SAPR).


18

4.3.3. Teoría de grafos en el campo de la computación

Los grafos son un conjunto de datos que sirven para conformar una infinidad de

problemas que se pueden expresar de manera computacional. A diferencia de la

estructura de árbol, los grafos son una estructura mucho más flexible, por lo cual

permite utilizarlos en aplicaciones de este tipo:

Computación distribuida:(computadoras conectadas a una red), el mayor sitio

distribuido del planeta, es el internet, en la que cada uno de nuestros ordenadores

podría ser un nodo dentro de un enorme grafo. Así que cuando estas usando

internet en tu computador sabrás que esta todo trabajando sobre grafos (Sartori,

2017).

Redes sociales:

Una de las R.S., Facebook usa grafos para administrar las relaciones de amistad

entre personas. Cuando ves la opción “Personas que quizá conozcas”,

básicamente es el resultado de un algoritmo que está trabajando sobre grafos, el

cual dice que aquella persona (nodo externo) está cerca de tu “nodo”, basado en

que existe una relación o nexo de unos de tus amigos directos a ese “nodo externo”,

por lo cual hay una gran posibilidad de que lo conozcas.

Según Rochina (2017), el incremento del uso de las redes sociales (Facebook,

twitter, Instagram, etc.) en todas las áreas de la sociedad, está siendo de gran

importancia para la creación y distribución de información entre las personas,

conlleva hacer un análisis de las mismas en un entorno de Big Data y Business

Intelligence con el fin de obtener información relevante para las empresas, como

por ejemplo la Teoría de Grafos.


19

En un concepto simple, una red social se basa en establecer relaciones entre

individuos, que a su vez establecen relaciones entre ellas, creando un grafo de

personas unidas por amistad.

(Ver Figura 7 Grafo de representando las personas unidas por amistad en

Facebook en la pág. )

En esta imagen, cada punto (nodo) representa a un individuo y cada línea

(arista) establece la conexión de amistad entre dos nodos. Vista esta

representación de las relaciones dentro de una red social no es de extrañar que a

través de la teoría de grafos se estudien los patrones seguidos, con la finalidad de

incrementar la inteligencia de negocio (Rochina, 2017).

Base de datos,

Una Base de Datos en Grafo (BDG, a partir de ahora) es una base de datos

que tiene como finalidad almacenar información que se puede representar por

medio de nodos y aristas entre ellos.

Por definición, una BDG agruparía a cualquier solución de almacenamiento en

la que los elementos que están conectados se juntan sin hacer uso de una

referencia por medio de sus índices, de esta forma, los vecinos de una entidad son

accesibles directamente por ella por medio de una referencia directa, sin pasar por

estructuras intermedias que hagan el proceso de referenciado.

Por consiguiente, una BDG debe cumplir los siguientes criterios:

El almacenamiento está optimizado para manifestar datos como un grafo,

proporcionando los nodos y las aristas que lo componen.

El almacenamiento está optimizado para realizar los trasversales a través del

grafo, sin uso de índices que "representen" las aristas. Por ello, una BDG está

optimizada para efectuar consultas en los datos en las que intervengan relaciones
20

de proximidad (conexiones) entre los datos, y no para la realización de consultas

globales.

El modelo de datos es flexible... lo que en algunas ocasiones permite no

declarar tipos de nodos o de aristas (el tipo de nodo o arista sería equivalente a las

distintas tablas que se definen en un modelo relacional).

También se integra funciones para aplicar los algoritmos clásicos de la Teoría

de Grafos (caminos más cortos, A*, medidas de centralidad, etc.)

Esto lo supieron materializar y, desde luego monetizar, empresas como

Facebook, Google y Twitter cuyo "big data" conectado es el núcleo de estos

negocios y detrás de todo esto están los grafos.

Un claro ejemplo, es el reino de Facebook construido por Mark Zuckerberg está

basado en el valor de las relaciones entre las personas capturando todas estas

conexiones en un "grafo social".

Para todas las aplicaciones anteriormente mencionadas, se pueden utilizar BD

No SQL, para persistir el grafo en disco. Un ejemplo de este BD es: Neo4j, the

world's leading Graph database - Neo4j Graph Database.

Hay bastantes opciones para poder elegir, y se va a cubrir brevemente algunas de

ellas aquí para ayudar a decidir cuál es la mejor opción para su proyecto.

Las principales son:

● Neo4J

● OrientDB

● ArangoDB

● JanusGraph

Hay que tener en cuenta que estas no son las únicas opciones para elegir, por lo

que debe investigar las opciones completamente antes de tomar una decisión.
21

Al escuchar base de datos de grafos, Neo4J es probablemente el nombre que la

mayoría de la gente se le viene a la cabeza. Es la opción más antigua y el nombre

más conocido.

Sin embargo, no es tan rico en funciones como otras opciones, y posiblemente

no tan eficiente.

JanusGraph, por otro lado, es un nombre muy nuevo en la escena de la base de

datos de grafos. Ha estado en desarrollo desde 2012, pero tuvo su primer

lanzamiento en 2017.

Se está trabajando bajo The Linux Foundation y es completamente gratuito para

que cualquiera pueda usar o contribuir en el proyecto.

Movilidad de personas (IoT)

Cada persona que se mueve en la ciudad con su teléfono móvil, podría ser un nodo

dentro de un grafo, el cual permita detectar grandes afluencias de personas en

determinado sector y hora del día dentro de la ciudad (densidad). Y esto claramente

se debe realizar con grafos (Sartori, 2017).

Los patrones de comunicación de millones de personas son los teléfonos móviles,

y los grafos permiten estudiar simultáneamente la estructura local y la global de una

sociedad en toda la red de comunicación, en las cuales se observan acoplamientos

entre la interacción fuerte y una red de la estructura local.

Inteligencia artificial:

Las populares redes neuronales, son algoritmos que son modelados a través de

grafos. Las Redes Neuronales son un campo muy importante dentro de la

Inteligencia Artificial. Inspirándose en la actividad conocida del cerebro humano

(principalmente el referido a las neuronas y sus conexiones), trata de establecer


22

modelos artificiales que solucionen problemas difíciles de resolver mediante

técnicas algorítmicas convencionales (Sartori, 2017).

Se puede definir (Hecht – Nielssen 93) como un grafo dirigido con las siguientes

restricciones:

Los nodos se llaman elementos de proceso (EP).

Los enlaces se llaman conexiones y funcionan como caminos unidireccionales

instantáneos. Cada EP puede tener cualquier número de conexiones. Todas las

conexiones que salgan de un EP deben tener la misma señal. Los EP pueden tener

memoria local. Cada EP posee una función de transferencia que, en función de las

entradas y la memoria local produce una señal de salida y / o altera la memoria

local. Las entradas a la RNA llegan del mundo exterior, mientras que sus salidas

son conexiones que abandonan la RNA.

S.O.Android:

Dentro de la programación de Android, los grafos se los usa para resolver

problemas asociados a los patrones de navegación comunes, y a su vez, para el

estudio de patrones de navegaciones basados en Fragmentos (Sartori, 2017).

El diagrama de una aplicación Android está representado por un grafo dirigido, en

la que, se puede establecer las conexiones entre la actividad principal y todas las

que se desarrollan a partir de ella.

En el artículo "Guía de desarrolladores de Android para el Patrón de Navegación

de Fragmentos" se puede estudiar como el autor Becze Szabolcs, hace uso de los

grafos para representar las problemáticas asociadas a los patrones de navegación

y cómo el desarrollo de las actividades por medio de fragmentos da solución.

(Ver Figura 8 en la pág. )


23

4.4. Aplicación de grafos a redes con elementos autónomos

4.4.1. Algoritmo de Dijkstra

También llamado algoritmo de caminos mínimos, es un algoritmo para la

determinación del camino más corto dado un vértice origen al resto de vértices en

un grafo con pesos en cada arista. Su nombre se refiere a Edsger Dijkstra, quien lo

describió por primera vez en 1959.

Aplicación del Algoritmo de Dijkstra

El problema del camino más corto consiste en determinar el camino de menor

costo, desde un vértice (A) a otro vértice (E). El costo de un camino es la suma de

los costos de los arcos que lo conforman. Ver (Figura 1 Ruta más corta entre A y

E)

En múltiples situaciones donde se aplican los grafos, es necesario conocer el

camino de menor costo entre dos vértices dados:

● Distribución de productos a una red de establecimientos comerciales.

● Distribución de correos postales.

● Sean los vértices, la formación de un grafo dirigido ponderado.

Características del algoritmo

● Es un algoritmo greedy. “Diremos que un algoritmo es greedy cuando en

cada paso, elige la “mejor” solución local”. (Gastón, 2012)

● El enfoque “greedy” no garantiza obtener soluciones óptimas.

(Departamento de Ciencias de la Computación e I.A.)

● Al trabajar por etapas elige la mejor solución sin considerar

consecuencias futuras.

● La opción óptima encontrada en una etapa se puede modificar

posteriormente si surge otra mejor.


24

4.4.2. Aplicación de Dijkstra al Sistema de Transporte Masivo METROVIA

Dentro de la ciudad de Guayaquil se realizó el estudio de un sistema informático

que se utilizaría a través de Internet por los mismos usuarios, donde se daría a

conocer la forma más rápida de desplazamiento con METROVIA, pudiendo

planificar de antemano la ruta a tomar.

La red de transporte urbano masivo de Guayaquil, puede ser representada

mediante un grafo dirigido D = (V, A), donde los elementos de V son las paradas

de las troncales y alimentadoras y los elementos de A representan los enlaces de

transporte que conectan a las paradas. Commented [10]: citas

El problema de determinar las rutas más cortas al interior del sistema de

transporte Metrovia puede formularse como un problema de caminos más cortos

en D, considerando una restricción adicional asociada a las líneas de transporte: si

se llega a un nodo intermedio V empleando un arco correspondiente a una línea l,

entonces para salir de V debe emplearse también un arco de Al, o pagar un costo

adicional que simboliza el tiempo requerido para el cambio de línea.

Esta nueva restricción puede modelizarse al crear | L | copias del conjunto de

nodos y definir un dígrafo distinto Dl = (V l, Al) para cada línea l ∈ L. Se conectan

todas las “copias” de una parada entre sí con arcos cuyos costos indican los

tiempos de espera para cambiar de línea. Se obtiene así un nuevo grafo Ver (Figura

9 Obtención del grafo) donde B es el conjunto de todos los arcos de “cambio de

líneas”.

Ver (Figura 10 Todos los posibles cambios de línea)

Da una ilustración de como modelar el problema de tener un sistema de

transporte con seis estaciones y dos líneas, el cual es representado mediante un

grafo. Como se puede observar se tiene que por las estaciones 4 y 5 pasan las dos
25

líneas y las dos llegan a la estación seis. En el momento de cambiar de línea se

toma un arco de color negro cuyo costo es el tiempo de espera de un bus de la otra

línea. El algoritmo de solución que se ha desarrollado no trabaja sobre el grafo D

explícitamente sino que emplea la idea de etiquetas en los nodos introducida por

los algoritmos para el SPPRC. Para v ∈ V, la etiqueta (cκ, lκ) registra el costo cκ(es

decir, el tiempo total de recorrido) de un camino desde el nodo de partida hasta V

y la línea lκ a la que pertenece el ultimo arco de este camino. El algoritmo opera

entonces en una forma similar a la de los algoritmos de fijación de etiquetas (o al

algoritmo de Dijkstra para el SPP clásico); tal como se describe a continuación:

Algoritmo de optimización

{Inicialización}

Ingresar s, t;

Crear cola de prioridad P;


Generar etiquetas de los sucesores de t y guardar etiquetas en P;

Mientras Exista etiquetas en P o llegar a procesar el nodo t hacer

Se selecciona una etiqueta de P mediante la operación top, para la cual se


tiene que sea mínima (la de menor tiempo de viaje);

Procesar la etiqueta

para un sucesor del nodo de la etiqueta seleccionada hacer

Si hay cambio de línea entonces

tiempo viajej: = tiempo espera + tiempo viajej−1 + tiempo viaje;


Fin si

tiempo viajej: = tiempo viajej−1 +tiempo viaje;

Guardar la etiqueta del nodo sucesor en P


Fin para
26

Eliminar etiqueta seleccionada de P


fin mientras

Las etiquetas se mantienen en una cola de prioridad P, donde los elementos

están ordenados de menor a mayor tiempo de viaje. Al realizar la operación Top

extrae de la cola la etiqueta con menor tiempo de entre todas las etiquetas

generadas para todos los nodos. El algoritmo termina cuando se llega al nodo s

(nodo de llegada) o cuando la cola de prioridad está vacía, en cuyo caso no existe

una ruta factible en el sistema para desplazarse desde t hasta s.

Al implementar un algoritmo de este tipo, mantener en la memoria principal del

computador la estructura completa del grafo tendría un impacto negativo sobre la

eficiencia del cálculo. Por esta razón se ha diseñado una base de datos para

almacenar la configuración de la red METROVIA. Esta base es consultada durante

la ejecución del algoritmo, con lo que se consigue mantener en la memoria

únicamente los nodos (paradas) y arcos (vías) necesarios para la resolución de la

instancia actual.
27

4.5. Comparación de las Ventajas y Desventajas de la aplicación del

Algoritmo de Dijkstra

4.5.1. Funcionamiento del Algoritmo de Dijkstra

“El algoritmo de Dijkstra es un algoritmo de cálculo de ruta basado en estado del

enlace. Para ilustrar como el algoritmo de Dijkstra calcula la ruta optima, se va a

suponer que el estado del enlace viene determinado por una métrica. De ser así,

cada enlace debería tener asociado un valor numérico. Generalmente, este valor

es inversamente proporcional a la capacidad del enlace y proporcional a la carga

de este o una combinación ponderada de ambos. Por lo tanto, una ruta vendrá

determinada por la suma de todas las métricas de todos los enlaces por los que se

pase. Y la ruta optima, será aquella que menor métrica calculada tenga.” (Gil

Vázquez, Pomares Baeza, & Candelas Herias, 2010)

Comprender un criterio, recordar algún evento importante suele ser un poco

complejo, generalmente las personas recuerdan el 20% de lo que ven, el 40% de

lo que ven y escuchan, y el 70% de lo que ven, escuchan y realizan.

Como parte de nuestros esfuerzos para recordar dichos eventos o pensamientos

nace “El Algoritmo de Dijkstra” o también llamado “Algoritmo de Caminos Mínimos”

es un algoritmo para la determinación de una ruta más corta entre un nodo y todos

los demás nodos de un grafo, según se entiende lo manifestado por (Gil Vázquez,

Pomares Baeza, & Candelas Herias, 2010). (Ver Figura 11 Algoritmo de Dijkstra)

Pero… ¿Cómo trabaja? Primero se marca todos los vértices no utilizados. El

algoritmo parte de un vértice origen, a partir de ese vértice se evalúa sus

adyacentes, usando la técnica greedy; es decir, utiliza el principio para que un

camino sea optimo, todos los caminos que contiene también deben ser óptimos,

entre los vértices adyacentes se busca el que esté más cerca de nuestro punto de
28

origen, se toma como punto intermedio y se ve si puede llegar más rápido a través

de este vértice a los demás. Después se escoge el siguiente más cercano y se

repite el proceso. Todo este proceso se lo hace 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 lo conoce como relajación. (Ver Figura

10 Todos los posibles cambios de línea del Algoritmo de Dijkstra)

4.5.2. Ventajas y Desventajas

● Ventajas

⮚ Analiza cada nodo para elegir la mejor ruta con el mínimo coste.

⮚ Cada uno de los nodos posee información sobre la topología del

algoritmo.

⮚ Es el más usado y reconocido para resolver problemas complejos

con el fin de llegar a una solución óptima.

⮚ En informática, para poder avisar sobre cualquier cambio en la

topología de nuestro algoritmo tiene como evento inundar la red

mediante diversos protocolos.

● Desventajas

⮚ En informática, inunda la red mediante protocolos con el fin de

conocerla por primera vez a modo de spam.

⮚ Debe tener un diseño jerárquico estricto para poder dividir los nodos

en áreas más pequeñas, de modo que se pueda reducir las tablas

topológicas.

⮚ A diferencia de otros algoritmos, el Algoritmo de Dijkstra solo puede

manejar pesos positivos.

(Ver Tabla 1. Ventajas y Desventajas del Algoritmo de Dijkstra)


29

4.6. Marco Contextual

4.6.1. Relación con la Física II

La física es la ciencia que estudia el funcionamiento del universo, siendo

que la Velocidad, movimiento, dirección y aceleración son términos comunes

en física. (Zita, 19 )

Esto permite el estudio del espacio y tiempo de los caminos posibles a comparar,

puesto que la noción del “camino más corto” se refiere a un grafo (conexo) sin pesos

y en un modelo de la red de carreteras más realista es conveniente asociar a cada

arista un peso que reflejara, por ejemplo, la distancia en kilómetros que separa sus

dos extremos y el objetivo del conductor seria ahora establecer una ruta cuya

longitud total (en kilómetros) fuera lo más corta posible (Fernandez, 2008)

4.6.2. Relación con el Cálculo Integral

El cálculo integral, encuadrado en el cálculo infinitesimal, es una rama de las

matemáticas en el proceso de integración o antiderivación, y se utiliza

principalmente para el cálculo de áreas y volúmenes de regiones y sólidos de

revolución. (Nieves, 2019)

Su relación con el proyecto es proporcionar las fórmulas para derivar técnicas de

división adecuadas para cada escenario, además permite analizar datos

específicos de un grafo (Densidad del Grafo, perdidas de un método de solución) y

el grado de cercanía que tendría un nodo para alcanzar el resto de los nodos de la

ruta, y de igual manera la Cercanía que para realizar estos cálculos es necesario

convertir el grafo orientado en uno no orientado (Molina, 2014)


30

4.6.3. Relación con Lenguaje de Programación

Un Lenguaje de programación consiste en el conjunto de símbolos y palabras

que tienen conjunto de reglas (sintaxis) que permiten especificar algoritmos sobre

un ordenador (Ferrís & Barber, 2015).

La relación del proyecto con lenguaje de programación es que permite

representar un grafo mediante dos tipos de estructuras: Estructura Lista (Lista de

Adyacencia) donde cada vértice tiene una lista de vértices los cuales son

adyacentes a él. Esto causa redundancia en un grafo no dirigido (A existe en la lista

de adyacencia de B y viceversa), pero las búsquedas son más rápidas, al costo de

almacenamiento extra. O estructura de Matriz (Matrices de Adyacencia) en la cual

las aristas son representadas con un vector de pares (ordenados, si el grafo es

dirigido), donde cada par representa una de las aristas. (Unipamplona, 2012)

4.6.4. Relación con Matemáticas Discretas

La Teoría de Grafos es una rama directa de las matemáticas, guarda una

relación muy fuerte con Matemática Discreta al tener sus fundamentos basados en

esta materia.

Mendoza, Becerril & Jiménez (2014) exponen que permite estudiar las

propiedades y la estructura de los grafos que consta de dos partes, el conjunto de

vértices (también llamados nodos o puntos) y el conjunto de aristas (líneas o lados

que pueden o no ser orientadas).

4.6.5. Relación con Lógica Computacional

La lógica es una de las grades herramientas, más utilizadas en el estudio de las

ciencias exactas: Matemáticas, física, medicina, etc., también se utiliza en la vida

diaria, por ejemplo: desarrollar problemas, a la hora de realizar las actividades

cotidianas.
31

Martinez (2015), expone que la lógica computacional, es la base de todo el

desarrollo del software, desde sus inicios en 1936 (Creado por el ingeniero alemán

Konrad Zuse) hasta esta época. A medida que el tiempo pasa, el acceso a la

computación (como estudio) se ha venido aumentando, gracias a la evolución de

las tecnologías y la creación de programas que cada vez satisfacen más y más

necesidades, por medio de las mismas, además permite estudiar las diferentes

aplicaciones para la representación computacional de argumentos y las técnicas de

deducción automática o asistida por computadora.

4.6.6. Relación con Introducción al Pensamiento Crítico (IPC)

Introducción al Pensamiento Crítico es muy importante para el proyecto porque

desarrolla la habilidad de tener un pensamiento claro y racional.

El pensamiento crítico es un tópico importante y vital en la vida de las personas,

tiene como propósito mejorar la habilidad del pensamiento de las personas,

(Schafersman, 1991).

Paul & Elder (2003), dan a conocer que el Pensamiento Crítico:

● Acumula y evalúa información relevante y usa ideas abstractas

para interpretar esa información efectivamente.

● Llega a conclusiones y soluciones, probándolas con criterios y

estándares relevantes.

● Piensa con una mente abierta dentro de los sistemas alternos de

pensamiento; reconoce y evalúa, según es necesario, los supuestos,

implicaciones y consecuencias prácticas.

● Ayuda idear soluciones a problemas complejos.


32

5. Metodología

5.1. Tipo de Investigación

El desarrollo de este proyecto se realizó mediante una investigación de tipo

Documental debido a que la información se obtuvo de documentos web, los cuales

permiten referenciar y citar estas fuentes de información.

5.2. Métodos

Se aplicó el Método Inductivo, y se afirma que es Inductivo porque el proyecto

parte de la investigación de grafos y el análisis de estos mismo, el algoritmo de

Dijkstra y su forma de trabajar en una red de elementos autónomos, proyectos ya

realizados que apliquen la teoría de grafos a redes autónomas

5.3. Técnicas

Entre las técnicas que se emplearon en el proyecto se tiene la Recopilación

Bibliográfica, porque la información utilizada se obtuvo desde documentos web y

una tesis de titulación, a esta información se aplicó la técnica del Parafraseo,

tomando las ideas principales de los autores y el resto explicado con nuestras

palabras, haciéndolas ideas más claras.


33

6. Conclusiones y Recomendaciones

6.1. Conclusiones
34

6.2. Recomendaciones
35

7. Bibliografía

Czumaj, A., Meyer auf der Heide, F., Jansen, K., & Schiermeyer, I. (Febrero de

2006). Algorithmic Graph Theory. Obtenido de Mathematisches

Forschungsinstitut Oberwolfach:

https://publications.mfo.de/bitstream/handle/mfo/2937/OWR_2006_07.pdf?

sequence

Departamento de Ciencias de la Computación e I.A. (s.f.). Algoritmos greedy.

Obtenido de https://elvex.ugr.es/decsai/algorithms/slides/4%20Greedy.pdf

Fernandez, P. (8 de noviembre de 2008). Obtenido de

http://verso.mat.uam.es/~pablo.fernandez/cap8-grafos1.pdf

Ferrís, R., & Barber, F. (2015). Lenguajes de programación. Obtenido de

Introducción a los lenguajes de programación:

http://informatica.uv.es/iiguia/AED/teoria/apuntes/cuatr1/AED.Tema.02.pdf

Gastón, I. (2012). Algoritmos Greedy. Obtenido de https://tc-arg.tk/pdfs/2012/03-

Greedy.pdf

Gil Vázquez, P., Pomares Baeza, J., & Candelas Herias, F. A. (Octubre de 2010).

Redes de transmisión de datos. Obtenido de

https://publicaciones.ua.es/files/detalles/6712028Fragmento.pdf

León, V. (Marzo de 2017). Aplicaciones de la Teoría de Grafos. Obtenido de

Ingeniera de Ideas:

http://ingenieradeideas.blogspot.com/2017/03/aplicaciones-de-la-teoria-de- Commented [11]: de blogs no debe sacar informacion

grafos.html

Martinez, M. A. (2015). La Importancia de la logica informatica. Obtenido de

Sistematizacion de datos: http://ensayologicainformatica.blogspot.com/


36

Mendoza, C., Becerril, C., & Jiménez, A. (Marzo de 2014). Matematicas Discretas.

Obtenido de Teoría de Grafos:

https://es.slideshare.net/JanethJimenez93/matemticas-discretas-teora-de-

grafos

Molina, J. L. (16 de octubre de 2014). Obtenido de

http://pagines.uab.cat/joseluismolina/sites/pagines.uab.cat.joseluismolina/fil

es/ars2.pdf

Nieves, E. M. (10 de noviembre de 2019). Obtenido de

https://edumatth.weebly.com/caacutelculo-integral.html

Paul, D. R., & Elder, D. L. (2003). La mini-guía para el Pensamiento crítico

Conceptos y herramientas. Obtenido de Fundación para el Pensamiento

Crítico: https://www.criticalthinking.org/resources/PDF/SP-

ConceptsandTools.pdf

Pavlopoulos, G. A., Secrier, M., Moschopoulos, C. N., Soldatos, T. G., Kossida, S.,

Aerts, J., . . . Bagos, P. G. (2011). Using graph theory to analyze biological

networks. Obtenido de BioData Mining:

https://biodatamining.biomedcentral.com/articles/10.1186/1756-0381-4-10

Rochina, P. (2017). El análisis de redes sociales mediante la teoría de grafos.

Obtenido de Revista Digital INESEM:

https://revistadigital.inesem.es/informatica-y-tics/teoria-grafos/

Sartori, C. C. (2017). ¿Cuál es la importancia de la teoría de grafos en las ciencias

de la computación? Obtenido de https://es.quora.com/Cuál-es-la-

importancia-de-la-teoría-de-grafos-en-las-ciencias-de-la-computación
37

Schafersman, S. D. (Enero de 1991). AN INTRODUCTION TO CRITICAL

THINKING. Obtenido de http://facultycenter.ischool.syr.edu/wp-

content/uploads/2012/02/Critical-Thinking.pdf

Unipamplona. (1 de marzo de 2012). Obtenido de

http://www.unipamplona.edu.co/unipamplona/portalIG/home_23/recursos/g

eneral/11072012/grafo3.pdf

Vega Bayo, M. (2014). Aplicación de teoría de grafos a redes con elementos

autónomos. Obtenido de Grado en Ingeniería en Tecnologías de las

Telecomunicaciones (Escuela Politécnica Superior):

http://www3.uah.es/libretics/concurso2014/files2014/Trabajos/Aplicacion%2

0de%20la%20teoria%20de%20grafos%20a%20redes%20con%20element

os%20autonomos.pdf

Verbel De Leon, A. (Junio de 2018). Breve historia de la Teoría de Grafos. Obtenido

de Mi Camino Máster: http://micaminomaster.com.co/grafo-

algoritmo/historia-teoria-grafos/

Zárate Martín, M. A., & Rubio Benito, M. (2005). Geografía Humana. Sociedad,

economía y territorio. Obtenido de

http://estudiosgeograficos.revistas.csic.es/index.php/estudiosgeograficos/ar

ticle/view/60

Zita, A. (19 de 03 de 19 ). TodaMateria . Obtenido de

https://www.todamateria.com/que-es-la-fisica/
38

8. Anexos

8.1. Figuras

Figura 1 Ruta más corta entre A y E

(Gastón, 2012)

Figura 2 Fórmula de complejidad del algoritmo de Dijkstra (1984)

(Verbel De Leon, 2018)

Grafo A Grafo A después de una inserción de arco

Figura 3 Estudio de grafos dinámicos (1991)

(Verbel De Leon, 2018) Commented [12]: acomodar las imagenes no se entienden

Figura 4 Fórmula de complejidad del algoritmo de Thorup (1999)

(Verbel De Leon, 2018)


39

Figura 5 Fórmula de complejidad del algoritmo para grafos dinámicos de

Giuseppe F. (2004)

(Verbel De Leon, 2018)

Figura 6 Fórmula complejidad del algoritmo para grafos de Khopkar (2014)

(Verbel De Leon, 2018)

Figura 7 Grafo de representando las personas unidas por amistad en Facebook

(Rochina, 2017)

Figura 8 Grafo de las problemáticas asociadas a los patrones de navegación

(León, 2017)
40

Figura 9 Obtención del grafo

(Gastón, 2012)

Figura 10 Todos los posibles cambios de línea del Algoritmo de Dijkstra

(Gastón, 2012)

Figura 11 Algoritmo de Dijkstra

(Gil Vázquez, Pomares Baeza, & Candelas Herias, 2010)


41

Figura 12 Funcionamiento de un Algoritmo de Dijkstra

(Gil Vázquez, Pomares Baeza, & Candelas Herias, 2010)

Figura 13 Representación de un Grafo

(Czumaj, Meyer auf der Heide, Jansen, & Schiermeyer, 2006).

Figura 14 Grafo demostrando la organización de una empresa

(Pavlopoulos, y otros, 2011)


42

8.2. Tablas

Tabla 1. Ventajas y Desventajas del Algoritmo de Dijkstra

Ventajas Desventajas

Analiza cada nodo para elegir la mejor Debe tener un diseño jerárquico estricto

ruta con el mínimo coste para poder dividir sus nodos en áreas

pequeñas.

Es muy usado por profesionales para A diferencia de otros algoritmos, el

resolver problemas complejos con el fin Algoritmo de Dijkstra solo puede manejar

de llegar a una solución óptima. pesos positivos

En Informática, para poder avisar sobre En Informática, inunda nuestra red pero a

cualquier cambio en nuestra topología modo de conocerla por primera vez a

inunda nuestra red mediante protocolos. modo de SPAM

Comparación de las ventajas y desventajas de aplicar el algoritmo de dijkstra

(Autores, 2019)

Das könnte Ihnen auch gefallen