Está en la página 1de 25

TEORÍA DE

GRAFOS
R I C A R D O J AV I E R A R A N I B A R L E O N
Grafo:

Para las matemáticas y las ciencias de la computación, un grafo es el


principal objeto de estudio de la teoría de grafos. De esta forma,
un grafo se representa gráficamente como un conjunto de puntos
(llamados vértices o nodos), unidos por líneas (aristas). Los
grafos permiten estudiar las interrelaciones entre unidades que se
encuentran en interacción.

Son diagramas que si se interpretan en


forma adecuada proporcionan
información, como por ejemplo los
mapas, diagramas de circuitos o de flujos,
entre otros
LAS APLICACIONES MÁS IMPORTANTES DE LOS GRAFOS SON
LAS SIGUIENTES:

· RUTAS ENTRE CIUDADES.


· DETERMINAR TIEMPOS MÁXIMOS Y MÍNIMOS EN UN PROCESO.
· FLUJO Y CONTROL EN UN PROGRAMA.
Un grafo está compuesto por dos conjuntos finitos.

Un conjunto de |A| aristas,


Un conjunto de |V| vértices

J es la relación de incidencia, que asocia a cada elemento de


|A| un par de elementos de |V|
Se denota G= { A,V, j}
Vértices: Son los objetos representados por punto dentro del
grafo

Aristas: son las líneas que unen dos vértices

Aristas Adyacentes: dos aristas son


adyacentes si convergen sobre el
mismo vértice

Aristas Múltiples o Paralelas: dos


aristas son múltiples o paralelas si tienen
los mismos vértices en común o
incidente sobre los mismos vértices

Lazo: es una arista cuyos extremos


inciden sobre el mismo vértice
UNA ARISTA ES INCIDENTE A UN VÉRTICE SI ÉSTA LO UNE A
OTRO VÉRTICE.

La arista a, es Incidente en los Vértices A Y B.


Vértice Aislado: Es un vértice de grado cero

1
b c

2 a 3

Vértice Pendiente: Es aquel grafo que contiene


sólo una arista, es decir tiene grado 1
f
1 4
Cruce: Son intersecciones de b c
las aristas en puntos
d e
diferentes a los vértices

2 a 3

Grafo Sencillo o Simple: Se


dice que un Grafo G es simple si 1 c 4
no tiene aristas cíclicas y existe
una sola arista entre dos vértices.
También puede ser aquel que no d
b
contiene lazos, ni aristas paralelas
o dirigidas.
a
2 3
Grafo Completo: Un grafo es
completo si cada vértice tiene un
grado igual a n-1, donde n es el
número de vértice que componen
el grafo.
Para saber el número máximo de
aristas que posee un grafo
completo se aplica la formula.

A=(n*(n-1))/2
Existen dos tipos de grafos los no dirigidos y los dirigidos.

No dirigidos: son aquellos en los cuales los lados no están orientados (no son
flechas). Cada lado se representa entre paréntesis, separando sus vértices por
comas, y teniendo en cuenta (vi,vj)=(vj,vi). Figuras 1 y 2.

Dirigidos: son aquellos en los cuales los lados están orientados (flechas). Cada
lado se representa entre ángulos, separando sus vértices por comas y teniendo en
cuenta <vi ,vj>=<Vj ,vi>. En grafos dirigidos, para cada lado <a,b>, a, el cual es el
vértice origen, se conoce como la cola del lado y b, el cual es el vértice destino, se
conoce como cabeza del lado. Figura 3
Grafo no Simple:

Grafo no dirigido que tiene lados


paralelos y lazos.
e1 e3 e1 y e2 : aristas paralelas

v1 v2 v3
e3 y e4 : aristas paralelas
e5 e5 : lazo

e2 e4
Grado o Valencia de un Vértice: Es
el número de aristas que inciden sobre un
vértice
a
1
b c

j
2 3
e d
f g
h
4 5
i

G(1)=6 g(2)=3 g(3)=3 g(4)=3 g(5)=3


Grado Regular: Un grafo G simple, se dice que
es K-regular, si todo vértice de G incide
exactamente K-aristas, donde K es una constante.

Es decir, tiene igual número de arista en todos sus


vértices.

1
b c
d

e 4
f

2 a
3
CICLO DE EULER
Recorrer todas las aristas del grafo sin repetirlas.

b c
a, b, c, d, e, d, f, e, c, a

d e
Ciclo de Euler

f
CICLO DE
HAMILTON
Recorrer todos los vértices del grafo sin repetirlos, excepto el V0 y
Vn que son el mismo.

a b c

a, e, b, g, c, h, j, f, i, d, a
d f g h
e

Ciclo de Hamilton

i j
Una matriz de adyacencia es aquella que muestra de la forma mas rustica
cómo está compuesto un grafo, esto es que dónde se coloque un uno se
representa como una arista que una los dos nodos y con cero donde no hay
unión.

Nota: Se puede obtener el Grafo a


partir de la matriz de Adyacencia.
Camino más Corto.

Cuando se trabaja con grafos dirigidos etiquetados o ponderados con factores de peso
no negativos, es frecuente buscar el camino más corto entre dos vértices dados; es decir,
el camino que nos permita llegar desde un vértice origen a un vértice destino
recorriendo la menor distancia o con el menor costo.
Los algoritmos más usados para este fin son: Dijkstra, Floyd y Warshall.

Los tres algoritmos utilizan una matriz de adyacencia ponderada o etiquetada: que es la
misma matriz de adyacencia utilizada para representar grafos, pero con la diferencia que
en lugar de colocar un número “1” cuando dos vértices son adyacentes, se coloca el
peso o ponderación asignado a la arista que los une.
Ejercicio

Le aplicaremos el algoritmo de Dijkstra al siguiente dígrafo:

El primer paso a realizar es construir la matriz de adyacencia,


por conveniencia para las posiciones en la matriz en las cuales
no existe una arista entre dos vértices pondremos un valor
negativo “-1” y cuando exista una arista se colocará el peso de
la misma.
Ejercicio

A continuación, implementaremos el algoritmo Dijkstra en un proyecto de


Visual C#:
1. Crear un proyecto de consola, nombrarlo “Algoritmo Dijkstra”.
2. Crear una clase “Dijkstra.cs”.

Dentro la clase Dijkstra agregaremos las siguiente propiedades


En la clase agregamos el algoritmo de Dijkstra
Método de solución de Dijkstra
Método de implementación del algoritmo
En el método main
Algoritmo de Floyd-Warshall

También podría gustarte