Вы находитесь на странице: 1из 47

INSTITUTO TECNOLGICO DE TAPACHULA.

INSTITUTO TECNOLOGICO DE TAPACHULA

ING. SISTEMAS COMPUTACIONALES

MATEMATICAS DISCRETAS

ING. ROSEL MUOZ LOPEZ

UNIDAD
2 6.
TEORA DE GRAFOS

05 DE DICIEMBRE DEL 2011.

ndice
Ttulo Pgina

Introduccin..4

Conceptos bsicos de grafos..5

Clasificacin de los grafos.8

Representacin de estructura18

Algoritmo de recorrido y bsqueda....21


3

rboles23

Redes..28

Aplicaciones de los grafos...31

Conclusin.32

Bibliografa23
INTRODUCCIN

La teora de grafos tiene su origen en el problema de los siete puentes de


Knigsberg resuelto por Leonhard Euler, el cual se planteaba el problema de cmo
recorrer los siete puentes una solo vez y regresar al mismo punto de salida.

Ms tarde, otros problemas influyeron en el desarrollo de la teora de grafos como


el estudio de las redes elctricas, la enumeracin de ismeros de hidrocarburos,
etc.

Hoy en da es rara la disciplina cientfica o humanstica que no utiliza la teora de


grafos.

4
Dibujar un grafo para resolver un problema es un reflejo muy comn, que no
precisa conocimientos matemticos. Un grafo se parece a la figura siguiente, y
consta de vrtices y de aristas que renen algunos de ellos.

En la teora de los grafos, slo se queda lo esencial del dibujo: la forma de las
aristas no son relevantes, slo importan sus extremidades (o cabos); la posicin
de los vertices tampoco, y se puede variar para obtener un grafo ms claro, y
hasta sus nombres se pueden cambiar. Estos cambios se llaman isomorfismos
de grafos. Generalmente, se considera que colocar los vrtices en forma de
polgono regular da grafos muy lebles.
Conceptos
bsicos de grafos

Grafo: Un grafo es un conjunto, no vaco, de objetos llamados vrtices


(o nodos) y una seleccin de pares de vrtices, llamados aristas que
pueden ser orientados o no.

Una arista e en un grafo asociada a vrtices a y b, se dice, que es incidente


en a y b y viceversa, que a y b son incidentes en e. Y por lo tanto que a y
b son vrtices adyacentes
5 en e.

Si G es un grafo con vrtices V y aristas E, entonces G = (V, E).

Ejemplo de un grafo:
h
b
f g
a
e i d

3
2
6
c

4 5

1
Observamos:

V = {1, 2, 3, 4, 5} Vrtices

A = {a, b, c, d, e, f, g, h, i } Aristas

G = { (1, 2), (3, 2), (5, 3), (4, 5), (1, 4), (2, 4), (2, 5), (1, 3), (5, 1)} Grafo

Lazo: Es una arista incidente en un slo vrtice. Ejemplo: a6 = (V5, V5).

AQU ENCONTRAMOS
ARISTAS PARALELLAS AQU ENCONTRAMOS
UN LAZO

Aristas paralelas: Cuando dos o ms aristas estn asociadas con el


mismo par de vrtices. Ejemplo: las aristas a2 y a3 estn asociadas al mismo par
de vrtices. Es decir: a2 = (V1, V3) y a3 = (V1, V3).

Grado o valencia: de un vrtice v. Es el nmero de aristas incidentes en


v. Como ejemplo en la figura anterior tenemos que:

V1 V2 V3 V4 V5

2
3 3 5 1 3
8
Vrtice aislado: El vrtice que no es incidente en alguna arista.
Ejemplo:

Subgrafos: Subgrafos son las partes en que se pueden dividir un grafo.

Ejemplo, algunos subgrafos de este grafo seran los siguientes:


Clasificacin de grafos

Grafo dirigido: Llamado tambin dgrafo tiene un conjunto de vrtices V


(nodos) y un conjunto de aristas E (arcos o lados), tal que cada arista se asocia a
un par ordenado de vrtices.

10
Grafo no dirigido: Tienen un conjunto de aristas E (arcos o lados), tal que
cada arista se asocia a un par no ordenado de vrtices.

Ejemplo:

Grafo pesado, ponderado etiquetado: Un grafo es pesado


cuando sus aristas contienen datos (etiquetas). Una etiqueta puede ser un

Ejemplo:

Si A, B, C, D, E , F, G, H (los vrtices
11 ) fueran ciudades, entonces los
nmeros seran ponderaciones que podran indicar los kilmetros que
existen de una ciudad a otra o tal vez lo que cuesta un pasaje de una
ciudad a otra. Por ejemplo de la ciudad A a la ciudad H hay 10 kilmetros
de distancia.
nombre, costo un valor de cualquier tipo de dato. Tambin a este grafo se le
denomina red de actividades, y el nmero asociado al arco se le denomina factor
de peso.
Grafo simple: Es un grafo que no tiene lazos ni aristas paralelas. Ejemplo:

Grafos Isomorfos: Dos grafos son isomorfos cuando existe una


12
correspondencia biunvoca (uno a uno), entre sus vrtices de tal forma que dos de
estos quedan unidos por una arista en comn. Esta propiedad la podemos
observar en las figuras anteriores, as como en las que se muestran a
continuacin.

Grafo nulo: Se dice que un grafo es nulo cuando los vrtices que lo
componen no estn conectados, esto es, que son vrtices aislados.
Grafo regular: Aquel con el mismo grado en todos los vrtices. Si ese grado
es k lo llamaremos k-regular.

Por ejemplo el grado de cada vrtice en el siguiente grafo es dos


por lo que se le llama 2 regular

13

Grafo bipartito: Es aquel con cuyos vrtices pueden formarse dos


conjuntos disjuntos de modo que no haya adyacencias entre vrtices
pertenecientes al mismo conjunto.

Un grafo G es bipartito si puede expresarse como


(Es decir, sus vrtices son la unin de dos grupos de vrtices), bajo las
siguientes condiciones:

V1 y V2 son disjuntos y no vacos.

Cada arista de A une un vrtice de V1 con uno de V2.

No existen aristas uniendo dos elementos de V1;


anlogamente para V2.

Ejemplo:

14

En la Figura anterior tenemos que se pueden formar dos conjuntos


disjuntos que seran:

X = {a, c, f} Y = {b, d, e}

Aqu podemos observar que en el conjunto X, el vrtice a no es


adyacente (no se encuentran unidos por una arista) al vrtice c ni
al vrtice f y lo mismo sucede para el vrtice c y f en relacin
con los dems vrtices del conjunto. En Y sucede lo mismo como
podemos constatarlo.
Grafo completo: Aquel con una arista entre cada par de vrtices. Es decir
desde cualquier vrtice podemos encontrar un camino hacia otro vrtice con solo
recorrer una arista.

Grafos Platnicos: Son los Grafos formados por los vrtices y aristas de
slidos regulares (Slidos Platnicos), como el tetraedro, el cubo, el octaedro, el
dodecaedro, el icosaedro, etc.
15

Grafos
conexos: Un grafo se puede definir como conexo si cualquier vrtice V
pertenece al conjunto de vrtices y es alcanzable por algn otro. Otra definicin
que dejara esto ms claro sera: un grafo conexo es un grafo no dirigido de modo
que para cualquier par de nodos existe al menos un camino que los une

Un grafo completo
es conexo.

Camino: Es un conjunto de vrtices y aristas que parten de un vrtice y llevan a


otro vrtice (una sucesin de vrtices y aristas, una ruta).
16
e
d f b
c

17

Por ejemplo: en el siguiente grafo hay un camino del vrtice a al vrtice e, es


decir, (a, d, e) o (e, d, a).

(a, d, e) significa que del vrtice a me voy al vrtice d y del d avanzo hacia
el e.

Longitud de camino: Es el nmero de arcos o aristas en ese camino. En el


ejemplo anterior el camino es de longitud 2 porque pasa por dos aristas.

Camino simple: Es cuando todos sus vrtices, excepto tal vez el primero y el
ltimo son distintos.

En la figura anterior encontramos que un camino simple seria: (a,d,e,f,c,b)

Ciclo simple: Es un camino simple


18 de longitud por lo menos de uno que
empieza y termina en el mismo vrtice.

Basndonos en la figura anterior un ciclo simple seria:


(a,d,e,f,c,a).

Grafo cclico: Se dice que un grafo es cclico cuando contiene por lo menos
un ciclo.

Grafo acclico: Se dice que un grafo es acclico cuando no contiene ciclos.


El grafo siguiente sera un grafo acclico

19

Camino
Euleriano
Llamaremos camino euleriano a un camino que contiene a todas las
aristas del grafo, apareciendo cada una exactamente una vez.
Teorema
Sea G un grafo conexo
G es euleriano Todos los vrtices de G tienen grado par.

Tambin podemos encontrar grafos que contengan


CICLOS EULERIANOS, los cuales se dan cuando al
acabar el recorrido llegamos al punto de salida.

20
Ciclos y
caminos
hamiltoniano
s 21

Un ciclo hamiltoniano tiene adems que recorrer todos los vrtices exactamente
una vez (excepto el vrtice del que parte y al cual llega).

Grado de salida: El grado de salida de un nodo v de un grafo g, es el


nmero de arcos o aristas que empiezan en v.

Por ejemplo en la siguiente figura el grado de salida en cada vrtice es:

a b c d e

2 3 3 2 2
Grado de entrada: El grado de entrada de un nodo v de un grafo g, es el
nmero de aristas que terminan en v.

Por ejemplo en la Figura el grado de entrada en cada vrtice es:

a b c d e

2 3 3 2 2

En este caso coincide el nmero de entradas que de salidas, pero no


siempre va a ser as.

22
Representacin de
Estructura

Secuencias.
Estas estructuras son utilizadas en programacin por lo que nos vamos a
concentrar en esta rea para estudiarlas.

Secuencias. Es lo que realiza en ocasiones un programa en forma secuencial, por


ejemplo: 23

Si queremos que un programa solicite al usuario dos nmeros, realice su suma y


muestre luego su resultado; la secuencia de pasos que se tendran que seguir se
podran describir mediante un grafo. Los diagramas de flujo por ejemplo seran un
tipo de grafo para representar los pasos a seguir en un programa (el algoritmo).
INICIO

num1,num2

24
r= num1 + num2

FIN

Seleccin (if-then-else)
Dado que una condicin produce un valor verdadero o falso, se necesita una
sentencia de control que ejecute determinada sentencia si la condicin es
verdadera , y otra si es falsa. Esta alternativa se realiza con la sentencia IF-THEN-
ELSE. A continuacin se describe el diagrama de flujo y el formato de la sentencia.
Mientras (while)
A la palabra reservada while le sigue una condicin.
El bloque de sentencias que le siguen se ejecuta
siempre que la condicin sea verdadera tal como se ve
en la figura. La forma general que adopta la
sentencia while es:

while (condicin)
sentencia;

25

Repetir hasta que (repeat-until)


La accin de repeat-until es repetir una serie de instrucciones hasta que se cumpla
una determinada condicin. Aqu las palabras repeat y until sirven tambin como
delimitadores de bloque.

Su diagrama de flujo es:


Reglas de funcionamiento:

1. La condicin se evala al final del bucle, despus de ejecutarse todas las


sentencias.

2. Si la condicin es falsa, se vuelve a repetir el bucle y se ejecutan todas sus


instrucciones.

3. Si la condicin es falsa, se sale del bucle y se ejecuta la siguiente


instruccin a until.

4. La sintaxis no requiere begin y end.

Analcense los diagramas de while-do y repeat-until, para comprender las


diferencias entre ambas formas.

Seleccin mltiple (case)


La sentencia de seleccin mltiple se utiliza
26 para ejecutar distintas sentencias en
funcin de los distintos valores que pueda tomar una expresin. El esquema de
esta sentencia es:

CASE Expresin OF
listas de valores : accin|
listas de valores : accin|
ELSE
accin por defecto
END

Para ejecutar esta sentencia, se evala primero la expresin. A continuacin, se


inspeccionan las distintas listas de valores, hasta encontrar una con un valor que
coincida con el resultado de la expresin. La accin correspondiente a ese valor
es ejecutada. Si el resultado de la expresin no aparece en ninguna de las listas,
se ejecuta la accin por defecto.
27
Algoritmos de
Recorrido y
Bsqueda
Las estrategias y los algoritmos de bsqueda desempaan un trabajo importante
en la teora de grafos particularmente esta ligada a la programacin de objetos.
Bsicamente estos trminos se aplican en reas estratgicas en las matemticas
y desempean un juego muy importante tanto en los grafos como en los rboles.
La estrategia se basa en seguir un mtodo
28 de pasos conforme se desarrolla el
problema, siguiendo un camino en comn donde se relacionen todos los
componentes del problema, as como tambin buscar la manera ms fcil o mejor
planteada que lleve a la solucin del mismo, siempre y cuando no se salga del
esquema principal.

BSQUEDA EN PROFUNDIDAD (BEP)


Un recorrido en profundidad es un algoritmo que permite recorrer todos los
nodos de un grafo o rbol de manera ordenada, pero no uniforme. Su manera de
funcionar se basa en ir expandiendo cada una de los nodos que va localizando, de
manera recursiva, recorriendo todos los nodos de un camino concreto. Cuando ya
no quedan ms nodos por visitar en este camino, regresa hacia atrs, de tal
manera que comienza el mismo proceso con cada uno de los hermanos del nodo
ya procesado.

Recorrido en profundidad: el recorrido en profundidad trata de buscar los


caminos que parten desde el nodo de salida hasta que ya no es posible avanzar
ms. Cuando ya no puede avanzarse ms sobre el camino elegido, se vuelve
atrs en busca de caminos alternativos, que no se estudiaron previamente.
BSQUEDA ANCHURA (BEA)
En Ciencias de la computacin, Bsqueda en anchura es un algoritmo para
recorrer o buscar elementos en un grafo (usado frecuentemente sobre rboles).
Intuitivamente, se comienza en la raz (eligiendo algn nodo como elemento raz
en el caso de un grafo) y se exploran todos los vecinos de este nodo. A
continuacin para cada uno de los vecinos se exploran sus respectivos vecinos
adyacentes, y as hasta que se recorra todo el rbol.

Formalmente, BEA es un algoritmo de bsqueda sin informacin, que expande y


examina todos los nodos de un rbol sistemticamente para buscar una solucin.

Recorrido en anchura: El recorrido en anchura supone recorrer el grafo, a partir


de un nodo dado, en niveles, es decir, primero los que estn a una distancia de un
arco del nodo de salida, despus los que estn a dos arcos de distancia, y as
sucesivamente hasta alcanzar todos los nodos a los que se pudiese llegar desde
el nodo salida.

29
ARBOLES

30

rbol General: Es un grafo no dirigido acclico conexo.


Un rbol es un grafo simple en el cual existe un nico camino entre cada par de
vrtices.
Sea G =(V,A) un grafo no dirigido. G se denomina ARBOL, si es conexo y no
contiene ciclos.

Un rbol con raz, es un rbol que tiene un vrtice particular designado como raz.

En los arboles encontramos:

RAIZ PRINCIPAL

31
Son aquellos que nodos
que no tienen hijos

32

B A
C
0

E F G H
1 NIVEL
N IV

K
2 NIVE EL
L
EL
HOJAS O NODOS EXTERNOS={e,f,g,k,m,i,j}

3 NI V
Son los nodos que
NODOS INTERNOS={b,c,d,h,l} tienen hijos

NODOS HERMANOS={(b,c,d),(e,f),(g,h,i),(k,l)
Son dos o mas nodos
que son hijos de una
misma raz

RBOL 33 NI VE L
4

BINARIO
Un rbol binario es uno con raz en el cual cada vrtice tiene un hijo a la derecha o
un hijo a la izquierda, o viceversa, o bien ningn hijo

Se dice que un rbol binario es completo si:

Cada vrtice tiene un hijo a la derecha y uno a la izquierda, o bien ningn hijo.
34
Teorema:
Si T es un rbol binario completo con i vrtices internos, entonces
T tiene i + 1 vrtices terminales y 2i + 1 vrtices en total.

RBOL BINARIO

DE

BUSQUEDA
Es un rbol binario T donde se han asociado datos a los vrtices.

Estos datos se ingresaran de modo que:

El primer dato formara la raz principal

El siguiente dato se analizara si es que la raiz se ubicara hacia el lado izquierdo,


sino lo es (es mayor) al lado derecho.

El siguiente dato se analizara con la siguiente raiz de modo que cada raiz puede
tener como maximo dos hijos.

A continuacin se ejemplifica la manera en que se ordenan datos en un rbol


binario:

35
Visitar la raz.

Recorrido el subarbol izquierdo

Recorrido el subarbol derecho


36
En el rbol anterior tenemos= 14,4,3,9,7,5,15,18,16,17,20

ORDEN
Recorrer el subarbol izquierdo

Visitar la raiz.

Recorrer el subarbol derecho

En el rbol anterior tenemos= 3,4,5,7,9,15,16,17,18,20

POSORDEN
Recorrer el subarbol izquierdo.

Recorrer el subarbol derecho .

Examinar la raz.

En el rbol anterior tenemos= 3,9,5,7,4,17,16,20,18,15,14|


RECORRIDOS EN
UN
ARBOL BINARIO
Hay tres maneras de recorrer un rbol:37en preorden, orden, posorden. Cada una
de ellas tiene una secuencia distinta para analizar el rbol como se puede ver a
continuacin:

PREORDEN
Visitar la raz.

Recorrido el subarbol izquierdo

Recorrido el subarbol derecho

En el rbol anterior tenemos= 14,4,3,9,7,5,15,18,16,17,20


ORDEN
Recorrer el subarbol izquierdo

Visitar la raiz.

Recorrer el subarbol derecho

En el rbol anterior tenemos= 3,4,5,7,9,15,16,17,18,20

POSORDEN
Recorrer el subarbol izquierdo.

Recorrer el subarbol derecho .

Examinar la raz.

En el rbol anterior tenemos= 3,9,5,7,4,17,16,20,18,15,14|

38
REDES

La maximizacin de flujos es un problema tpico de la Investigacin de


Operaciones, el cual tiene muchas aplicaciones, por ejemplo el flujo vial en una
ciudad, una red de aguas negras, una red informtica, etc.

El Modelo de Redes es un mtodo o secuencia el cual nos ayuda a tomar una


decisin acertada que podra ser mejorar o dar mayor aprovechamiento a los flujos
a vas donde que tengan mas capacidad, creando nuevas vas o eliminando
algunas antiguas. Tambin nos ayuda a maximizar este flujo de manera eficiente
de forma tal que se aprovechen
39 al mximo los recursos.

MODELOS
Una Red de Transporte es una grafica dirigida, simple, con pesos y que debe
cumplir las siguientes caractersticas:

Poseer una fuente o vrtice fijo que no tiene aristas de entrada.

Poseer un sumidero o vrtice fijo que no tiene arista de salida

El peso Cij de la arista dirigida de i a j llamado capacidad de ij es un


numero no negativo.
Este es un ejemplo de una red que parte de un punto a que es un

Muelle y llega a un punto z que es una refinera.

40
6
7
8

3
41
4

B
Sea G una red y sea Cij la capacidad de la arista dirigida (ij) se dice que un flujo
F en G asigna a cada arista dirigida (ij) un numero no negativo Fij tal que debe
cumplir:

Fij Cij

TEOREMA DE FLUJO MAXIMA


Se puede considerar un grafo como una red de flujo. Donde un nodo fuente
produce o introduce en la red cierta cantidad de algn tipo de material, y un nodo
sumidero lo consume. Cada arco, por tanto, puede considerarse como un
conducto que tiene cierta capacidad de flujo. De igual modo que en redes
elctricas la suma de flujos entrantes a un nodo, debe ser igual a la suma de los
salientes (principio de conservacin de energa), excepto para el nodo fuente y el
nodo sumidero.

Por tanto, el problema de flujo mximo se enuncia como:

42
Cul es la tasa a la cual se puede transportar el material desde el nodo fuente al
nodo sumidero, sin violar las restricciones de capacidad?.

Este algoritmo depende de tres conceptos principales:

e aumento, es una trayectoria desde el nodo fuente s al nodo sumide

dad residual es la capacidad


2 adicional de flujo que un arco pued

quier red, el flujo mximo que fluye de la fuente al destino es igual a


3
3

8 5 43

4 4
2

3
44
APLICACIONES

Gracias a la teora de grafos se pueden resolver diversos problemas como por ejemplo la
sntesis de circuitos secuenciales, contadores o sistemas de apertura. Se utiliza para
diferentes reas por ejemplo, Dibujo computacional, en toda las reas de Ingeniera.

Los grafos se utilizan tambin para modelar trayectos como el de una lnea de autobs a
travs de las calles de una ciudad, en el que podemos obtener caminos ptimos para el
trayecto aplicando diversos algoritmos como puede ser el algoritmo de Floyd.

Para la administracin de proyectos, utilizamos tcnicas como PERT en las que se modelan
los mismos utilizando grafos y optimizando los tiempos para concretar los mismos.
45
La teora de grafos tambin ha servido de inspiracin para las ciencias sociales, en especial
para desarrollar un concepto no metafrico de red social que sustituye los nodos por los
actores sociales y verifica la posicin, centralidad e importancia de cada actor dentro de la
red. Esta medida permite cuantificar y abstraer relaciones complejas, de manera que la
estructura social puede representarse grficamente. Por ejemplo, una red social puede
representar la estructura de poder dentro de una sociedad al identificar los vnculos
(aristas), su direccin e intensidad y da idea de la manera en que el poder se transmite y a
quines.

Los grafos son importantes en el estudio de la biologa y hbitat. El vrtice representa un


hbitat y las aristas (o "edges" en ingls) representa los senderos de los animales o las
migracines. Con esta informacin, los cientficos pueden entender cmo esto puede
cambiar o afectar a las especies en su hbitat.
CONCLUSI
N
Los grafos cumplen una gran funcin dentro de nuestra vida cotidiana, ya que son
aplicables a varias formas que dan solucin a la necesidad de la sociedad.

Se ha mencionado que los grafos no son lineales, y si llegan a serlo, se dice que
son grafos degenerados, los nicos que pueden ser lineales son los arreglos, eso
implica que un grafo no puede serlo. Al ir desarrollando los grafos se da a conocer
que se aplican diferentes mtodos y tcnicas para cada caso especfico.

Para nuestra carrera es importante saber que el desarrollo de los grafos es


esencial, ya que se aplica en el campo46
laboral. Por ejemplo para conocer cmo
funciona una computadora en su interior, necesitamos desarrollar primeramente
nuestro intelecto con respecto a los grafos para entender las condiciones de la
computadora y as aplicarlo en nuestra ingeniera en sistemas computacionales
por medio de la estructura de datos y en el mantenimiento de nuestra
computadora por medio del software y hardware.
BIBLIOGRAFA

www.monografias.com/teoria-grafos

www.wikipedia.com/matecomp/grafos

47
www.wikipedia.com/arboles

www.buenastareas.com/ensayo-redes