Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 6
Teora de Grafos
La Teora de Grafos nace con la publicacin de un artculo de Euler sobre los
puentes de la ciudad de Knigsberg, el ro que la rodea se divide en dos brazos.
Sobre los brazos estaban construidos siete puentes y para los habitantes era
motivo de distraccin descubrir un itinerario de manera que pudieran regresar al
punto de partida, despus de haber cruzado por los siete puentes pero pasando
slo una vez por cada uno de ellos. Leonardo Euler estudi el asunto, represent
las distintas zonas A, B, C y D por medio de puntos, mientras que los puentes
estaban representados por lneas que unan estos puntos. A la figura la llam
grafo, a los puntos los llam vrtices y a las lneas las denomin aristas.
Lo que anteriormente slo unos cuantos estudiosos desarrollaban por especial y
particular inters. Sin embargo con el auge de las computadoras, los grafos han
venido a ser una idea central en el desarrollo de estructuras para describir
situaciones, guardar informacin, plantear problemas y establecer algoritmos.
Fuente
Seymour Lipschutz, Marc Lipson. Matemticas discretas. Tercera edicin. Editorial McGraw Hill
(2009)
Vrtices
Son los puntos o nodos con los que est conformado un grafo. Llamaremos grado
de un vrtice al nmero de aristas de las que es extremo. Se dice que un vrtice
es `par' o `impar' segn lo sea su grado.
Lazo
Es una arista cuyos extremos inciden sobre el mismo vrtice.
Valencia de un vrtice
Es el nmero de lados que salen o entran a un vrtice. En el grafo siguiente las
Valencias de los vrtices son
Fuente
scribd (2015) . Unidad 6 URL http://es.scribd.com/doc/106576775/UNIDAD-VIMatematicas-Discretas#scribd
Grafos Conexos
Un grafo es conexo si todos sus vrtices estn conectados por un camino; es
decir, si para cualquier par de vrtices (a, b), existe al menos un camino posible
desde a hacia b. Es posible determinar si un grafo es fuertemente conexo
coleccionando la informacin de los grados de sus vrtices al tiempo que se
acumulan las diferentes rutas que salen de un vrtice o llegan a l.
Grafo completo
Un grafo simple es completo si existen aristas uniendo todos los pares posibles de
vrtices. Es decir, todo par de vrtices (a, b) debe tener una arista que los une. El
conjunto de los grafos completos es denominado usualmente K, siendo el grafo
completo de n vrtices. Un Kn, es decir, grafo completo de n vrtices tiene
exactamente n(n-1)/2 aristas.
Grafos Bipartitos
Un grafo G es bipartito si puede expresarse como G = {V1 + V2, A} (es decir, la
unin de dos grupos de vrtices), bajo las siguientes condiciones:
V1 y V2 son distintos y tienen ms de un elemento cada uno.
Una arista en A une un vrtice de V1 con uno de V2.
No existen aristas uniendo dos elementos de V1; anlogamente para V2
Grafo plano
Un grafo G es plano si admite una representacin en el plano de tal forma que las
aristas no se cortan, salvo en sus extremos. A dicha representacin se le
denomina grafo plano. En teora de grafos, un grafo plano (o planar segn
referencias) es un grafo que puede ser dibujado en el plano sin que ninguna arista
se cruce (una definicin ms formal puede ser que este grafo pueda ser
"incrustado" en un plano).
Grafos ponderados
Un grafo G es un grafo etiquetado si sus aristas y/o vrtices tienen asignado
alguna identificacin. En particular, G es un grafo ponderado si a cada arista e de
G se le asigna un nmero no negativo w (e) denominado peso o longitud de e. El
peso (o longitud de un camino en un grafo ponderado G se define como la suma
de los pesos de las aristas del camino.
Fuente
matesdiscretasisc.blogspot (2015) Tipos de grafos URL
http://matesdiscretasisc.blogspot.mx/2014/12/612-tipos-de-grafos-simplescompletos.html
Teora de grafos(2015) URL
http://campus.cva.itesm.mx/nazira/Tc1003/PDF/TODO/0701_Tc1003_TODO_Grafo
s.pdf
6.2.1 Matemtica
Hay tres maneras de representar un grafo en un programa: mediante matrices,
mediante listas y mediante matrices dispersas.
Representacin mediante matrices
La forma ms fcil de guardar la informacin de los nodos es mediante la
utilizacin de un vector que indexe los nodos, de manera que los arcos entre los
nodos se pueden ver como relaciones entre los ndices. Esta relacin entre ndices
se puede guardar en una matriz, que llamaremos de adyacencia.
Representacin mediante listas
En las listas de adyacencia lo que haremos ser guardar por cada nodo, adems
de la informacin que pueda contener el propio nodo, una lista dinmica con los
nodos a los que se puede acceder desde l. La informacin de los nodos se puede
guardar en un vector, al igual que antes, o en otra lista dinmica.
Estructura de lista
Lista de incidencia - Las aristas son representadas con un vector de pares, donde
cada par representa una de las aristas.5
Lista de adyacencia - Cada vrtice tiene una lista de vrtices los cuales son
adyacentes a l. Esto causa redundancia en un grafo no dirigido (ya que A existe
en la lista de adyacencia de B y viceversa), pero las bsquedas son ms rpidas,
al costo de almacenamiento extra.
Lista de grados - Tambin llamada secuencia de grados o sucesin grfica de un
grafo no-dirigido es una secuencia de nmeros, que corresponde a los grados de
los vrtices del grafo.
Fuente
equipo1mditq.blogspot(2014) Matemtica URL
http://equipo1mditq.blogspot.mx/2014/11/621-matematica.html
6.2.2. Computacional
Representacin secuencial de un grafo
Considere el grafo siguiente G:
D C
7 4 0 6 80 2
1
3
9
1 2 3 4 5 6 78
Fuentes
Matemticas para computadoras(2013) URL
http://moodle2.unid.edu.mx/dts_cursos_mdl/lic/TI/MC/AM/10/Computacional.pdf
Fuentes
equipo1mditq.blogspot(2014) Algoritmo de recorrido y busqueda URL
http://equipo1mditq.blogspot.mx/2014/11/63-algoritmos-de-recorrido-y-busqueda
6.3.2. A lo ancho
El problema de los caminos ms cortos es el problema que consiste en encontrar
un camino entre dos vrtices (o nodos) de tal manera que la suma de los pesos de
las aristas que lo constituyen es mnima. Ahora bien, podemos emplear el
algoritmo de Dijkstra para estos casos, los pasos o procedimientos a seguir para
ste algoritmo son los siguientes: Teniendo un grafo dirigido ponderado de N
nodos no aislados, sea x el nodo inicial, un vector D de tamao N guardar al final
del algoritmo las distancias desde x al resto de los nodos.
1. Inicializar todas las distancias en D con un valor infinito relativo ya que son
desconocidas al principio, exceptuando la de x que se debe colocar en 0 debido a
que la distancia de x a x sera 0.
2. Sea a = x (tomamos a como nodo actual).
3. Recorremos todos los nodos adyacentes de a, excepto los nodos marcados,
llamaremos a estos vi
4. Si la distancia desde x hasta va guardada en D es mayor que la distancia desde
x hasta a, sumada a la distancia desde a hasta vi; esta se sustituye con la
segunda nombrada.
5. Marcamos como completo el nodo a.
Fuentes
relacionesgrafos.blogspot(2014) A lo ancho URL
http://relacionesgrafos.blogspot.mx/2014/11/632-lo-ancho.html
6.3.3 En profundidad
La idea general detrs de una bsqueda en profundidad que empieza en un
vrtice inicial A es la siguiente: primero se procesa el vrtice inicial A. Luego se
procesa cada vrtice N a lo largo de un camino P que empieza en A; es decir, se
procesa un vecino de A, luego un vecino de A y as sucesivamente. Despus de
llegar a un punto muerto; es decir, a un vrtice sin vecino no procesado, se
retrocede en el camino P hasta que es posible continuar a lo largo de otro camino
P. Y as en lo sucesivo. El retroceso se logra usando una STACK para mantener
los vrtices iniciales de posibles caminos futuros. Tambin se requiere un campo
STATUS que indique el estado actual de cualquier vrtice, de modo que ningn
vrtice sea procesado ms de una vez.
Este algoritmo ejecuta una bsqueda en profundidad sobre un grafo
G; la bsqueda empieza con un vrtice inicial A.
Paso 1. Todos los vrtices se inicializan en el estado ready (STATUS = 1).
Paso 2. El vrtice inicial se introduce sobre STACK y se cambia el estado
de A al estado waiting (STATUS = 2).
Paso 3. Se repiten los pasos 4 y 5 hasta que STACK est vaca.
Paso 4. Se saca el vrtice superior N de STACK. Se procesa N y se hace
STATUS (N) = 3, el estado processed.
Paso 5. Se analiza cada vecino J de N.
a) Si STATUS (J) = 1 (estado ready), J se introduce en STACK y se
restablece STATUS (J) = 2 (estado waiting).
b) Si STATUS (J) = 2 (estado waiting), el J previo se elimina de STACK y
el J actual se introduce en STACK.
c) Si STATUS (J) = 3 (estado processed), se ignora el vrtice J.
[Fin del ciclo del paso 3].
Paso 6. Salir.
Fuentes
Seymour Lipschutz, Marc Lipson. Matemticas discretas. Tercera edicin.
Edi.McGraw Hill (2009)
6.4 Arboles
Los rboles forman una de las subclases de grficas que ms se utilizan.
La ciencia de la computacin hace uso de los rboles ampliamente,
especialmente para organizar y relacionar datos en una base de datos. Los
rboles surgen en problemas tericos como el tiempo ptimo para ordenar.
Formalmente se define un rbol de tipo T como una estructura homognea
que es la concatenacin de un elemento de tipo T junto con un nmero
finito de rboles disjuntos, llamados subrboles.
Una forma particular de rbol puede ser la estructura vaca. Un rbol es un
grafo simple en el cual existe un nico camino entre cada par de vrtices.
Los rboles pueden ser construidos con estructuras estticas y dinmicas.
Las estticas son arreglos, registros y conjuntos, mientras que las
dinmicas estn representadas por listas. Sea G = (V, A) un grafo no
dirigido. G se denomina ARBOL, si es conexo y no contiene ciclos.
Fuentes
matesdiscretasisc.blogspot (2014) Arboles URL
http://matesdiscretasisc.blogspot.mx/2014/12/64-arboles.html
6.4.2 Propiedades
Las siguientes son las caractersticas y propiedades ms importantes de los
rboles en general:
a) Todo rbol que no es vaco, tiene un nico nodo raz.
b) Un nodo X es descendiente directo de un nodo Y, si el nodo X es apuntado por
el nodo Y. en este caso es comn utilizar la expresin X es hijo de Y.
c) Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al nodo Y. en
este caso es comn utilizar la expresin X es padre de Y.
d) Se dice que todos los nodos que son descendientes directos (hijos) de un
mismo nodo (padre), son hermanos.
e) Todo nodo que no tiene ramificaciones (hijos), se conoce con el nombre de
terminal u hoja.
f) Todo nodo que no es raz, ni terminal u hoja se conoce con el nombre de interior.
g) Grado es el nmero de descendientes directos de un determinado nodo. Grado
del rbol es el mximo grado de todos los nodos del rbol, es decir, el grado ms
alto entre todos los nodos.
h) Nivel es el nmero de arcos que deben ser recorridos para llegar a un
determinado nodo. Por definicin la raz tiene nivel 1.
i) Altura del rbol es el mximo nmero de niveles de todos los nodos del rbol
Fuentes
equipo1mditq.blogspot(2014) Propiedades URL
http://equipo1mditq.blogspot.mx/2014/11/642-propiedades.html
Fuentes
itpn.mx (2015) unidad VI Teora de grafo URL
http://itpn.mx/recursosisc/1semestre/matematicasdiscretas/Unidad%20VI.pdf
Seymour Lipschutz, Marc lipson. matemticas discretas. Tercera edicin. Editorial.
McGraw Hill(2009)
Fuentes
es.scribd.com (2015) Teora de grafos. URL
http://es.scribd.com/doc/106576775/UNIDAD-VI-Matematicas-Discretas#scribd
itpn.mx (2015) Teora de grafos URL
http://itpn.mx/recursosisc/1semestre/matematicasdiscretas/Unidad%20VI.pdf
Fuentes
Wikipedia (2014) Recorrido de rboles. URL
http://es.wikipedia.org/wiki/Recorrido_de_rboles
Flujo mximo
En una red G, el flujo mximo es un flujo mximo. Generalmente existen varios
flujos con el mismo valor mximo. Para encontrar el flujo mximo consideraremos
un flujo inicial en cada arista igual a cero, despus se determina un camino
especfico de la fuente al sumidero y se incrementa el flujo.
Si una arista est dirigida hacia la fuente decimos que esta arista est dirigida en
forma impropia, en caso contrario est dirigida en forma propia.
Es posible incrementar el flujo en ciertos caminos de la fuente al sumidero que
tenga aristas orientadas en forma impropia y propia. Sea P un camino de a a z
y sea x un vrtice en P que no sea a ni z.
Teorema del flujo mnimo
En lo que respecta a las redes, un corte es un conjunto de corte en el cual
quedando partes disjuntas del conjunto de vrtices, V1 y V2 que, situados en la
red, dejan la fuente en una de ellas y al sumidero en la otra. Se llama capacidad
de un corte a la suma: Capacidad (v,w); vV1, w? V2 V1es la parte que contiene a
la fuente V2 es la parte que contiene al sumidero Sea F un flujo en G y sea (P, P)
un corte en G. Entonces la capacidad de (p, p) es mayor o igual que el valor de F.
Redes de Petri
Una red de Petr es un grafo dirigido bipartito, con un estado inicial, llamado
marcacin inicial. Los dos componentes principales de la red de Petr son los sitios
y las transiciones. Grficamente, los sitios son dibujados como crculos y las
transiciones como barras o rectngulos. Las aristas del grafo son conocidas como
arcos. Estos tienen un peso especfico, el cual es indicado por un nmero entero
positivo, y van de sitio a transicin y viceversa. Por simplicidad, el peso de los
arcos no se indica cuando ste es igual a 1. Un arco que est etiquetado con k
puede ser interpretado como k arcos paralelos.
Fuentes
itpn.mx (2015) Teora de grafos URL
http://itpn.mx/recursosisc/1semestre/matematicasdiscretas/Unidad%20VI.pdf