Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Pgina 1
TEORA DE GRFICAS
La teora de grficas se inicia con ideas geomtricas muy simples y tiene muchas aplicaciones importantes.
Una grfica G consta de un conjunto finito V de objetos llamados vrtices y un conjunto finito E de objetos
llamados aristas y una funcin que asigna a cada arista un subconjunto {v, w}, donde v y w son vrtices
(que podran ser iguales). Se escribe G =(V,E, ) cuando se deba enfatizar los vrtices de G. Si e es una aris-
ta, y (e) ={v, w}, se dice que e es una arista entre v y w y que e est determinada por v y w. Los vrtices v y
w son los extremos de e. Si slo existe una arista entre v y w, con frecuencia se identifica a e con el conjunto
{v, w}.
EJEMPLO.
Sean V ={1, 2, 3, 4}y E ={e1, e2, e3, e4, e5}. Sea dada por
(e1) =(e5) ={1, 2}, (e2) ={4, 3}, (e3) ={1, 3}, (e4) ={2, 4}
Entonces G =(V, E, ) es una grfica.
Cualquiera de las siguientes figuras representa la grfica dada en el ejemplo anterior.
El grado de un vrtice es el nmero de aristas que tienen a ese vrtice como extremo. Una grfica puede
contener a una arista de un vrtice a s mismo; tal arista es un bucle cerrado (o lazo). Un bucle cerrado con-
tribuye en 2 unidades al grado de un vrtice.
EJEMPLO.
En la grfica 4, el vrtice A tiene grado 2, el vrtice B tiene grado 4 y el vrtice D tiene grado 3.
En la figura 5, el vrtice a tiene grado 4, el vrtice e tiene grado 0 y el vrtice b tiene grado 2.
Cada vrtice de la figura 6 tiene grado 2.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 2
Un vrtice de grado 0 es un vrtice aislado. Dos vrtices que determinan una arista son vrtices adyacentes.
Definicin: Una trayectoria (o camino) en una grfica es una sucesin : v1, v2, . . . ,vk de vrtices, cada uno
adyacente al siguiente, y una eleccin de una arista entre vi y vi+1, de modo que ninguna arista es elegida
ms de una vez. En trminos geomtricos, esto significa que es posible iniciar en v1 y viajar a travs de las
aristas hasta vk y nunca utilizar la misma arista dos veces.
Un circuito es una trayectoria que inicia y termina en el mismo vrtice. En el tema anterior llamamos a esto
un ciclo de trayectoria, sin embargo la palabra circuito es ms comn en teora general de grafos. Una tra-
yectoria v1, v2, . . . ,vk es simple si ningn vrtice aparece ms de una vez. De manera anloga un circuito
v1, v2, . . . ,vk-1, vk es simple si los vrtices v1, v2, . . . ,vk-1, vk son todos distintos.
EJEMPLO.
Las trayectorias de la figura 4 incluyen a 1: D, E, B, C, 2: A, B, E, D, D y 3: A, B, A
Algunos ejemplos de trayectorias en la grfica de la figura 5 son: 4: a, b, c, a y 5: d, c, a, a. La trayectoria
5 es un circuito.
En la figura 6, la sucesin 1, 2, 3, 2 no es una trayectoria, pues la nica arista existente entre 2 y 3 tendra
que recorrerse dos veces.
La trayectoria 6: c, a, b, c, d de la figura 5 no es simple.
Una grfica es conexa si existe una trayectoria de cualquier vrtice a otro de la grfica. En caso contrario, la
grfica es disconexa. Si la grfica es disconexa, las diversas partes conexas son las componentes de la grfica.
EJEMPLO.
La grfica 4 es conexa. Las grficas de las figuras 5 y 6 son disconexas. La grfica de la figura 6 tiene dos
componentes.
TRAYECTORIAS Y CIRCUITOS DE EULER
Una trayectoria en una grfica G es una trayectoria de Euler si incluye a cada una de las aristas slo una vez.
Un circuito de Euler es una trayectoria de Euler que es a la vez un circuito.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 3
EJEMPLO.
Una trayectoria de Euler en la figura 7 es : E, D, B, A, C, D
Un circuito de Euler en la figura 8 es : 5, 3, 2, 1, 3, 4, 5
TEOREMA 1
Si una grfica G tiene un vrtice de grado impar, entonces no puede existir un circuito de Euler en G. Si G es
una grfica conexa y todos los vrtices tiene grado par, entonces existe un circuito de Euler en G.
TEOREMA 2
Si una grfica G tiene ms de dos vrtices de grado impar, entonces no puede existir una trayectoria de Euler
en G.
Si G es conexa y tiene exactamente dos vrtices de grado impar, entonces existe una trayectoria de Euler en
G. Cualquier trayectoria de Euler debe comenzar en un vrtice de grado impar y terminar en el otro.
EJEMPLO.
Cules de las grficas de las figuras 9, 10 y 11 tienen un circuito de Euler, una trayectoria de Euler pero no
un circuito de Euler, o ninguno de stos?
En la figura 9, cada uno de los cuatro vrtices tiene grado 3, de manera que no existe un circuito o trayecto-
ria de Euler.
La grfica de la figura 10 tiene exactamente dos vrtices de grado impar. No existe un circuito pero si una
trayectoria de Euler.
En la figura 11, todos los vrtices tienen grado par; as, la grfica debe tener un Circuito de Euler.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 4
DEFINICIN: Una arista {vi, vj} es un puente en una grfica conexa de G si al eliminar {vi, vj} se crea una
grfica disconexa. Por ejemplo en la grfica 4 {B, E}es un puente.
ALGORITMO DE FLEURY
Sea G =(V, E, ) una grfica conexa con todos sus vrtices de grado par.
Paso 1. Se elige un miembro v de V como vrtice inicial para el circuito. Sea : v el inicio de la trayectoria
por construir.
Paso 2. Suponga que ya se ha construido : v, u, . . ., w. Si en w slo existe una arista {w, z}, se extiende a
: v, u, . . ., w, z. Se elimina {w, z}de E y w de V. Si en w existen varias aristas, se elige una que no sea un
puente {w, z}. Extienda a : v, u, . . ., w, z y se elimina {w, z}de E.
Paso 3. Repita el paso 2 hasta que no sobren aristas en E.
Fin del algoritmo.
EJEMPLO.
Utilice el algoritmo de Fleury para construir un circuito de Euler para la grfica siguiente:
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 5
Ruta corriente Arista siguiente
: A {A, B}
: A, B {B, C}
: A, B, C {C, A}
: A, B, C, A {A, D}
: A, B, C, A, D {D, C}
: A, B, C, A, D, C {C, E}
: A, B, C, A, D, C, E {E, G}
: A, B, C, A, D, C, E, G {G, F}
: A, B, C, A, D, C, E, G, F {F, E}
: A, B, C, A, D, C, E, G, F, E {E, H}
: A, B, C, A, D, C, E, G, F, E, H {H, G}
: A, B, C, A, D, C, E, G, F, E, H, G {G, A}
: A, B, C, A, D, C, E, G, F, E, H, G, A
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 6
EJERCICIOS
Para cada una de las siguientes grficas, indique si tiene un circuito de Euler, una trayectoria de Euler o nin-
guno de stos. Justifique su respuesta.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 7
TRAYECTORIAS Y CIRCUITOS DE HAMILTON
Ahora se ver a la segunda categora de problemas de grficas, donde la tarea consiste en visitar cada vrti-
ce slo una vez, con la excepcin del vrtice inicial, si ste tambin debe ser el ltimo vrtice. Por ejemplo,
tal trayectoria podra ser til para alguien que deba proporcionar servicio a un conjunto de mquinas ex-
pendedoras de manera regular. Se puede representar cada mquina expendedora mediante un vrtice.
Una trayectoria hamiltoniana es aquella que contiene cada vrtice slo una vez. Un circuito hamiltoniano es
aquel que contiene cada vrtice slo una vez, excepto el primer vrtice, que tambin es el ltimo. Este tipo
de trayectoria recibe el nombre del matemtico Sir William Hamilton, quien desarroll y comercializ un
juego que consista en una grfica de madera en forma de dodecaedro regular, con las instrucciones para
encontrar lo que se llama circuito hamiltoniano. La figura (a) muestra una versin plana de este slido, con
un circuito hamiltoniano (uno de muchos) mostrado en la figura (b) mediante los vrtices numerados en
forma consecutiva.
EJEMPLO 1.
Considere la grfica de la figura a. La trayectoria a, b, c, d, e es una trayectoria hamiltoniana, pues contiene
cada vrtice slo una vez. Sin embargo, no es difcil ver que no existe un circuito hamiltoniano para esta
grfica. Para la grfica de la figura b, la trayectoria A, D, C, B, A (puede elegirse cualquier arista de B a A) es
un circuito hamiltoniano. En las figuras c y d, no es posible tener una trayectoria hamiltoniana. (Verifique
esta afirmacin.)
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 8
EJEMPLO 2.
Cualquier grfica completa Kn tiene circuitos hamiltonianos. De hecho, si se parte de cualquier vrtice, pue-
de visitarse todos los dems en forma secuencial y en el orden deseado.
Pueden surgir preguntas sobre cuestiones anlogas a las correspondientes a las trayectorias y circuitos de
Euler acerca de las trayectorias y circuitos hamiltonianos. Es posible determinar si existe una trayectoria o
circuito de Hamilton? Si debe existir una trayectoria o circuito hamiltoniano existe una manera eficiente de
determinarlo?
Es claro que los bucles cerrados y las aristas mltiples no son muy tiles para determinar circuitos hamilto-
nianos, ya que no puede utilizarse los bucles cerrados, y slo puede utilizarse una arista entre cualesquiera
dos vrtices. As, se supondr que cualquier grfica mencionada no tiene bucles cerrados ni aristas mlti-
ples.
Si una grfica G de n vrtices tiene un circuito hamiltoniano, entonces G debe tener al menos n aristas.
Ahora, se establecer algunas respuestas parciales, las cuales establecen que si una grfica G tiene "suficien-
tes" aristas, entonces puede determinarse un circuito hamiltoniano.
Sea G una grfica conexa con n vrtices, n>2, sin bucles cerrados ni aristas mltiples. De nuevo, stos son
enunciados de existencia; no proporcionan mtodos para construir un circuito hamiltoniano.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 9
TEOREMA 1.
G tiene un circuito hamiltoniano si para cualesquiera dos vrtices u y v de G que no sean adyacentes, el
grado de u ms el grado de v es mayor o igual que n.
Se omitir la demostracin de este resultado, pero mediante l puede demostrarse lo siguiente:
COROLARIO. G tiene un circuito hamiltoniano si cada vrtice tiene grado mayor o igual que n/2.
TEOREMA 2.
Sea m el nmero de aristas de G. Entonces G tiene un circuito hamiltoniano si m
1
2
(n
2
3n +6). (Re-
cuerde que n es el nmero de vrtices.)
EJERCICIOS:
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 10
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 11
RBOLES
El rbol es un tipo especial de relacin de excepcional utilidad, con gran aplicacin en las ciencias de la
computacin y que por lo general se representa mediante un dgrafo. Estas relaciones son esenciales para
construir bases de datos y compiladores de lenguajes de computacin, por nombrar solamente dos reas
importantes.
Sea A un conjunto y T una relacin en A. T es un rbol si existe un vrtice v
0
en A con la propiedad de que
existe una nica trayectoria en T de v
0
hacia cualquier otro vrtice en A, pero no existe una trayectoria de v
0
a v
0
.
El vrtice v
0
es nico. Con frecuencia es llamado raz del rbol T, siendo T un rbol con raz. Se escribe (T, v
0
)
para denotar un rbol T con raz v
0
.
Si (T, v
0
) es un rbol con raz sobre el conjunto A, un elemento v de A es un vrtice en T.
TEOREMA 1.
Sea (T, v
0
) un rbol con raz. Entonces:
No existen ciclos en T.
V0 es la nica raz en T.
Cada vrtice en T distinto de v
0
tiene grado interno 1, y v
0
tiene grado interno 0.
El teorema 1 resume las propiedades geomtricas de un rbol. Con estas propiedades en mente, es posible
analizar la apariencia del dgrafo de un rbol tpico.
Primero se traza la raz v
0
. Ninguna arista entra a v
0
, pero pueden salir varias, las cuales generalmente son
trazadas hacia abajo. Los vrtices terminales de las aristas que inician en v
0
son los vrtices de nivel 1, mien-
tras que v
0
est en el nivel 0. Tambin se acostumbra decir que v
0
es el padre de estos vrtices de nivel 1, y
los vrtices del nivel 1 son los hijos de v
0
. Cada vrtice en el nivel 1 no tiene otras aristas que entren el l,
por la parte (c) del teorema 1, pero cada uno de esos vrtices puede tener varias aristas que salgan de l. Se
trazan las aristas que salen de un vrtice de nivel 1 hacia abajo y terminan en diversos vrtices, que existen
en el nivel 2. En estos niveles tambin existe una relacin padre hijo ( y en cada pareja consecutiva de
niveles). Los hijos de cada uno de los vrtices son llamados hermanos.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 12
El proceso anterior contina con tantos niveles como sean necesarios para completar el dgrafo. Si se ob-
serva el dgrafo de arriba hacia abajo, se entiende por qu a estas relaciones se las llama rboles. El mayor
nivel de un rbol, es la altura de ste. Los vrtices del rbol que no tienen hijos son las hojas del rbol.
Los vrtices de un rbol que se encuentran en cualquier nivel forman simplemente un conjunto de vrtices
en A. Sin embargo, por lo general, es til suponer que los hijos de cada vrtice del rbol estn linealmente
ordenados. As si un vrtice v tiene cuatro hijos, se supondr que estn ordenados, por lo que se har refe-
rencia a ellos como el primero, segundo, tercero y cuarto hijo de v. Siempre que se trace el dgrafo del r-
bol, se supondr un orden en cada nivel, al disponer los hijos de izquierda a derecha. Un rbol de este tipo
es un rbol ordenado.
EJEMPLO.
Sean A ={v1, v2, v3, v4, v5, v6, v7, v8, v9, v10}y T ={(v2, v3), (v2, v1), (v4, v5), (v4, v6), (v5, v8), (v6, v7), (v4,
v2), (v7, v9), (v7, v10)}. Muestre que T es un rbol con raz e identifquela.
Solucin:
Ninguna trayectoria inicia en lo vrtices v1, v3, v8, v9 y v10. Por lo tanto estos vrtices son las hojas del
rbol. No existen trayectorias de los dems vrtices a v4, por lo que se deben eliminar como posibles races.
As, si T es un rbol, su raz es v4.
Se muestra a continuacin la estructura de dicho rbol.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 13
Si n es un entero positivo, un rbol T es un n-rbol (rbol n-ario) si cada vrtice tiene a lo ms n hijos. Si
todos los vrtices de T distintos de las hojas tienen exactamente n hijos, T es un n-rbol completo. En parti-
cular, con frecuencia se dice que un 2-rbol es un rbol binario, y un 2-rbol completo es un rbol binario
completo.
TEOREMA 2.
Si (T, v0) es un rbol con raz y v T, entonces T(v) tambin es un rbol con raz v. T(v) es el subrbol de T
que comienza en v.
EJEMPLO.
Considere el rbol T de la figura anterior. Este rbol tiene raz v4. A continuacin se muestran los subrbo-
les T(v5), T(v2) y T(v6) de T.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 14
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 15
RBOLES ETIQUETADOS
Algunas veces es til etiquetar los vrtices o aristas de un dgrafo para indicar su uso para un propsito es-
pecfico. Esto es particularmente cierto para muchos usos de los rboles en las ciencias de la computacin.
EJEMPLO. CONSIDERE LA EXPRESIN ALGEBRAICA DADA A CONTINUACIN
(S (2 x)) + ((x 2) (3+x))
En esta expresin no es posible realizar la suma central hasta tanto no se hayan evaluado los argumentos de
la izquierda y de la derecha. Es fcil ver que ese ltimo clculo constituye el operador central. La expresin
algebraica anterior se puede representar grficamente en un rbol binario etiquetado como se muestra a
continuacin.
EJEMPLO:
Construya el rbol de la expresin algebraica dada.
(S (1 x)) ([4+(7 (y +2)) (7+(x y)))
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 16
El rbol binario posicional es de particular importancia. En el siguiente dgrafo, por razones obvias se eti-
queta las posiciones de los hijos como izquierda y derecha, en vez de 1 y 2. Los rboles etiquetados pueden
tener varios conjuntos de etiquetas. Por lo general se omite las etiquetas izquierda derecha en un rbol
binario posicional para enfatizar otras etiquetas tiles. Se dice que un rbol posicional tambin es un rbol
ordenado. Al trazar los dgrafos de un rbol posicional, se supondr que las posiciones de los n hijos para
cada vrtice son ordenados de forma simtrica bajo el vrtice, y se coloca en la posicin adecuada cada hijo
realmente existente. Cuando no existen todos los hijos, entonces se indica las posiciones de los hijos me-
diante la direccin de las aristas, como en la figura siguiente.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 17
REPRESENTACIN DE LOS RBOLES BINARIOS POSICIONALES EN COMPUTADORA
Para representar un rbol binario posicional como datos de computadora se necesita extender el concepto
de lista enlazada al de una lista doblemente enlazada, donde cada celda contenga dos apuntadores y un
elemento de datos. Se utilizar el siguiente smbolo grfico
para representar estas nuevas celdas. El espacio central representa el almacenamiento de datos y los dos
apuntadores, llamados apuntador izquierdo y apuntador derecho representados mediante puntos y flechas.
Implementaremos la representacin con tres arreglos: Left, que contiene los apuntadores dirigidos a los
hijos de la izquierda; Right, los apuntadores a los hijos de la derecha y Data con la informacin o las etique-
tas relacionadas con cada vrtice. El valor 0, utilizado como apuntador, indica que el hijo correspondiente
no existe.
EJEMPLO:
Considere de nuevo el siguiente rbol binario.
La siguiente es la representacin como una lista doblemente enlazada en forma simblica.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 18
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 19
EJEMPLO.
Considere el siguiente dgrafo.
La siguiente es la representacin como una lista doblemente enlazada en forma simblica.
Y la siguiente es la implementacin en arreglos.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 20
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 21
Proporcione los arreglos LEFT, DATA, RIGHT que describan el rbol creado.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 22
BSQUEDA EN RBOLES
En muchas ocasiones es til considerar cada vrtice de un rbol T exactamente una vez en cierto orden es-
pecfico. Cada vez que se encuentra cada vrtice, tal vez se desee realizar alguna accin o clculo adecuado
para la aplicacin representada por el rbol. La realizacin de algunas tareas segn la etiqueta en cada vr-
tice en un rbol corresponde a una visita del vrtice. Este es un trmino utilizado por conveniencia, no es-
pecfico, que permite escribir algoritmos sin detallar lo que constituye una visita en cada caso particular.
El proceso de visita de cada vrtice de un rbol en cierto orden especfico es una bsqueda en el rbol.
Consideremos las bsquedas en rboles binarios posicionales, recurdese que cada rbol binario posicional
tiene dos hijos potenciales como vL (el hijo izquierdo) y vR (el hijo derecho), donde uno o ambos pueden
estar ausentes. Si un rbol binario T no es posicional, siempre puede estar etiquetado de modo que se con-
vierta en posicional.
Sea T un rbol binario posicional con raz v. Entonces si existe vL, el subrbol T(vL) es e subrbol izquierdo
de T y si existe vR, el subrbol T(vR) es el subrbol derecho de T. La especificacin anterior permite especifi-
car algoritmos de bsqueda de manera recursiva, natural y poderosa. Recuerde que los algoritmos recursi-
vos son aquellos que se invocan a s mismos. Describiremos a continuacin un mtodo de bsqueda llama-
do bsqueda en preorden.
ALGORITMO PREORDEN
Paso 1: Visite v.
Paso 2: Si existe vL, entonces aplique este algoritmo a (T(vL), vL).
Paso 3: Si existe vR, entonces aplique este algoritmo a (T(vR), vR).
Fin del algoritmo
EJEMPLO:
Sea T el rbol binario posicional etiquetado cuyo dgrafo aparece a continuacin
Suponga que, para cualquier vrtice v de T, la visita de v imprime la etiqueta de v. Aplicando el algoritmo
PREORDEN, descompondremos el rbol anterior en el siguiente conjunto de subrboles para obtener el
resultado correspondiente.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 23
El resultado de la bsqueda completa en T imprime la cadena ABCDEFGIJKL.
EJEMPLO:
Considere la siguiente expresin (a b) x (c+(u e)). El siguiente es el dgrafo de dicha expresin.
Aplicando el algoritmo PREORDEN a este
rbol, se obtiene la siguiente cadena:
x a b+c d e
Esta es la forma PREFIJA o POLACA de la
expresin algebraica dada.
La forma polaca de una expresin algebraica es interesante, ya que representa la expresin sin ambigedad
ni necesidad de parntesis. Para evaluar una expresin en forma polaca, se procede como sigue. Muvase
de izquierda a derecha hasta encontrar una cadena de la forma Fxy, donde F es un smbolo de operacin
binaria, x, y son nmeros. Se evala xFy y se sustituye la respuesta en vez de la cadena Fxy. Se continuar
con este procedimiento hasta que slo quede un nmero.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 24
EJEMPLO:
Considere la siguiente expresin (a b) x (c+(d e)). Sean a =6, b =4, c =5, d =2 y e =2.
Entonces se debe evaluar x 6 4+5 2 2. Esto se lleva a cabo de la siguiente manera:
x 6 4+5 2 2
x 2+5 2 2
x 2+5 1
x 2 6
12
ALGORITMO ENTREORDEN
PASO 1. Busque en el subrbol izquierdo (T(vL), vL), si existe.
PASO 2. Visite la raz v.
PASO 3. Busque en el subrbol derecho (T(vR), vR), si existe.
Fin del algoritmo.
ALGORITMO POSTORDEN
PASO 1. Busque en el subrbol izquierdo (T(vL), vL), si existe.
PASO 2. Busque en el subrbol derecho (T(vR), vR), si existe.
PASO 3. Visite la raz v.
Fin del algoritmo.
Como indica el nombre de los algoritmos, stas son las bsquedas entreorden y postorden, respectivamen-
te. Los nombres indican el momento en que se visita la raz del sub(rbol) con respecto del momento en
que se visita los subrboles izquierdo y derecho. De manera informal, en una bsqueda en PREORDEN, el
orden es Raz, Izquierdo, Derecho; para una bsqueda en ENTREORDEN, es Izquierdo, Raz, Derecho; y para
una bsqueda en POSTORDEN, es Izquierdo, Derecho y Raz.
EJEMPLO:
Sea T el rbol binario posicional etiquetado cuyo dgrafo aparece a continuacin
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 25
Aplique el algoritmo ENTREORDEN Y POSTORDEN.
Algoritmo ENTREORDEN:
DCBFEGAIJHKL
Algoritmo POSTORDEN:
DCFGEBJILKHA
EJEMPLO:
Considere la siguiente expresin (a b) x (c+(u e)). El siguiente es el dgrafo de dicha expresin.
Aplicar el algoritmo ENTREORDEN Y postorden a este rbol.
Algoritmo ENTREORDEN:
a b x c +d e
Observe que esta corresponda a la notacin alge-
braica comnmente utilizada por nosotros. Se de-
nomina entrefija.
Algoritmo POSTORDEN:
a b-c d e +x
Esta es la forma postfija, polaca inversa o sufija de la
expresin algebraica.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 26
EJEMPLO:
Considere la siguiente expresin a b-c d e +x . Sean a =6, b =4, c =5, d =2 y e =2.
Evaluar dicha expresin:
a b c u e + x
6 4 S 2 2 + x
2 S 2 2 + x
2 S 1+ x
2 6 x
12
BSQUEDA EN RBOLES GENERALES
A continuacin se mostrar que para realizar una bsqueda en cualquier rbol ordenado T se puede repre-
sentar ste como un rbol posicional binario, el cual aunque diferente de T, captura toda la estructura de
este y se puede utilizar para recuperar T.
Sean T un rbol ordenado y A el conjunto de todos los vrtices de T. Se define un rbol posicional binario
B(T) sobre el conjunto de vrtices A, como sigue. Si v A, entonces el hijo izquierdo v
L
de v en B(T) es el
primer hijo de v en T, si existe. El hijo derecho v
R
dev en B(T) es el siguiente hermano de v en T (en el
orden dado de los hermanos de T), si es que este existe.
EJEMPLO:
La figura muestra el dgrafo de un rbol etiquetado T. Se supone que el conjunto de hermanos est ordena-
do de izquierda a derecha. Obtener el dgrafo de su correspondiente rbol posicional binario.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 27
Su correspondiente B(T) es:
EJEMPLO:
La figura muestra el dgrafo de un rbol etiquetado T. Obtener el dgrafo de su correspondiente rbol posi-
cional binario.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 28
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 29
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 30
RBOLES NO DIRIGIDOS
Un rbol no dirigido es un rbol con todas sus aristas bidireccionales. La grfica de un rbol no dirigido T
tendr una lnea sin flechas que une los vrtices a y b, siempre que (a, b) y (b, a) pertenezcan a T. El conjun-
to {a, b}donde (a, b) y (b, a) pertenecen a T, es una arista no dirigida de T.
EJEMPLO:
g
b
e
a
f
g
d
b
c
e f d a
g
c
a b e
(b) (c)
d
c
f
(a)
Los dgrafos anteriores muestran: (a) rbol no dirigido T, (b) y (c) muestran los dgrafos de dos rboles ordi-
narios T1 y T2, respectivamente que tienen a T como cerradura simtrica. Con ello se muestra que un rbol
no dirigido corresponde, en general, a muchos rboles dirigidos.
Sea R una relacin simtrica y sea p: v1, v2, . . ., vn una trayectoria en R, se dice que p es simple si no existen
dos aristas de p correspondientes a la misma arista no dirigida. Si adems v1 =vn de modo que p sea un
ciclo, p es un ciclo simple.
EJEMPLO:
p: a, b, c, e, d es simple
p: f, e, d, c, d, a no es simple ya que (d,c) y (c,d) corresponden a la
misma arista.
f, e, a, d, b, a, f es un ciclo simple
d, a, b, d es un ciclo simple
f, e, d, c, e, f no es un ciclo simple
Una relacin simtrica R es acclica si no contiene ciclos simples.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 31
TEOREMA 1.
Sea R una relacin simtrica en un conjunto A, entonces las siguientes proposiciones son equivalentes:
R es un rbol no dirigido
R es conexo y acclico
TEOREMA 2.
Sea R una relacin simtrica en A. Entonces R es un rbol no dirigido s y slo s cualquiera de las siguientes
proposiciones es verdadera:
R es acclica, y si se agrega cualquier arista no dirigida a R, la nueva relacin no ser acclica.
R es conexa y si se elimina cualquier arista no dirigida de R, la nueva relacin no ser conexa.
TEOREMA 3.
Un rbol con n vrtices tiene n 1 aristas.
RBOLES DE EXPANSIN DE RELACIONES CONEXAS
Si R es una relacin simtrica conexa sobre un conjunto A, un rbol T en A es un rbol de expansin para R si
T es un rbol con exactamente los mismos vrtices que R y que se puede obtener de R eliminando algunas
aristas de R.
EJEMPLO:
Relacin simtrica R y algunos rboles de expansin.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 32
f es un rbol de expansin no dirigido.
Se proporciona un algoritmo para determinar un RBOL DE EXPANSIN para una relacin simtrica R cone-
xa en el conjunto A ={v1, v2, . . ., vn}. El mtodo es un caso especial llamado ALGORITMO DE PRIMM.
ALGORITMO DE PRIMM
PASO 1: Se elige V1 de R, y se ordena la matriz de R de modo que el primer rengln corresponda a V1.
PASO 2: Se elige un vrtice V2 de R, t.q. (V1, V2) R, se une V1 con V2 en un nuevo vrtice V
1
i
que represen-
ta {V1, V2}y se reemplaza V1 por V
1
i
. Se calcula la matriz de la relacin resultante de R. El vrtice V
1
i
es un
vrtice unido.
PASO 3: Se repiten los pasos 1 y 2 en R y en todas las relaciones subsecuentes hasta obtener una relacin
con un nico vrtice. En cada paso se mantiene un registro del conjunto de vrtices originales representa-
dos por cada vrtice unido.
PASO 4: Se construye el rbol de expansin, de la siguiente manera. En cada etapa al unir los vrtices a y b,
se elige una arista en R de uno de los vrtices originales representados por a hacia uno de los vrtices origi-
nales representados por b.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 33
EJEMPLO.
Aplicar el algoritmo de Primm a la relacin simtrica de la siguiente grfica.
Matriz Vrtices originales represen-
tados por los vrtices unidos
Nuevo vrtice por unir
(con el primer rengln)
a b c d
a 0 0 1 1
b 0 0 1 1
c 1 1 0 0
d 1 1 0 0
----------------
c
a b d
a 0 1 1
b 1 0 1
d 1 1 0
a
i
{a,c} b
a d
a 0 1
d 1 0
a" {a,c,b} d
a
a 0
a
iii
{a,c,d,b} -----------
El primer vrtice elegido es a, y se elige c como el vrtice por unir con a, ya que existe un 1 en el
vrtice c en el rengln 1. Tambin se elige la arista (a, c) de la grfica original. En la segunda
etapa, existe un 1 en el vrtice b en el rengln 1, por lo que se une b con el vrtice a. Se elige
una arista en la relacin original R a partir de un vrtice de {a, c}a b, por decir (c, b). En la terce-
ra etapa, se debe unir d con el vrtice a. De nuevo se necesita una arista en R de un vrtice de
{a, b, c} a d, por decir (a, d). Las aristas seleccionadas (a, c), (c, b) y (a, d) forman el rbol de
expansin para R. Observe que el primer vrtice elegido es la raz del rbol.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 34
EJERCICIOS
En los ejercicios 1 al 5 utilice el algoritmo de Prim para construir un rbol de expansin para la grfica cone-
xa dada. Utilice el vrtice indicado como la raz del rbol y trace el dgrafo del rbol de expansin obtenido.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 35
RBOLES DE EXPANSIN MNIMA
Una grfica con pesos es una grfica donde cada arista est etiquetada con su valor numrico que se denota
su peso. El peso de una arista (vi, vj) es la distancia entre los vrtices vi y vj. Un vrtice u es un vecino ms
cercano del vrtice v si u y v son adyacentes y ningn otro vrtice queda unido con v mediante una arista de
menor peso que (u, v). Un vrtice puede tener ms de un vecino cercano.
EJEMPLO:
Una compaa de comunicaciones investiga el costo de actualizacin de las conexiones entre sus estaciones
de transmisin. La grfica con pesos de la figura muestra las estaciones y el costo en millones de dlares
para la actualizacin de cada conexin.
En relacin con la grfica, sea V ={C, E, J}. Entonces el vrtice D es un vecino ms cercano de V, ya que (D, E)
tiene peso 2.2 y ningn otro vrtice adyacente o algn miembro vi de V(C, E o J) se une a estos vrtices me-
diante una arista de menor peso.
En las aplicaciones de las grficas con pesos, con frecuencia se necesita determinar un rbol de expansin no
dirigido para el cual el peso total de las aristas en el rbol sea el menor posible. Este rbol se conoce como
rbol de expansin mnima. El algoritmo de Primm se puede adaptar para producir un rbol de expansin
mnima para una grfica con pesos. A continuacin se enuncia dicho algoritmo como si fuera aplicado a una
relacin simtrica conexa, dada por su grfica de pesos no dirigida.
ALGORITMO DE PRIMM
Sea R una relacin simtrica, conexa con n vrtices.
PASO 1: Se elige un vrtice V1 de R. Sea V ={V1}y E ={}
PASO 2: Se elige uno de los vecinos ms cercanos a Vi de V, que sea adyacente a Vj, Vj V y tal que la arista
(Vi, Vj) no forme un ciclo con miembros de E. Se agrega Vi a V y (Vi, Vj) a E.
PASO 3: Se repite el paso 2 hasta que |E| =n 1. Entonces V contiene los n vrtices de R y E contiene las
aristas de un rbol de expansin mnima para R.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 36
EJEMPLO:
Un pequeo pueblo planea pavimentar algunas de las veredas de manera que sirvan para transitar y tam-
bin para andar en bicicleta. Como primera etapa, el pueblo quiere unir todas las reas recreativas con rutas
de bicicleta, de la manera ms barata posible. Si los costos de construccin son iguales en todas las partes
del sistema, utilice el algoritmo de Primm para determinar un plan de pavimentacin.
Si se elige A como primer vrtice, el vecino ms cercano es C, as (A, C) es la primera arista elegida. Con res-
pecto al conjunto de vrtices {A, C}, B es el vecino ms cercano y se puede elegir (A, B) o (B, C) como arista
siguiente. De forma arbitraria elegmos (B, C). B es un vecino cercano para {A, B, C}pero (A, B) formara un
ciclo por lo que se debe pasar al siguiente vecino ms cercano y elegir (C, E) o (C, F) y as sucesivamente. Las
siguientes son dos posibles soluciones
Ejemplo: Determinar el rbol de expansin mnima para la red comunicaciones del grafo.
La siguiente es una solucin iniciando en A con un costo total de $20,8 millones.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 37
Si una relacin simtrica conexa R tiene n vrtices, entonces el algoritmo de Primm tiene un tiempo de eje-
cucin O(n2). Si R tiene relativamente pocas aristas, podra ser ms eficiente utilizar otro algoritmo. El algo-
ritmo de Kruskal es otro ejemplo de algoritmo ambicioso, con el que se obtiene una solucin ptima.
ALGORITMO DE KRUSKAL
Sea R una relacin simtrica, conexa con n vrtices y sea S ={e1, e2, .., en}el conjunto de todas las aristas
con pesos de R.
PASO 1: Se elige un arista e1 en S de peso mnimo. Sea E ={e1}. Se reemplaza S por S {e1}.
PASO 2: Se selecciona una arista ei de menor peso que no forme un ciclo con los miembros de E. Se reem-
plaza E con E {e
I
} y S con S {e
I
}.
PASO 3: Se repite el paso 2 hasta que |E| =n1
FIN DEL ALGORITMO
Como R tiene n vrtices, las n 1 aristas en E formarn un rbol de expansin. El tiempo de ejecucin del
algoritmo de Kruskall es O(k log(k)), donde k es el nmero de aristas de R.
EJEMPLO:
La figura proporciona un rbol de expansin mnima generado mediante el algoritmo de Kruskall para el
ejemplo de las rutas de bicicleta. Una secuencia de selecciones de aristas es (D, E), (D, H), (A, C), (A, B), (E,
G), (E, F) y (C, E) para un peso total de 21.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 38
EJEMPLO:
Utilice el algoritmo de Kruskall y determine un rbol de expansin mnima para la siguiente figura.
EJERCICIOS
En los ejercicios 1 al 6, utilice el algoritmo de Prim y
determine un rbol de expansin mnima, para la
grfica conexa indicada. Utilice el valor especificado
como vrtice inicial.
1. Sea G la grfica de la figura 1. Comience en F.
2. Sea G la grfica de la figura 2. Comience en A.
3. Sea G la grfica de la figura 3. Comience en G.
4. Sea G la grfica de la figura 4. Comience en E.
6. Sea G la grfica de la figura 5. Comience en M.
En los ejercicios 7 al 9, utilice el algoritmo de Kruskal
y determine un rbol de expansin mnima para la
grfica indicada.
7. Sea G la grfica de la figura 2.
8. Sea G la grfica de la figura 4.
9. Sea G la grfica de la figura 5.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 39
5. Sea G la grfica de la figura 5. Comience en K.
FIG. 1
FIG. 2
FIG. 3
FIG. 5
FIG. 4
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 40
LGEBRA BOOLEANA
Las tablas que enumeran los valores de una funcin f para todos los elementos de Bn, como la que se mues-
tra en la figura (a), con frecuencia son llamadas tablas de verdad para f. Esto se debe a que son similares a
las tablas empleadas en lgica. Suponga que los xk representan proposiciones, y f(x1, x2,..., xn) representa
un enunciado compuesto construido a partir de los xk. Si piensa que el valor 0 para un enunciado significa
que el enunciado es falso, y que 1 significa que el enunciado es verdadero, entonces las tablas, como la de la
figura (a), muestran la forma en que la verdad o falsedad de f(x1, x2,..., xn) depende de la verdad o falsedad
de los enunciados xk que lo componen. As, tales tablas son llamadas, con frecuencia, tablas de verdad,
incluso cuando surgen en reas distintas de la lgica, como en las lgebras booleanas.
La razn de la importancia de tales funciones es que, como se muestra de manera esquemtica en la figura
(b), pueden ser utilizadas para representar los requisitos de salida de un circuito para los posibles valores de
entrada. As, cada x, representa un circuito de entrada capaz de transportar dos voltajes indicadores (un
voltaje para 0 y un voltaje distinto para 1). La funcin f representa la respuesta de salida deseada en todos
los casos. Tales requisitos ocurren en la etapa de diseo de los circuitos computacionales combinatorios y
secuenciales.
Observe con cuidado que la especificacin de una funcin f:BnB slo enumera los requisitos del circuito.
No indica cmo cumplir estos requisitos. Una forma importante de producir funciones de Bn a B es median-
te el uso de polinomios booleanos, los cuales son considerados a continuacin.
POLINOMIOS BOOLEANOS
Sea x
1
, x
2
,... ,x
n
un conjunto de n smbolos o variables. Un polinomio booleano p(x
1
, x
2
,... ,x
n
) en las variables
x
k
se define de manera recursiva como sigue:
x
1
,x
2
,... ,x
n
son todos polinomios booleanos.
Los smbolos 0 y 1 son polinomios booleanos.
Si p(x
1
, x
2
, , x
n
) y q(x
1
, x
2
, , x
n
) son dos polinomios booleanos, entonces tambin lo son
x
1
x
2
x
3
f(x
1
, x
2
, x
3
)
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 41
( ) ( )
( ) ( )
1 2 n 1 2 n
1 2 n 1 2 n
p x , x , , x q x , x , , x
p x , x , , x q x , x , , x
y
+
o
Si p(x1,x2,.,xn) es un polinomio booleano, tambin lo es (p(x1,x2,.,xn))
Por tradicin (0
), se denota 0
, (1
)se denota 1
y (x
k
)se denota x
k
.
No existen polinomios booleanos en las variables x
k
distintos de los que pueden ser obtenidos aplicando las
reglas 1, 2, 3 y 4.
Los polinomios booleanos tambin reciben el nombre de expresiones booleanas.
Compuertas Lgicas. Las compuertas lgicas son dispositivos que operan con aquellos estados lgicos men-
cionados anteriormente y funcionan del siguiente modo, se ingresan los datos a un dispositivo y este res-
ponde mediante una operacin ( o serie de operaciones) con un resultado.
0 y 1 operacin lgica 0 1
Cada una de las compuertas lgicas se las representa mediante un Smbolo, y la operacin que realiza (Ope-
racin lgica) se corresponde con una operacin lgica y una tabla, llamada Tabla de Verdad.
COMPUERTA NOT.
Invierte el dato de entrada, por ejemplo; si la entrada es 1 (nivel alto) se obtiene en la salida un 0 (o nivel
bajo), y viceversa.
Esta compuerta dispone de una sola entrada. Su operacin lgica es S igual a A invertida.
S A =
El smbolo genrico para obtener una entrada o salida invertida o negada, es agregarle un crculo vaco al
cable de salida o entrada.
A S
0 1
1 0
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 42
COMPUERTA AND.
Una compuerta AND tiene dos datos de entrada como mnimo y su operacin lgica es un producto entre
ambas, no es un producto aritmtico, aunque en este caso coincidan. La salida (resultado) es siempre una
(es decir un nico valor 0 1).
( ) s a b =
Si la compuerta AND tuviera n datos de entrada (ejemplo 4) para obtener un 1 como resultado todos los
datos de entrada debieran ser igual a 1
( ) s a b c d =
COMPUERTA OR.
Al igual que la anterior posee dos entradas como mnimo y la operacin lgica, es la suma entre ambas. Aqu
es bueno detenerse porque al lector cuando vea la tabla de verdad podr observar que 1 +1=1. El tema es
que se trata de una compuerta O Inclusiva. Es decir, basta que uno de los datos de entrada sea 1 para que
su salida sea tambin 1*
Vemos la siguiente tabla de verdad.
( ) s a b = +
Si la compuerta OR tuviera n datos de entrada (ejemplo 4) para obtener un 1 como resultado alguna de las
de entrada debe ser igual a 1. Esto es:
a b s
0 0 0
0 1 0
1 0 0
1 1 1
a b s
0 0 0
0 1 1
1 0 1
1 1 1
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 43
( ) s a b c d = + + +
En algunos textos o compendios de lgebra Booleana, se presentan otros conectores o compuertas lgicas,
las que se omiten ya que se pueden construir a partir de las tres anteriores.
EJEMPLO:
Sea P(A,B,C) =(A B) +(B C
.
EJEMPLO:
Dada la Red Petri R1 =(P, T, F, W, M0), donde:
P ={p1, p2, p3, p4}, T ={t1, t2, t3 }, Mo=(5, 0, 0, 0)
C- =Pre(pi, tj) =
1 0 0 0
C+=Post(pi, tj) =
0 1 0 0
0 1 0 0 0 0 0 1
0 1 0 0 0 0 1 0
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 67
Ejemplo: Red de Petri con 5 plazas y 5 transiciones
Al modelar una situacin, los lugares representan condiciones, las transiciones representan eventos, y la
presencia de al menos un elemento en un lugar (condicin) indica que tal condicin se cumple.
Una transicin t T est sensibilizada (habilitada) para un marcado M dado, sii p t se verifica M(p)
Pre(p, t). El grado de habilitacin de una transicin indica el mximo nmero que la transicin puede ser
disparada concurrentemente.
Regladeevolucindelmarcado: Si t est habilitada para un marcado M entonces t puede dispararse. En la
operacin se alcanza un nuevo marcado M0, y se denota por M[t] >M0, el cual resulta de quitar Pre(p, t)
marcas de cada lugar p t y aadir Post(t, p) marcas a cada lugar p t.
El cambio en el marcado est dado por la ecuacin:
M0(p) =M(p) Pre(p, t) +Post(t, p), p P
Cada disparo de una transicin modifica la distribucin de las marcas, y por ello produce un nuevo marcado
en la red.
Siguiendo con el ejemplo 1, al disparar la transicin t1, obtene-
mos:
M0 - Pre(P,T) + Pos(T,P) = MF
1 0 0 0
+
0 1 0 0
5 0 0 0 - 0 1 0 0 0 0 0 1 = 4 1 0 0
0 1 0 0 0 0 1 0
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 68
ESTRUCTURAS BSICAS
Seleccin: Selecciona el proceso a ejecutar
SELECCIN
Atribucin: Ejecucin independiente de un proceso
por dos procesos distintos
ATRIBUCIN
Distribucin: Ejecucin de procesos paralelos o
concurrentes
DISTRIBUCIN
Conjuncin: Sincronizacin de procesos en paralelo
CONJUNCIN
Ejecucin Secuencial: La transicin t2 puede ser
disparada solamente si antes disparado t1.
EJECUCIN SECUENCIAL
Sincronizacin: La transicin t1 estar habilitada para
ser disparada si todos los nodos de entrada de la
transicin t1 poseen al menos una marca en cada uno
de ellos.
SINCRONIZACIN
Concurrencia: Las transiciones t2 y t3 son concurren-
tes. Con esta propiedad, las RdP es capaz de modelar
sistemas de control distribuido con mltiples procesos
ejecutndose concurrentemente.
p
1
p
2
p
3 t
1
t
2
p1
p2
t1 p3
p1
p2
t1 p3
=>
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 69
Conflictos: Tanto la transicin t1 como
t2 estn listas para ser disparadas, pero
el disparo de alguna de ellas produce
que la otra transicin quede inhabilitada
para ser disparada.
Definicin: En una red de Petri, si una arista va del lugar p a la transicin t, decimos que p es un lugar de
entrada para la transicin t. Un lugar de salida se define de manera anloga. Si cada lugar de entrada de
una transicin t tiene al menos un elemento, decimos que t est activada. La descarga de una transicin
elimina un elemento de cada lugar de entrada y agrega un elemento a cada lugar de salida.
Definicin: Si una serie de descargas, transforma un marcado M en un marcado M, decimos que M es al-
canzable desde M.
Entre las propiedades ms importantes estudiadas en la teora de redes de Petri estn la supervivencia y la
seguridad. La supervivencia se refiere a la ausencia de estancamientos y la seguridad se relaciona con la
capacidad limitada de la memoria.
Definicin: Un marcado M de una red de Petri est vivo si, partiendo de M, si importar la serie de descargas
realizadas, es posible descargar cualquier transicin dada mediante alguna secuencia de descargas adiciona-
les. Si un marcado est vivo, sin importar la serie de descarga de transiciones, P nunca se estancar.
Definicin: Un marcado M para una red de Petri est acotado si existe algn entero positivo n con la propie-
dad de que, en cualquier secuencia de descarga, ningn lugar recibe ms de n elementos. Si un marcado M
est acotado y en cualquier secuencia de descarga ningn lugar recibe ms de un elemento, decimos que M
es un marcado seguro.
Si cada lugar representa un registro capaz de guardar una palabra de computadora y si un marcado inicial es
seguro, tenemos garantizado que no se exceder la capacidad de memoria de los registros.
PROPIEDADES
En las RdP podemos encontrar propiedades estructurales, que dependen de la estructura topolgica de las
RdP, independientes del marcado inicial y, las propiedades de comportamiento que s dependen del marca-
do inicial.
PROPIEDADES ESTRUCTURALES
RDP PURA
Una RdP N es una red pura si no existe ninguna transicin que tenga un lugar que sea al mismo tiempo de
entrada y salida de la transicin:
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 70
t
j
T , p
i
P, Pre(p
i
, t
j
) Post(t
j
, p
i
) =0
RED DE PETRI ACOTADA ESTRUCTURALMENTE
Una red de Petri est acotada estructuralmente si est acotada para cualquier marcado inicial finito.
Un lugar p en una red de Petri se dice no acotado estructuralmente si existe un marcado M y una secuencia
de disparo desde M tal que p no est acotado.
RED DE PETRI ESTRUCTURALMENTE VIVA
Una red de Petri est estructuralmente viva si existe algn marcado inicial para el que est viva.
RED DE PETRI COMPLETAMENTE CONTROLABLE
Una red de Petri se dice completamente controlable si cualquier marcado es alcanzable desde cualquier otro
marcado.
RED DE PETRI ESTRUCTURALMENTE CONSERVATIVA
Una red de Petri es estructuralmente conservativa si, para cualquier marcado inicial M
0
y un marcado
PROPIEDADES DE COMPORTAMIENTO
VIVACIDAD
Una transicin t est viva para un marcado inicial dado M
0
, sii existe una secuencia de disparos a partir de un
marcado M sucesor de M
0
que comprenda a t :
M M(R, M
0
) : M M
0
tal que t .
Una RdP marcada est viva para M
0
sii todas sus transiciones son vivas para M
0
.
Se puede decir que la propiedad de vivacidad significa la ausencia en el conjunto de alcanzabilidad de un
marcado en el que la red se bloquee totalmente (deadlock), ya que, para que est viva, todas sus transicio-
nes deben ser disparables desde cualquier marcado alcanzable.
Se dice que una RdP marcada est parcialmente viva para M
0
si, tomando como punto de partida cualquier
marcado alcanzable a partir de M
0
, existe al menos una transicin disparable y otra transicin no viva. Toda
RdP marcada parcialmente viva tiene la posibilidad de evolucin global, independientemente de que existan
transiciones que no puedan ser disparadas.
EJEMPLO: UNA RED DE PETRI NO VIVA.
Para la secuencia de disparos t
1
, t
2
, t
1
, t
2
, no hay bloqueo. Si
ahora se disparan las transiciones t
1
, t
3
, t
4
, ya no se puede
disparar ninguna transicin ms, la red queda bloqueada.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 71
CICLICIDAD
Se dice que una RdP posee un comportamiento globalmente cclico para M
0
si existe una secuencia de dispa-
ros que permite alcanzar el marcado inicial M
0
a partir de cualquier marcado M alcanzable a partir de M0:
M M(R, M
0
), tal que M M
0
.
La ciclicidad o reversibilidad de una RdP marcada garantiza que no existen subconjuntos finales de estados
(marcados). Un subconjunto final de estados (marcados) contiene estados (marcados) mutuamente alcan-
zables entre s y tales que el estado inicial (marcado inicial) no es alcanzable a partir de ninguno de ellos.
EJEMPLO DE UNA RED NO REVERSIBLE
Esta RdP es pseudoviva, adems no tiene la propiedad de reversibilidad
ya que el marcado inicial no se puede obtener jams.
ACOTAMIENTO
El significado de esta propiedad es el de asegurar que el sistema que una
red representa posee un nmero finito de estados (si suponemos que
cada lugar de la red representa a una variable de estado del sistema y su
marcado el valor de dicha variable). Luego la propiedad de acotamiento
determina la finitud del nmero de estados del sistema representado por
una RdP.
Un lugar p es k-acotado para M
0
sii existe un nmero entero k tal que
M(p) k para cualquier marcado M M(R, M
0
). Se denomina cota del
lugar p al menor entero k que verifica la desigualdad anterior.
Una RdP marcada es k-acotada para M
0
sii todos sus lugares son k-
acotados para M
0
:
p P y M M(R, M
0
), M (p) k.
Merece una consideracin especial la 1-acotacin. Si una RdP es 1-
acotada para M
0
, su marcado es binario (un lugar est o no est marcado)
y se dir que la RdP es binaria para M
0
. Una red segura, es una RdP 1-
acotada. Una RdP es estructuralmente acotada si es acotada para cual-
quier marcado inicial y finito.
Se dice que la red est k-acotada si para todo marcado alcanzable tene-
mos que ningn lugar tiene un nmero de marcas mayor que k. Las redes
RED DE PETRI NO ACOTADA
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 72
1-acotadas son conocidas como binarias.
Si la red diseada generar ms marcas que las que su acotacin permite el modelado ser errneo..
ALCANZABILIDAD
La alcanzabilidad es una base fundamental
para estudiar las propiedades dinmicas de
cualquier sistema. Al dispararse una transi-
cin habilitada, esta cambiar la distribu-
cin de las seales (marcado). De esta
forma, de una secuencia de disparos resul-
tar una secuencia de marcados, luego un
marcado M
n
es alcanzable a partir de M
0
, si
existe una secuencia de disparos que a
partir de M
0
nos lleve a M
n
. Una secuencia
de disparos la denotaremos por = t
1
, t
2
,
....., t
n
. en este caso M
n
es alcanzable desde M
0
, sii t.q. M
0
[
i
M
n
.
LA EXCLUSIN MUTUA
Cuando varios procesos comparten algn recurso del sistema tal que cuando uno de ellos lo est usando los
dems no pueden hacerlo, debe implementarse un mecanismo de espera cuando el recurso compartido est
siendo usado. La manera de hacerlo es utilizar un sitio para representar la condicin "el recurso compartido
est libre". En la figura se muestra la solucin:
Este sitio acta como un "semforo", sincronizando el
acceso de los procesos al recurso compartido. El esquema
es vlido cualquiera sea el nmero de procesos que com-
partan el recurso. El primero que lo tome, quita la marca
del lugar representativo del recurso disponible y entonces
cualquiera que lo requiera deber esperar. En este esque-
ma no hay prioridades asignadas a los procesos que compi-
ten simultneamente por el uso del recurso.
EL PROBLEMA DEL PRODUCTOR Y EL CONSUMIDOR
Aqu tambin existe un recurso compartido pero no para ser
usado por los procesos sino como mecanismo de comunica-
cin entre ellos. Entre un proceso que produce y otro que
consume lo producido se puede instalar un depsito inter-
medio (buffer) con el fin de "amortiguar" las diferencias oca-
cionales de velocidad. Disponiendo un sitio para indicar la
condicin "depsito con producto", el proceso productor
depositar un token cada vez que tengar un nuevo producto
y el proceso consumidor comenzar su tarea cada vez que
estando listo para ello, haya por lo menos un token en el
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 73
depsito (figura de la derecha).
La limitacin de este esquema es que no es capaz de
representar un buffer de capacidad finita, pudiendo
crecer el nmero de productos en el depsito sin lmite
en el caso de detencin del proceso consumidor. En la
figura siguiente se muestra la solucin cuando se quiere
acotar la cantidad de productos intermedios. Se mues-
tra tambin un sistema compuesto por un productor y
un consumidor operando en forma asincrnica, comu-
nicndose mediante un buffer con capacidad para tres
productos. El sitio "buffers llenos" representa la exis-
tencia de productos disponibles y el sitio "buffers vacos" la cantidad de lugares disponibles en el depsito.
Siempre se da que la suma de las marcas de ambos sitios dan la capacidad total del depsito.
EL PROBLEMA DE LA LECTURA Y LA ESCRITURA.
Esta situacin se presenta en sistemas en el que un cierto nmero de tareas pueden realizar lecturas y/o
escrituras sobre un rea de memoria compartida en forma
simultnea. A fin de asegurar la consistencia de la informacin
la ejecucin de una escritura es excluyente, en tanto que se
admitir la ejecucin concurrente de dos o ms lecturas. En la
figura se muestra una solucin cuando el nmero de lectores
es conocido e igual a "n" (observar la utilizacin de un semfo-
ro con marca "m" y dos arcos tambin con capacidad igual a
"m").
AMBIENTES PARA LA ESPECIFICACIN Y VERIFICACIN CON REDES DE PETRI
Como ya hemos sealado, adems de contar con tcnicas que permitan especificar sistemas es importante
que luego de realizar la especificacin se realice una validacin o una verificacin del modelo desarrollado.
Con un modelo de Redes de Petri podemos realizar una verificacin del sistema propuesto, ya que mediante
la ejecucin de la red es posible obtener una simulacin del comportamiento del sistema.
Es conveniente notar que generalmente logramos una verificacin de la arquitectura propuesta, ya que una
validacin implica la utilizacin de un lenguaje ms formal (aunque utilizando tcnicas de anlisis y la visin
matemtica de Redes de Petri podemos tener una "prueba" ms cercana a una validacin).
En este punto, es importante destacar la necesidad de desarrollar ambientes para especificar y verificar
sistemas usando Redes de Petri, dado que cuando el modelo crece se torna inadecuado realizar manual-
mente la ejecucin de la Red. Por esto, el objetivo es obtener herramientas de software que permitan la
ejecucin automtica de una especificacin.
En el caso de las Redes de Petri, estas herramientas pueden orientarse hacia una definicin grfica, una
definicin estructural, o una combinacin de ambas.
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 74
A=1
B=2
C=3
A=A+1
C=B+C
B=A+C
Los ambientes grficos poseen la ventaja de permitir una rpida visin global del sistema que se especifica,
aunque con frecuencia el hecho de tener que realizar una definicin interactiva se torna un tanto tedioso.
Adems, si la red especificada es de un tamao considerable el grfico puede no ser todo lo claro que uno
desea.
Cuando se opta por una definicin orientada a la estructura podemos obtener un intrprete. En este caso,
aunque se pierden las bondades de la especificacin grfica, el hecho de definir la red a modo de "seudoc-
digo" nos acerca a la derivacin del cdigo del sistema en lenguajes como ADA o Modula.
De todas maneras, cualquiera sea la opcin elegida, el ambiente que se desarrolle debe proveer facilidades
para especificar, ejecutar automticamente, y verificar los sistemas.
Ejemplo:
Modelar el programa de computadora dado
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 75
EJEMPLO:
Modelar el flujo de datos que calcula la expresin x =
(u+b)
(u-b)
a
a
b
b
resta
suma a+b
a-b
If(a-b) 0
If(a-b)=0
Indefinido
divide
Cur so M at emt i c a Di scr e t a I I P r o f . J o r ge Cast r o M o n ge , M . Sc. Pgina 76
EJERCICIOS
En los ejercicios 1 al 4, modele cada programa mediante una red de Petri. Proporcione el marcado que re-
presente la situacin inicial del programa.
1. A=1
B=2
C=A+B
C=C+1
2. A=2
B=A+A
C=3
D=A+A
C=A+B+C
3. A=1
S=0
S =S+A (10)
A=A+1
IR A 10
4. Modelar el flujo de datos para calcular si una ecuacin de la forma
2
ax bx c + +
tiene 1 solucin,
dos soluciones o ninguna solucin. Utilice el concepto dado por x =
-bb
2
-4uc
2u
5. Construya una red de Petri para especificar el funcionamiento de una mquina expendedora de be-
bidas. La misma tiene un depsito de bebidas con una cierta carga inicial, y un depsito de mone-
das el cual inicialmente se encuentra vaco. Cuando se le ingresa una moneda y hay bebidas, la m-
quina entrega una bebida y almacena la moneda en el depsito correspondiente. Cmo modelara
la situacin de que cuando no hay ms bebidas la mquina retorne la moneda?
6. Existen pequeas diferencias entre los sistemas de luces de trnsito en diferentes pases. Por ejem-
plo, el sistema de luces alemn tiene una fase extra en su ciclo. Las luces no cambian repentina-
mente de rojo a verde sino que antes de pasar al verde enciende la luz verde junto con la luz amari-
lla. Construya una red de Petri que se comporte como el sistema de luces de trnsito alemn. Ase-
grese que la red no permita transiciones que no son posibles.