Está en la página 1de 16

República Bolivariana de Venezuela.

Ministerio del Poder Popular para la Educación Universitaria, ciencia y tecnología.

Universidad Nacional Experimental de la Gran Caracas (UNEXCA).

PNF en informática / Sección 1410132.

Matemática Aplicada.

RECORRIDOS EN LOS GRAFOS.

Docente: Integrantes del equipo:

Sandra Álvarez. Anthony Marín C.I: 30.180.924.


Juan Suarez C.I: 30.045.355
Leonardo Filizzola C.I: 27.797.105.

Caracas, julio del 2021.

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág. 1 de 15


ÍNDICE. Páginas
Introducción…………………………………………………………………………... 3
1.- Definición de recorridos …………………………………………………………... 4
2.- Tipos de recorridos ………………………………………………………………... 4
3.- Longitud de un recorrido……………………………………………………..…...... 5
4.- Definición de un ciclo.........................................................………………………... 5
5.- Definición y ejemplo de grafo acíclico …………………………………………..... 6
6.- Algoritmos de exploración de grafos ………………………………….. 9
…………… 12
7.- Definición y ejemplo de Algoritmo DFS ………………………………………….. 13
8.- Definición y ejemplo del algoritmo BFS 14
…………………………………………... 15
Conclusión……………………………………………………………………………...
Referencias…………………………………………………………………..................

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.2 de 15


INTRODUCCIÓN.

A lo largo de los hitos más importantes de la humanidad, se puede destacar la influencia tan

vertiginosa de la matemática aplicada, en cada uno de los ámbitos de la sociedad, teniendo como

objetivo central: ofrecer soluciones factibles ante un conjunto de problemas complejos dentro de

algún área en concreto, sirviendo como hilo conductor para trazar la secuencia general de alguna

actividad, acción o funcionalidad lógica de algún sistema, siendo denominada como la teoría

fundamental de los grafos. Dentro de los grafos y las aristas, los nodos están unidos con flechas

de conexión, y con caminos definidos para especificar el punto de llegada entre los nodos; De

este y otros temas relacionados a los grafos, se explicarán en el presente informe de

investigación, abarcando desde las nociones y elementos básicos que conforman a los recorridos

de los nodos, hasta sus diferentes tipos, como el recorrido dirigido y el recorrido cerrado;

Acompañado a esto, se abordará una conceptualización amplia sobre los ciclos y los grafos

acíclicos, y cómo estás influyen notoriamente, en el desarrollo del grafo, del mismo modo, para

complementar todos estos puntos se incluirán varios ejemplos y ejercicios, sobre los algoritmos

DFS y BFS.

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.3 de 15


DESARROLLO.

1.- Definición de recorridos.

De acuerdo con la Facultad de Ingeniería en Computación (2019): “La operación de recorrer

una estructura de datos consiste en visitar (procesar) cada uno de los nodos a partir de uno dado.

Así, para recorrer un árbol se parte del nodo raíz y según el orden se visitan todos los nodos. De

igual forma, recorrer un grafo consiste en visitar todos los vértices alcanzables a partir de uno

dado” Fuente: Guía Teórica de Recorrido de Grafos. Aplicaciones de Grafos – Referencia

ubicada en la página.

El objetivo principal del recorrido en el manejo de los grados, se basa en procesar o visitar

cada uno de los vértices alcanzables que conforman a un grafo, partiendo desde el nodo raíz

hasta el orden en que se recorren todos sus nodos; De hecho, la ciencia de la computación y la

informática, emplea el recorrido durante la programación de sistemas computacionales o grandes

sistemas de información, para definir un proceso de búsqueda o de visita entre cada nodo o

estructura de datos, a fin de referenciar un directorio de archivos, pata señalar su cadena de

caracteres o información relacionada a ese nodo lógico.

2.- Tipos de recorridos.

a) Un recorrido dirigido en los grafos, son aquellos que poseen una orientación secuencial,

durante su visita por todos los nodos que conforman a un grafo, lo que garantiza que estén

encaminados en los grafos, usualmente, es representado por una flecha de conexión que definen

un camino a seguir en su recorrido.

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.4 de 15


b) Un recorrido cerrado en los grafos conexos, son aquellos en donde su punto de llegada es

definido en un camino cerrado, que no repite o sigue el recorrido hacia otras aristas de un grafo.

3.- La longitud de un recorrido.

La longitud de un recorrido, se refiere a la distancia definida y visitada por el recorrido, en la

anchura y profundidad entre diferentes nodos de un grafo, esta longitud puede ser mencionada en

el recorrido por anchura y el recorrido por profundidad:

a) Un recorrido de anchura, se basa en recorrer los nodos de un grafo en diferentes niveles

de paralelismo y seguimiento, abarcando desde los nodos que están localizados a una

distancia de un arco del nodo de llegada o salida, hasta los nodos que están localizados a

dos arcos de distancia, y así progresivamente para alcanzar aquellos nodos cercanos al

nodo de salida.

b) Un recorrido de profundidad, se enfoca en recorrer o determinar los caminos que se

desprenden del nodo de salida, hasta que ya no es posible avanzar, y si en dado caso, no

se puede avanzar más allá sobre el camino seleccionada, entonces se devuelve y se

retorna atrás, para buscar otros caminos alternativos, que no se tomaron en cuenta

previamente.

4.- Definición de un ciclo.

En teoría de grafos, un ciclo en un grafo es un camino no vacío en el que los únicos vértices

repetidos son el primero y el último vértice. Un ciclo dirigido en un grafo encaminado a un

camino dirigido no vacío en el que los únicos vértices repetidos son el primer y el último vértice.

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.5 de 15


Un gráfico sin ciclos se llama gráfico acíclico. Un gráfico dirigido sin ciclos dirigidos se

denomina gráfico acíclico dirigido.

Por el contrario, un circuito es un camino no vacío en el que el primer vértice es igual al

último vértice (camino cerrado). Sea G = (V, E, ϕ) una gráfica. Un circuito es un camino no

vacío (e 1, e2 ,…, e n ) con una secuencia de vértices ( v 1 , v 2 ,…, v n , v 1 ) .Un ciclo o

circuito simple es un circuito en el que el único vértice repetido es el primer / último vértice, de

igual forma, la longitud de un circuito o ciclo es el número de aristas involucradas.

Tipos de circuitos en los grafos

a) Un circuito dirigido es un camino dirigido no vacío en el que el primer vértice es igual al

último vértice. Sea G = ( V , E , ϕ ) una gráfica dirigida. Un circuito dirigido es un

camino dirigido no vacío ( e 1 , e 2 ,…, e n ) con una secuencia de vértices ( v 1 , v 2 ,…,

vn,v1).

b) Un circuito dirigido simple, es un camino dirigido en el que el único vértice repetido es el

primer / último vértice.

5.- Definición y ejemplo de grafo acíclico

Un grafo acíclico dirigido o DAG (del inglés Directed Acyclic Graph), es un gráfico dirigido

con no hay ciclos dirigidos . Es decir, consta de vértices y aristas (también llamados arcos ), con

cada arista dirigida de un vértice a otro, de modo que seguir esas direcciones nunca formará un

bucle cerrado. Un gráfico dirigido es un DAG si y solo si se puede ordenar topológicamente ,

organizando los vértices como un orden lineal que sea consistente con todas las direcciones de

los bordes. Los DAG tienen numerosas aplicaciones científicas y computacionales, que van

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.6 de 15


desde la biología (evolución, árboles genealógicos, epidemiología) hasta la sociología (redes de

citas) y la computación (programación). Gráfico Acíclico Dirigido

Cada DAG da lugar a un ordenamiento parcial ≤ sobre sus vértices, donde u ≤ v exactamente

cuando existe un camino directo desde u a v. Muchos DAG pueden generar el mismo

ordenamiento parcial de los vértices siendo el de menor número de arcos denominado la

reducción transitiva y el que mayor número de arcos la Clausura transitiva. En particular, la

clausura transitiva es el orden de accesibilidad ≤.

- Ejemplo 1:

En la figura 1, replica de la imagen propuesta en [6], se muestra un modelo genérico de una

tarea. Considerando el esquema de esta figura como un DAG, las dependencias entre las tareas

aparecen en un ordenamiento jerárquico, por ejemplo n1 con un costo de cálculo de 2 se ejecuta

antes de las tareas n2, .., n5. Las transmisiones de los datos entre las tareas son dados a través de

los vértices, donde se indica el costo de comunicación entre tareas, por ejemplo, existe una

transmisión de datos entre n1 y n2, cuyo costo de comunicación es de 4

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.7 de 15


- Ejemplo 2:

- Ejemplo 3:

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.8 de 15


Fuente: Publicación en Wikipedia: Grafo acíclico y grafo acíclico dirigido - Referencia

ubicada en la página 15.

6.- Algoritmos de exploración de grafos.

Los algoritmos de exploración en grafos nacen por la necesidad de crear un mecanismo de

navegación autónoma, bien sea de robots, coches, o personajes en un videojuego. Algunos de los

más conocidos son DFS, BFS, A*, IDA*, Fringe Search o D*

La expansión de la búsqueda se realiza en forma de árbol. Partiendo del nodo inicial, se

extenderá la búsqueda a sus nodos vecinos, de cada uno de estos nodos vecinos, a sus respectivos

nodos vecinos, y así hasta que uno de los nodos a los que se expande la búsqueda es el nodo

objetivo. En esta página se desarrollará un algoritmo de búsqueda lo suficientemente general

para trabajar en la mayoría de los grafos, y que da paso a otros métodos de búsqueda más

complejos.

El algoritmo consta de dos listas, Abierta, y Cerrada. En la lista Abierta se guardan los nodos que

aún no se han expandido para la búsqueda, que, en otras palabras, serían las hojas de un árbol. En

la lista Cerrada, se guardan los nodos que ya se han procesado y expandido, estos nodos se

guardan porque la expansión de la búsqueda podría intentar volver a pasar por uno de esos nodos

y de estar almacenados, se tiene constancia de los nodos que ya se han procesado. Además, cada

nodo, almacenará información acerca de quién es su nodo predecesor

Búsqueda primero en profundidad:

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.9 de 15


[DFS: Depth-First Search]

función DFS (Grafo G(V,E))

for (i=0; i< (i=0; i<V.length V.length; i++)

visitado[i] = false;

for (i=0; i< (i=0; i<V.length V.length; i++)

if (!visitado[i]) if (!visitado[i])

DFS(G,i);

función DFS (Grafo G(V,E), función DFS (Grafo G(V,E), int i)

visitado[i] = true;

foreach foreach (v[j] adyacente a v[i]) (v[j] adyacente a v[i])

if (!visitado[j]) if (!visitado[j])

DFS(G,j);

[BFS: Breadth Breadth-First Search]

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.10 de 15


función BFS (Grafo G(V,E))

for (i=0; i< (i=0; i<V.length V.length; i++)

visitado[i] = false;

for (i=0; i< (i=0; i<V.length V.length; i++)

if (!visitado[i]) if (!visitado[i])

BFS(G,i);

función BFS (Grafo G(V,E), función BFS (Grafo G(V,E), int v) {

Cola Q;

visitado[v]=true; Q.add(v);

while (!Q.empty Q.empty()) {

x = Q.extract Q.extract();

foreach foreach (v[y] adyacente a v[x]) (v[y] adyacente a v[x])

if (!visitado[y]) { if (!visitado[y]) {

visitado[y]=true; Q.add(y);

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.11 de 15


}

Fuente: Publicación en Wikipedia: Algoritmos de búsqueda y del Departamento de Ciencias de

la Computación de la Universidad de Granada - Referencia ubicada en la página 15.

7.- Definición y ejemplo de un algoritmo DFS.

Método organizado de pasos lógicos, enfocado en definir e identificar todos los vértices

alcanzables de un grafo, a partir de un vértice de origen, por lo general, este algoritmo consiste

en ir expandiendo todos y cada uno de los nodos localizados de forma recurrente, en un camino

concreto. De hecho, cuando ya no quedan más nodos que visitar en dicho camino, de modo que

se devuelva y se repita el mismo proceso inicial, con cada uno de los nodos relacionados entre sí.

Si G es un grafo conexo, el algoritmo de búsqueda en profundidad, obtiene un árbol recubierto

de G. Por el contrario, si se trata de un grafo en el que aparecen todos los vértices de G, pero no

todas las aristas que lo componen, entonces el árbol recubierto no es único, ya que depende del

vértice de partida.

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.12 de 15


Fuente: Trabajo de fin de carrera, denominada como: Aplicación Integral de Grafos:

Coloración y Búsqueda - Referencia ubicada en la página 15.

8.- Definición y ejemplo del algoritmo BFS

Método organizado de pasos lógicos, destinado a encontrar todos los vértices factibles de un

grafo, desde la existencia de un vértice origen en concreto. De hecho, así como ocurre en el

algoritmo de búsqueda en profundidad, el algoritmo BFS recorre una componente conexa de un

grafo y define un árbol de expansión, por ejemplo: lanzar una ola desde el origen s. La ola golpea

a todos los vértices situados a una distancia de una arista de s. Desde allí, la ola golpea a todos

los vértices situados a una distancia de dos aristas de s, y así sucesivamente.

En realidad, este algoritmo de grafos es muy útil en diversos problemas de programación. Por

ejemplo: halla la ruta más corta entre dos vértices cuando el peso entre todos los nodos es 1,

cuando se requiere llegar con un movimiento de caballo de un punto a otro con el menor número

de pasos, o para salir de un laberinto con el menor número de pasos.

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.13 de 15


Fuente: Trabajo de fin de carrera, denominada como: Aplicación Integral de Grafos:

Coloración y Búsqueda - Referencia ubicada en la página 15.

CONCLUSIÓN.

Gracias a la presente investigación, se logró entender que los grafos además de demostrar cómo

funciona las conexiones por medio de nodos en un red informática, también explica como se

emplea uno de los algoritmos más complejos y matemáticos para la búsqueda del grafo por

medio de compiladores como c++, java y phythom, para abordar problemas más complejos e

idear el camino más adecuado al realizar el proceso, dependiendo del factor u objetivo planteado

en el código fuente, por ejemplo, actualmente se usa el algoritmo BFS de búsqueda detallada,

mediante el uso del Google Maps, con el fin de identificar las rutas más adecuadas a la

trayectoria seleccionada, de igual forma, mediante los algoritmos DFS se puede resolver o

simular juegos como de laberintos o de ajedrez, algoritmos complejos para solucionar problemas

que nos facilite la respuesta optima y razonable al objetivo ingresado, para su posible resultado

favorable u observable para ciertos usuarios de algún sistema informático, de hecho, estos

algoritmos son utilizados para el desarrollo y diseño de la AI inteligencia artificial; No sólo se

pude usar para recorrer grafos o buscar elementos, sino que también podemos adaptarlos y

mejorarlos para resolver de manera eficiente cualquier tipo de situaciones que podamos moldear

como un grafo o un árbol.

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.14 de 15


REFERENCIAS.

- Facultad de Ingeniería de Computación de la Universidad Don Bosco (2019). Guía Teórica

de Recorrido de Grafos. Aplicaciones de Grafos [Información consultada el 03/07/2021]:

http://www.udb.edu.sv/udb_files/recursos_guias/informatica-ingenieria/programacion-

iv/2019/ii/guia-9.pdf.

- Sitio web Wikipedia (2019). Publicación web: Grafo acíclico y grafo acíclico dirigido:

https://es.wikipedia.org/wiki/Grafo_ac%C3%ADclico_dirigido

- Sitio web Wikipedia XCV. Gráfico acíclico y grafo acíclico dirigido:

https://es.xcv.wiki/wiki/Directed_acyclic_graph

- Sitio web Wikipedia (2019). Publicación web: Algoritmos de búsqueda:

https://es.wikipedia.org/wiki/Algoritmos_de_b%C3%BAsqueda_en_grafos

- Departamento de Ciencias de la Computación de la Universidad de Granada (2018).

Documento PDF: Exploración de grafos- Análisis y Diseños de algoritmos:

http://elvex.ugr.es/decsai/algorithms/slides/5%20grafos.pdf

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.15 de 15


- Abraham Iniesto D. y Juan Carlos D. Trabajo de fin de carrera, denominada como:

Aplicación Integral de Grafos: Coloración y Búsqueda [Información consultada el

04/07/2021]:

http://www.dma.fi.upm.es/personal/gregorio/grafos/web/iagraph/busqueda.html

PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA. UNEXCA, 2021-2. Pág.16 de 15

También podría gustarte