Teoria de Grafos - uap.edu.pe · PDF fileINTRODUCCION Teoria de grafos se usa en numerosos...
-
Upload
vuongkhuong -
Category
Documents
-
view
215 -
download
0
Transcript of Teoria de Grafos - uap.edu.pe · PDF fileINTRODUCCION Teoria de grafos se usa en numerosos...
TEORIA DE GRAFOS
Estructuras Discretas
Ing Jenny Paredes Aguilar
INTRODUCCION
Teoria de grafos se usa en numerosos problemascuantificables en las organizaciones intervienenuna serie de elementos entre los que se establecenunas relaciones
por ejemplo los problemas relacionados conposibilidades de comunicacioacuten (redes decomunicacioacuten y de transporte) relaciones deorden entre actividades (planificacioacuten deproyectos mediante PERT) o estructuras deproducto complejas (gestioacuten de inventariosmediante MRP)
Los grafos son una herramienta que permitemodelizar relaciones de esta naturaleza de modo quese puedan resolver problemas asociados a esascircunstancias frecuentemente de forma menoscostosa que utilizando otras teacutecnicas como laprogramacioacuten lineal
INTRODUCCIOacuteN
Grafos modelos matemaacuteticos de situaciones reales
Ejemplos
Mapa de carreteras plano de metro red de PCs
plano de un circuito eleacutectrico aacuterboles
genealoacutegicos etc
Aplicaciones
Compiladores y traductores Redes Planificacioacuten
etc
Origen 1736 (Los Puentes de Koumlnisberg Euler)
DEFINICIOacuteN
Un grafo G se define como un conjunto E de
pares no ordenados de elementos distintos
y otro conjunto de elementos V
El conjunto V es el conjunto de veacutertices del
grafo se denota por V(G)
El conjunto E es el conjunto de aristas del
grafo se denota por E(G)
G=(V E)
V=v1 v2 vn
E=vivj vnvm
EJEMPLO DE UN GRAFO
G = (V E)
V = Co M G J A
E = (Co G) (M G) (G J) (G A)(MJ)
DEFINICIOacuteN
Dos veacutertices vi vj son adyacentes si son los
extremos de una arista es decir si el par de
veacutertices V es un elemento de E
V es el nuacutemero de veacutertices
E es el nuacutemero de aristas
Un grafo es finito si V es finito
TIPOS DE GRAFOS
Multigrafo- es un grafo con varias aristas entre
dos veacutertices
TIPOS DE GRAFOS
Pseudografo tiene aristas cuyos extremos
coinciden (origen y fin en el mismo veacutertice) tales
aristas se denominan lazos
TIPOS DE GRAFOS
Digrafos Cuando E estaacute formado por pares
ordenados (es decir importa cual de los 2 veacutertices
del par se coloca primero) de elementos de V sus
elementos son llamados arcos y se habla de grafo
dirigido o diacutegrafo D = (V E) (grafo orientado)
TOPOLOGIA DE GRAFOS
Grafos Orientados- Un lado (ab) definido por los veacutertices a y b es diferente al lado (ba) Es decir el orden de los veacutertices importa en la definicioacuten del lado -gtGrafos Dirigidos
El Grado de um vertice- se define como numero total de arcos que inciden em dicho vertice Y para un grafo orientado se define
Semigrado interior de un vertice - es el numero de arcos con destino en un vertice un vertice con semigrado interior cero puede ser un origen del grafo
Semigrado Exterior de un vertice -es el numero de arcos con origen en el vertice Un vertice con semigrado exterior cero puede representar en determinadas situaciones un destino del grafo
TOPOLOGIA DE GRAFOS
TOPOLOGIA DE GRAFOS
Grafos no orientados
Un lado (ab) definido por los veacutertices a y b es
ideacutentico al lado (ba)-gt Grafos No dirigidos
TOPOLOGIA DE GRAFOS
Lados Orientados vs
No-Orientados
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
INTRODUCCION
Teoria de grafos se usa en numerosos problemascuantificables en las organizaciones intervienenuna serie de elementos entre los que se establecenunas relaciones
por ejemplo los problemas relacionados conposibilidades de comunicacioacuten (redes decomunicacioacuten y de transporte) relaciones deorden entre actividades (planificacioacuten deproyectos mediante PERT) o estructuras deproducto complejas (gestioacuten de inventariosmediante MRP)
Los grafos son una herramienta que permitemodelizar relaciones de esta naturaleza de modo quese puedan resolver problemas asociados a esascircunstancias frecuentemente de forma menoscostosa que utilizando otras teacutecnicas como laprogramacioacuten lineal
INTRODUCCIOacuteN
Grafos modelos matemaacuteticos de situaciones reales
Ejemplos
Mapa de carreteras plano de metro red de PCs
plano de un circuito eleacutectrico aacuterboles
genealoacutegicos etc
Aplicaciones
Compiladores y traductores Redes Planificacioacuten
etc
Origen 1736 (Los Puentes de Koumlnisberg Euler)
DEFINICIOacuteN
Un grafo G se define como un conjunto E de
pares no ordenados de elementos distintos
y otro conjunto de elementos V
El conjunto V es el conjunto de veacutertices del
grafo se denota por V(G)
El conjunto E es el conjunto de aristas del
grafo se denota por E(G)
G=(V E)
V=v1 v2 vn
E=vivj vnvm
EJEMPLO DE UN GRAFO
G = (V E)
V = Co M G J A
E = (Co G) (M G) (G J) (G A)(MJ)
DEFINICIOacuteN
Dos veacutertices vi vj son adyacentes si son los
extremos de una arista es decir si el par de
veacutertices V es un elemento de E
V es el nuacutemero de veacutertices
E es el nuacutemero de aristas
Un grafo es finito si V es finito
TIPOS DE GRAFOS
Multigrafo- es un grafo con varias aristas entre
dos veacutertices
TIPOS DE GRAFOS
Pseudografo tiene aristas cuyos extremos
coinciden (origen y fin en el mismo veacutertice) tales
aristas se denominan lazos
TIPOS DE GRAFOS
Digrafos Cuando E estaacute formado por pares
ordenados (es decir importa cual de los 2 veacutertices
del par se coloca primero) de elementos de V sus
elementos son llamados arcos y se habla de grafo
dirigido o diacutegrafo D = (V E) (grafo orientado)
TOPOLOGIA DE GRAFOS
Grafos Orientados- Un lado (ab) definido por los veacutertices a y b es diferente al lado (ba) Es decir el orden de los veacutertices importa en la definicioacuten del lado -gtGrafos Dirigidos
El Grado de um vertice- se define como numero total de arcos que inciden em dicho vertice Y para un grafo orientado se define
Semigrado interior de un vertice - es el numero de arcos con destino en un vertice un vertice con semigrado interior cero puede ser un origen del grafo
Semigrado Exterior de un vertice -es el numero de arcos con origen en el vertice Un vertice con semigrado exterior cero puede representar en determinadas situaciones un destino del grafo
TOPOLOGIA DE GRAFOS
TOPOLOGIA DE GRAFOS
Grafos no orientados
Un lado (ab) definido por los veacutertices a y b es
ideacutentico al lado (ba)-gt Grafos No dirigidos
TOPOLOGIA DE GRAFOS
Lados Orientados vs
No-Orientados
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
INTRODUCCIOacuteN
Grafos modelos matemaacuteticos de situaciones reales
Ejemplos
Mapa de carreteras plano de metro red de PCs
plano de un circuito eleacutectrico aacuterboles
genealoacutegicos etc
Aplicaciones
Compiladores y traductores Redes Planificacioacuten
etc
Origen 1736 (Los Puentes de Koumlnisberg Euler)
DEFINICIOacuteN
Un grafo G se define como un conjunto E de
pares no ordenados de elementos distintos
y otro conjunto de elementos V
El conjunto V es el conjunto de veacutertices del
grafo se denota por V(G)
El conjunto E es el conjunto de aristas del
grafo se denota por E(G)
G=(V E)
V=v1 v2 vn
E=vivj vnvm
EJEMPLO DE UN GRAFO
G = (V E)
V = Co M G J A
E = (Co G) (M G) (G J) (G A)(MJ)
DEFINICIOacuteN
Dos veacutertices vi vj son adyacentes si son los
extremos de una arista es decir si el par de
veacutertices V es un elemento de E
V es el nuacutemero de veacutertices
E es el nuacutemero de aristas
Un grafo es finito si V es finito
TIPOS DE GRAFOS
Multigrafo- es un grafo con varias aristas entre
dos veacutertices
TIPOS DE GRAFOS
Pseudografo tiene aristas cuyos extremos
coinciden (origen y fin en el mismo veacutertice) tales
aristas se denominan lazos
TIPOS DE GRAFOS
Digrafos Cuando E estaacute formado por pares
ordenados (es decir importa cual de los 2 veacutertices
del par se coloca primero) de elementos de V sus
elementos son llamados arcos y se habla de grafo
dirigido o diacutegrafo D = (V E) (grafo orientado)
TOPOLOGIA DE GRAFOS
Grafos Orientados- Un lado (ab) definido por los veacutertices a y b es diferente al lado (ba) Es decir el orden de los veacutertices importa en la definicioacuten del lado -gtGrafos Dirigidos
El Grado de um vertice- se define como numero total de arcos que inciden em dicho vertice Y para un grafo orientado se define
Semigrado interior de un vertice - es el numero de arcos con destino en un vertice un vertice con semigrado interior cero puede ser un origen del grafo
Semigrado Exterior de un vertice -es el numero de arcos con origen en el vertice Un vertice con semigrado exterior cero puede representar en determinadas situaciones un destino del grafo
TOPOLOGIA DE GRAFOS
TOPOLOGIA DE GRAFOS
Grafos no orientados
Un lado (ab) definido por los veacutertices a y b es
ideacutentico al lado (ba)-gt Grafos No dirigidos
TOPOLOGIA DE GRAFOS
Lados Orientados vs
No-Orientados
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
DEFINICIOacuteN
Un grafo G se define como un conjunto E de
pares no ordenados de elementos distintos
y otro conjunto de elementos V
El conjunto V es el conjunto de veacutertices del
grafo se denota por V(G)
El conjunto E es el conjunto de aristas del
grafo se denota por E(G)
G=(V E)
V=v1 v2 vn
E=vivj vnvm
EJEMPLO DE UN GRAFO
G = (V E)
V = Co M G J A
E = (Co G) (M G) (G J) (G A)(MJ)
DEFINICIOacuteN
Dos veacutertices vi vj son adyacentes si son los
extremos de una arista es decir si el par de
veacutertices V es un elemento de E
V es el nuacutemero de veacutertices
E es el nuacutemero de aristas
Un grafo es finito si V es finito
TIPOS DE GRAFOS
Multigrafo- es un grafo con varias aristas entre
dos veacutertices
TIPOS DE GRAFOS
Pseudografo tiene aristas cuyos extremos
coinciden (origen y fin en el mismo veacutertice) tales
aristas se denominan lazos
TIPOS DE GRAFOS
Digrafos Cuando E estaacute formado por pares
ordenados (es decir importa cual de los 2 veacutertices
del par se coloca primero) de elementos de V sus
elementos son llamados arcos y se habla de grafo
dirigido o diacutegrafo D = (V E) (grafo orientado)
TOPOLOGIA DE GRAFOS
Grafos Orientados- Un lado (ab) definido por los veacutertices a y b es diferente al lado (ba) Es decir el orden de los veacutertices importa en la definicioacuten del lado -gtGrafos Dirigidos
El Grado de um vertice- se define como numero total de arcos que inciden em dicho vertice Y para un grafo orientado se define
Semigrado interior de un vertice - es el numero de arcos con destino en un vertice un vertice con semigrado interior cero puede ser un origen del grafo
Semigrado Exterior de un vertice -es el numero de arcos con origen en el vertice Un vertice con semigrado exterior cero puede representar en determinadas situaciones un destino del grafo
TOPOLOGIA DE GRAFOS
TOPOLOGIA DE GRAFOS
Grafos no orientados
Un lado (ab) definido por los veacutertices a y b es
ideacutentico al lado (ba)-gt Grafos No dirigidos
TOPOLOGIA DE GRAFOS
Lados Orientados vs
No-Orientados
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO DE UN GRAFO
G = (V E)
V = Co M G J A
E = (Co G) (M G) (G J) (G A)(MJ)
DEFINICIOacuteN
Dos veacutertices vi vj son adyacentes si son los
extremos de una arista es decir si el par de
veacutertices V es un elemento de E
V es el nuacutemero de veacutertices
E es el nuacutemero de aristas
Un grafo es finito si V es finito
TIPOS DE GRAFOS
Multigrafo- es un grafo con varias aristas entre
dos veacutertices
TIPOS DE GRAFOS
Pseudografo tiene aristas cuyos extremos
coinciden (origen y fin en el mismo veacutertice) tales
aristas se denominan lazos
TIPOS DE GRAFOS
Digrafos Cuando E estaacute formado por pares
ordenados (es decir importa cual de los 2 veacutertices
del par se coloca primero) de elementos de V sus
elementos son llamados arcos y se habla de grafo
dirigido o diacutegrafo D = (V E) (grafo orientado)
TOPOLOGIA DE GRAFOS
Grafos Orientados- Un lado (ab) definido por los veacutertices a y b es diferente al lado (ba) Es decir el orden de los veacutertices importa en la definicioacuten del lado -gtGrafos Dirigidos
El Grado de um vertice- se define como numero total de arcos que inciden em dicho vertice Y para un grafo orientado se define
Semigrado interior de un vertice - es el numero de arcos con destino en un vertice un vertice con semigrado interior cero puede ser un origen del grafo
Semigrado Exterior de un vertice -es el numero de arcos con origen en el vertice Un vertice con semigrado exterior cero puede representar en determinadas situaciones un destino del grafo
TOPOLOGIA DE GRAFOS
TOPOLOGIA DE GRAFOS
Grafos no orientados
Un lado (ab) definido por los veacutertices a y b es
ideacutentico al lado (ba)-gt Grafos No dirigidos
TOPOLOGIA DE GRAFOS
Lados Orientados vs
No-Orientados
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
DEFINICIOacuteN
Dos veacutertices vi vj son adyacentes si son los
extremos de una arista es decir si el par de
veacutertices V es un elemento de E
V es el nuacutemero de veacutertices
E es el nuacutemero de aristas
Un grafo es finito si V es finito
TIPOS DE GRAFOS
Multigrafo- es un grafo con varias aristas entre
dos veacutertices
TIPOS DE GRAFOS
Pseudografo tiene aristas cuyos extremos
coinciden (origen y fin en el mismo veacutertice) tales
aristas se denominan lazos
TIPOS DE GRAFOS
Digrafos Cuando E estaacute formado por pares
ordenados (es decir importa cual de los 2 veacutertices
del par se coloca primero) de elementos de V sus
elementos son llamados arcos y se habla de grafo
dirigido o diacutegrafo D = (V E) (grafo orientado)
TOPOLOGIA DE GRAFOS
Grafos Orientados- Un lado (ab) definido por los veacutertices a y b es diferente al lado (ba) Es decir el orden de los veacutertices importa en la definicioacuten del lado -gtGrafos Dirigidos
El Grado de um vertice- se define como numero total de arcos que inciden em dicho vertice Y para un grafo orientado se define
Semigrado interior de un vertice - es el numero de arcos con destino en un vertice un vertice con semigrado interior cero puede ser un origen del grafo
Semigrado Exterior de un vertice -es el numero de arcos con origen en el vertice Un vertice con semigrado exterior cero puede representar en determinadas situaciones un destino del grafo
TOPOLOGIA DE GRAFOS
TOPOLOGIA DE GRAFOS
Grafos no orientados
Un lado (ab) definido por los veacutertices a y b es
ideacutentico al lado (ba)-gt Grafos No dirigidos
TOPOLOGIA DE GRAFOS
Lados Orientados vs
No-Orientados
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
TIPOS DE GRAFOS
Multigrafo- es un grafo con varias aristas entre
dos veacutertices
TIPOS DE GRAFOS
Pseudografo tiene aristas cuyos extremos
coinciden (origen y fin en el mismo veacutertice) tales
aristas se denominan lazos
TIPOS DE GRAFOS
Digrafos Cuando E estaacute formado por pares
ordenados (es decir importa cual de los 2 veacutertices
del par se coloca primero) de elementos de V sus
elementos son llamados arcos y se habla de grafo
dirigido o diacutegrafo D = (V E) (grafo orientado)
TOPOLOGIA DE GRAFOS
Grafos Orientados- Un lado (ab) definido por los veacutertices a y b es diferente al lado (ba) Es decir el orden de los veacutertices importa en la definicioacuten del lado -gtGrafos Dirigidos
El Grado de um vertice- se define como numero total de arcos que inciden em dicho vertice Y para un grafo orientado se define
Semigrado interior de un vertice - es el numero de arcos con destino en un vertice un vertice con semigrado interior cero puede ser un origen del grafo
Semigrado Exterior de un vertice -es el numero de arcos con origen en el vertice Un vertice con semigrado exterior cero puede representar en determinadas situaciones un destino del grafo
TOPOLOGIA DE GRAFOS
TOPOLOGIA DE GRAFOS
Grafos no orientados
Un lado (ab) definido por los veacutertices a y b es
ideacutentico al lado (ba)-gt Grafos No dirigidos
TOPOLOGIA DE GRAFOS
Lados Orientados vs
No-Orientados
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
TIPOS DE GRAFOS
Pseudografo tiene aristas cuyos extremos
coinciden (origen y fin en el mismo veacutertice) tales
aristas se denominan lazos
TIPOS DE GRAFOS
Digrafos Cuando E estaacute formado por pares
ordenados (es decir importa cual de los 2 veacutertices
del par se coloca primero) de elementos de V sus
elementos son llamados arcos y se habla de grafo
dirigido o diacutegrafo D = (V E) (grafo orientado)
TOPOLOGIA DE GRAFOS
Grafos Orientados- Un lado (ab) definido por los veacutertices a y b es diferente al lado (ba) Es decir el orden de los veacutertices importa en la definicioacuten del lado -gtGrafos Dirigidos
El Grado de um vertice- se define como numero total de arcos que inciden em dicho vertice Y para un grafo orientado se define
Semigrado interior de un vertice - es el numero de arcos con destino en un vertice un vertice con semigrado interior cero puede ser un origen del grafo
Semigrado Exterior de un vertice -es el numero de arcos con origen en el vertice Un vertice con semigrado exterior cero puede representar en determinadas situaciones un destino del grafo
TOPOLOGIA DE GRAFOS
TOPOLOGIA DE GRAFOS
Grafos no orientados
Un lado (ab) definido por los veacutertices a y b es
ideacutentico al lado (ba)-gt Grafos No dirigidos
TOPOLOGIA DE GRAFOS
Lados Orientados vs
No-Orientados
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
TIPOS DE GRAFOS
Digrafos Cuando E estaacute formado por pares
ordenados (es decir importa cual de los 2 veacutertices
del par se coloca primero) de elementos de V sus
elementos son llamados arcos y se habla de grafo
dirigido o diacutegrafo D = (V E) (grafo orientado)
TOPOLOGIA DE GRAFOS
Grafos Orientados- Un lado (ab) definido por los veacutertices a y b es diferente al lado (ba) Es decir el orden de los veacutertices importa en la definicioacuten del lado -gtGrafos Dirigidos
El Grado de um vertice- se define como numero total de arcos que inciden em dicho vertice Y para un grafo orientado se define
Semigrado interior de un vertice - es el numero de arcos con destino en un vertice un vertice con semigrado interior cero puede ser un origen del grafo
Semigrado Exterior de un vertice -es el numero de arcos con origen en el vertice Un vertice con semigrado exterior cero puede representar en determinadas situaciones un destino del grafo
TOPOLOGIA DE GRAFOS
TOPOLOGIA DE GRAFOS
Grafos no orientados
Un lado (ab) definido por los veacutertices a y b es
ideacutentico al lado (ba)-gt Grafos No dirigidos
TOPOLOGIA DE GRAFOS
Lados Orientados vs
No-Orientados
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
TOPOLOGIA DE GRAFOS
Grafos Orientados- Un lado (ab) definido por los veacutertices a y b es diferente al lado (ba) Es decir el orden de los veacutertices importa en la definicioacuten del lado -gtGrafos Dirigidos
El Grado de um vertice- se define como numero total de arcos que inciden em dicho vertice Y para un grafo orientado se define
Semigrado interior de un vertice - es el numero de arcos con destino en un vertice un vertice con semigrado interior cero puede ser un origen del grafo
Semigrado Exterior de un vertice -es el numero de arcos con origen en el vertice Un vertice con semigrado exterior cero puede representar en determinadas situaciones un destino del grafo
TOPOLOGIA DE GRAFOS
TOPOLOGIA DE GRAFOS
Grafos no orientados
Un lado (ab) definido por los veacutertices a y b es
ideacutentico al lado (ba)-gt Grafos No dirigidos
TOPOLOGIA DE GRAFOS
Lados Orientados vs
No-Orientados
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
TOPOLOGIA DE GRAFOS
TOPOLOGIA DE GRAFOS
Grafos no orientados
Un lado (ab) definido por los veacutertices a y b es
ideacutentico al lado (ba)-gt Grafos No dirigidos
TOPOLOGIA DE GRAFOS
Lados Orientados vs
No-Orientados
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
TOPOLOGIA DE GRAFOS
Grafos no orientados
Un lado (ab) definido por los veacutertices a y b es
ideacutentico al lado (ba)-gt Grafos No dirigidos
TOPOLOGIA DE GRAFOS
Lados Orientados vs
No-Orientados
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
TOPOLOGIA DE GRAFOS
Lados Orientados vs
No-Orientados
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
CUANTIFICACIOacuteN DE UN LADO
Se pueden asignar valores a los lados
representando asiacute atributos cuantitativos como
Intensidad de la relacioacuten
Capacidad informativa del lado
Voluacutemenes de flujo o traacutefico a traveacutes del lado
Distancias entre nodos
Probabilidades de pasar informacioacuten
Frecuencia de interaccioacuten
Costos asociados
Heuriacutesticas
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
CONCEPTOS
Isomorfismo Dos grafos son isomorfos si cada
par de veacutertices adyacentes corresponde con un
par de veacutertices adyacentes del otro
Sean G=(V E) y Grsquo=(Vrsquo Ersquo) y sea f V-gtVrsquo una
biyeccioacuten tal que uv isin E si y solo si
f(u)f(v) isin Ersquo esta biyeccioacuten se denomina
isomorfismo de G a Grsquo
Dos grafos isomorfos pueden ser representados
por figuras aparentemente diferentes
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
CONCEPTOS
Isomorfismo
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
CONCEPTOS
Orden del grafo G (nuacutemero de veacutertices)
Grado de un veacutertice (nuacutemero de lados a los que
estaacute conectado el veacutertice) Es el nuacutemero de aristas
que parten de eacutel El grado de un veacutertice se
conserva por isomorfismo Dado un veacutertice u de
G(V) su grado es gr(u)
En diacutegrafos se habla deGrado entrante (nuacutemero de lados que llegan al veacutertice)
Grado saliente (nuacutemero de lados que salen del veacutertice)
La suma del grado entrante maacutes el saliente da el
grado total del veacutertice
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
CONCEPTOS
Subgrafo
Sea G=(VE)un grafo un subgrafo de G es
cualquier grafo H=(V(H)E(H)) de modo
que V(H) estaacute contenido en V y E(H) estaacute
contenido en E
Un subgrafo se obtiene eliminando alguna(s)
arista(s) yo veacutertice(s) Si se suprime um veacutertice
se suprimen todas las aristas que tienen por
origen o fin dicho veacutertice
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
CONCEPTOS
Grafo regular (todos los veacutertices son del mismo
grado) si dicho grado es k el grafo se denominaraacute
k-regular El grafo G anterior es un grafo 3-
regular La regularidad de grafos se
conserva por isomorfismo
Grafo simple (no contiene ciclos y no hay maacutes
de 1 lado entre un par de veacutertices dado)
Grafo completo (todos los veacutertices estaacuten
conectados entre siacute) Cada par de veacutertices son los
extremos de una arista Dos grafos completos con
el mismo nuacutemero de veacutertices son isomorfos
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
CONCEPTOS
Un camino
En un grafo G es una sucesioacuten finita de
veacutertices y aristas alternos donde cada
arista
tiene por extremos los veacutertices adyacentes
(v0 v0v1 v1 v1v2 vn-1 vn-1vn vn)
A v0 y vn se les denomina extremos del camino
Longitud del camino
Es el nuacutemero de aristas que contiene La
distancia entre dos nodos es la longituddel
camino maacutes corto existente entre ellos
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
CONCEPTOS
Camino cerrado
Los extremos coinciden v0=vn
En un grafo (no un multigrafo) un camino puede
expresarse por la sucesioacuten de veacutertices
(v0 v1 vn-1 vn)
Camino simple
En la sucesioacuten de veacutertices no hay ninguno repetido
Un ciclo
Es un camino cerrado donde el primero y uacuteltimo
veacutertice son el mismo (camino simple cerrado) En un
multigrafo se considera ciclo a aquellos caminos
cerrados que no repiten aristas
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
CONCEPTOS
Un circuito
Es un camino cerrado que no repite aristas
Un grafo es conexo
Grafo en el cual es posible desde cualquier veacutertice
llegar a cualquier otro veacutertice presente en el
grafo (aunque para ello haya que pasar por otros
veacutertices) en caso contrario
diremos que es desconexo
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REPRESENTACIOacuteN DE GRAFOS
La representacioacuten graacutefica adecuada para la
interpretacioacuten y resolucioacuten de problemas en grafos
pequentildeos o medianos
La representacioacuten mediante matriz asociada o de
adyacentes especialmente uacutetil para el tratamiento
de problemas de grafos con programas
informaacuteticos
Otras representaciones como el diccionario de
grafo buscan definir el grafo de forma maacutes
compacta en teacuterminos de posiciones de memoria
Pueden ser uacutetiles para representar grafos de gran
tamantildeo
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 1 Dado un grafo G = (V E) con n
veacutertices v1 vn su matriz de adyacencia es
la matriz de orden ntimesn A(G)=(aij) donde aij es el
nuacutemero de aristas que unen los veacutertices vi y vj
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REPRESENTACIOacuteN DE GRAFOS
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un grafo es
simeacutetrica Si un veacutertice es aislado entonces la
correspondiente fila (columna) esta compuesta
soacutelo por ceros
Si el grafo es simple entonces la matriz de
adyacencia contiene solo ceros y unos
(matriz binaria) y la diagonal esta compuesta
soacutelo por ceros
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 2 Dado un grafo simple G = (V E)
con n=|V| veacutertices v1 vn y m=|E| aristas
e1 em su matriz de incidencia es la
matriz de orden nxm B(G)=(bij) donde bij=1 si
vi es incidente con ej y bij=0 en caso contrario
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REPRESENTACIOacuteN DE GRAFOS
La matriz de incidencia soacutelo contiene ceros y unos
(matriz binaria) Como cada arista
incide exactamente en dos veacutertices cada columna
tiene exactamente dos unos
El nuacutemero de unos que aparece en cada fila es
igual al grado del veacutertice correspondiente
Una fila compuesta soacutelo por ceros corresponde a
un veacutertice aislado
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REPRESENTACIOacuteN DE GRAFOS
Definicioacuten 145 Dado un grafo dirigido o
diacutegrafo D = (V E) con n veacutertices v1 vn
su matriz de adyacencia es la matriz de
orden ntimesn A(D)=(aij) donde aij es el nuacutemero
de arcos que tienen a vi como extremo inicial y a
vj como extremo final
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REPRESENTACIOacuteN DE GRAFOS
La matriz de adyacencia de un diacutegrafo no es
simeacutetrica Es una matriz binaria
El nuacutemero de unos que aparecen en una fila es
igual al grado de salida del correspondiente
veacutertice
nuacutemero de unos que aparecen en una
determinada columna es igual al grado de
entrada del correspondiente veacutertice
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REPRESENTACIOacuteN DE GRAFOS
Diccionario del grafo
Se enumeran los destinos de los arcos que parten
de cada nodo Diccionario inverso- enumeran los
origenes de los arcos que inciden en cada nodo
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REPRESENTACIOacuteN DE GRAFOS
La Lista de arcos proxima a la definicion formal
de un grafo expresada mas arriba permite una
representacion compacta delgrafo la lista de
arcos para el grafo queda
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REPRESENTACIOacuteN DE GRAFOS
Matriz de Veacutertices- Se utiliza cuando se desea
guardar la posicioacuten (x y) en el plano cartesiano
de cada veacutertice
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO
Puntos de corte
1048729 Veacutertices que si se quitan desconectan el
grafo En el ejemplo el veacutertice a
Lados de corte
1048729 Un lado que si se quita desconecta el
grafo En el ejemplo el lado (da)
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
PUNTOS DE CORTE
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
LADOS DE CORTE
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REPRESENTACION DE GRAFOS LISTAS DE
ADYACENCIA
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
LISTAS DE ADYACENCIA
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
LISTA DE ADYACENCIA
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
RECORRIDOS SOBRE GRAFOS
Recorrer un grafo consiste en visitar (pasar) por
cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado
El recorrido se puede hacer de 2
maneras DFS o BFS
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
DFS (DEPTH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Profundidadrdquo
Consiste en A partir de un veacutertice inicial dado
determinar sus veacutertices adyacentes de esos
veacutertices adyacentes elegir uno que no haya
sido visitado y a partir de alliacute iniciar nuevamente
el recorrido DFS
Como puede verse se trata de una definicioacuten
recursiva
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
BFS (BREATH FIRST SEARCH)
Literalmente ldquoBuacutesqueda del Primero en
Anchurardquo
La diferencia con el recorrido DFS consiste en
que en el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a
un nodo en el BFS por el contrario si se hace
esto Luego de visitar todos los adyacentes de
un veacutertice dado entonces se elige uno de ellos
y se continuacutea de la misma forma
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
GRAFO COMPLEMENTARIO
El complementario Grsquo de un grafo G=(VA)
tiene
Los mismos veacutertices que G
Si uv G entonces uv Grsquo
Si uv G entonces uv Grsquo
Una forma de construirlo
Dibujar el corresp grafo completo Kn con n=|V|
Eliminar de Kn las aristas uv G
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
GRAFO COMPLEMENTARIO
Ejemplo Complementario de
1ordm Representar
K62ordm Marcar
las aristas
de G
3ordm
Eliminarlas
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
GRAFOS BIPARTITOS
Definicioacuten Sea G=(VA) Se dice que G es
bipartito si existen V1 V2 tales que
1 V1 V2= V
2 V1 cap V2= Oslash
3 Para toda vivj A se cumple vi V1 vj V2
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
GRAFOS BIPARTITOS
Ejemplos
iquestEs bipartito Siacute V1 = 25
V2=013467
aquellos grafos que se pueden colorear en
dos colores grafos bipartitos
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
GRAFOS BIPARTITOS
Idea de coacutemo pintarlo
Empezar por un veacutertice cualquiera de color C1
Dibujar todos los adyacentes de color C2
Seguir este proceso hasta haber terminado
Parece que No
es bipartito
pero hellip
iquestcoacutemo estar
seguros
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
GRAFOS BIPARTITOS
Teorema Una grafo es bipartito si y soacutelo si no
tiene ciclos de longitud impar
Ejemplo anterior No bipartito contiene ciclos
de longitud impar (en la figura aparece marcado
uno de long 3)
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
GRAFOS BIPARTITOS
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
GRAFOS BIPARTITOS COMPLETOS
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
Ciudad de Koumlnisberg en XVIII
Pregunta iquestseriacutea posible dar un paseo
pasando por cada uno de los siete puentes
sin repetir ninguno comenzando y
acabando en el mismo punto
RECORRIDOS EULERIANOS
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
RECORRIDOS EULERIANOS
Representacioacuten propuesta por Leonard Euler en
1736
iquestExiste un circuito que pase por todas las aristas
una sola vez
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
RECORRIDOS EULERIANOS
A estos circuitos se les llama circuitos eulerianos y a los grafos que los contienen grafos eulerianos
Grafo o multigrafo euleriano admite un recorrido que pasa por todas las aristas una sola vez empezando y terminando en el mismo veacutertice Los veacutertices siacute se pueden repetir
Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
RECORRIDOS EULERIANOS Ejemplo Grafo euleriano
Circuito euleariano abcdbfdeacefa Ejemplo El siguiente grafo es euleriano
Encuentra un circuito euleriano
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
RECORRIDOS EULERIANOS
iquestCoacutemo saber si un grafo (o multigrafo) es
euleriano
Teorema de Euler Un grafo conexo es
euleriano no tiene veacutertices de grado impar
Ejemplo
A tiene grado 3el grafo de los puentes no
es euleriano
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
RECORRIDOS EULERIANOS
Si el grafomultigrafo tiene soacutelo dos veacutertices de
grado impar se llama semi-euleriano Se puede
convertir en euleriano antildeadieacutendole una arista
Semi-euleriano
(____ grado
impar)
Euleriano
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
RECORRIDOS HAMILTONIANOS
Un grafo se dice hamiltoniano si existe un ciclo
que recorre todos sus veacutertices Al ciclo se le llama
ciclo hamiltoniano
Ejemplos
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
RECORRIDOS HAMILTONIANOS
No existe un meacutetodo sencillo para saber si un
grafo es no hamiltoniano problema muy
complejo
Ejemplo Este grafo es hamiltoniano
pero este no iexcldifiacutecil de probar
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
65
PROBLEMA DEL VENDEDOR VIAJERO
En un grafo G con pesos se pretende encontrar un
ciclo que pase por todos los veacutertices de forma que la
suma de los pesos de las aristas escogidas para formar
el ciclo sea lo menor posible
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
66
RUTA MAS CORTA
Un grafo con pesos es un grafo en el cual se asignan
valores a las aristas y que la longitud de un camino en
un grafo con pesos es la suma de los pesos de las
aristas en el camino Con frecuencia se desea
determinar la ruta mas corta entre dos veacutertices dados
Dijkstra escribioacute el algoritmo que resuelve este
problema
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
ALGORITMO DE DIJKSTRA
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO ALGORITMO DE DIJKSTRA
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
EJEMPLO ALGORITMO DE DIJKSTRA
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
MODELIZACION MEDIANTE GRAFOS
Mediante la teoria de grafos pueden
representarse gran numero de situaciones que
supongan relaciones entre diversos elementos
Ejemplos
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
POSIBILIDADES DE COMUNICACION
Mediante grafos de este tipo pueden resolver problemas de conectividad (arbol parcial minimo ) o problemas de caminos Donde se trata de encontrar camino de minima distancia
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REDES DE TRANSPORTE
Una red de transporte devera tener uno o varios vertices
origen y uno o varios vertices de destino y el resto de
vertices seran vertices de transbordo
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
REDES DE TRANSPORTE
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
RELACIONES DE ORDEN
Se puede representar mediante un grafo la relacionesde sucesion entre las actividades de un proyecto
El grafico muestra la secuencia de actividades pararealizar una tortilla de patatas
Es usual representar estas situaciones en grafos enlos que las actividades puedan estar representadaspor arcos (PERT) o por nodos (ROY)
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
RELACIONES DE ORDEN
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
RELACIONES DE ORDEN
Estos grafos se emplean frecuentemente para gestion de proyectos podemos determinar otros parametros como
Tiempo en que puede finalizarse el proyecto
Holgura de las actividades
Camino Critico (conjunto de actividades de holgura cero)
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
ESTRUCTURA DE UN PRODUCTO
Este tipo de grafos se utiliza en procedimientos de la
prevision de la demanda dependiente en el sistemade gestion de inventarios MRP( Material RequerimentPlanning )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )
PROBELAMAS DE CAMINOS
Problemas de Caminos Minimos -
Algoritmos que permiten establecer la conexion
entre todos los nodos del grafo a minimo coste
(Algoritmo de Prim)
Encontrar el camino mas corto entre dos nodos
del grafo (Algoritmo de Dijkstra y de Bellman ndash
Kalaba Bellman-Ford)
Problemas de Flujo Total Maximo-
Trata de determinar cual es el flujo maximo que
puede circular por la red de transporte
(Algoritmo de Ford ndashFulKerson )