You are on page 1of 76

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 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

). Construir su tabla de verdad y el circuito correspondiente.



A B C
( ) A B

C
( )
B C

( , , ) P A B C

0 0 0 0 1 0 0
0 0 1 0 0 0 0
0 1 0 0 1 1 1
0 1 1 0 0 0 0
1 0 0 0 1 0 0
1 0 1 0 0 0 0
1 1 0 1 1 1 1
1 1 1 1 0 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 44
EJEMPLO:
Dado el siguiente circuito, obtener la funcin de salida.


Solucin:





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 45
EJERCICIOS:
1. Considere el polinomio booleano P(x,y,z) =x (y +z). Construir su tabla de verdad y el circuito
correspondiente.
2. Considere el polinomio booleano P(x,y,z) =(x +y) (z +x). Construir su tabla de verdad y el
circuito correspondiente.
3. Considere el polinomio booleano P(x, y) =(x y) +(y (x +y)) Construir su tabla de verdad y
el circuito correspondiente.
4. Considere el polinomio booleano P(x,y,z) =(x y) +(x (y z)). Construir su tabla de verdad y
el circuito correspondiente.
5. Construir los circuitos a partir de las siguientes expresiones booleanas.
( ) ( ) x y x z + o o

( ) ( ) x y x z + + o

x y z + o

( ) ( ) ( ) x y y z x y + + + o o

6. Obtener la funcin de salida simplificada y la tabla de verdad, de cada uno de los siguientes circui-
tos.






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 46
MAPAS DE KARNAUGH
INTRODUCCIN
La herramienta fundamental para la simplificacin de funciones booleanas es y seguir siendo el
lgebra de Boole; sin embargo, como ya lo ha mostrado la experiencia, el lgebra de Boole tiene
las siguientes desventajas:
No es un mtodo sistemtico (no hay un algoritmo paso a paso a seguir).
No es fcil saber cundo la expresin ya est lo ms reducida posible.
Es fcil cometer errores y es difcil revisar el procedimiento.
Por ello, es importante contar con un mtodo como el que se presentar aqu, el cual es un mto-
do sistemtico y adems grfico, por lo cual es ms sencillo y poderoso para la simplificacin de
funciones booleanas.
Sin embargo, previamente a la presentacin del mtodo se requieren algunas definiciones que se
usarn de aqu en adelante.
FORMAS CANNICAS
Trmino Producto.- Se llama trmino producto una expresin booleana que solamente incluye
operaciones AND entre sus variables (afirmadas o negadas)
Ejemplos de trminos producto:
AB', ABC', BC, A'BCD', B, etc.
Forma SP.- Una funcin booleana se dice que est en la forma de suma de productos (SOP) si est
formada exclusivamente por la suma (OR) de trminos producto.
Ejemplos de funciones en forma SOP son:

( )
1
2
, , , ' ' ' ' '
( , , ) ' '
f A B C D AB C B D A CD
f X Y Z XZ YZ XYZ
= + +
= + +

Mintrmino- Es un trmino producto que contiene todas las variables de la funcin.
Ejemplos de mintrminos para una funcin de 4 variables A, B, C, D:
ABCD, ABCD, ABCD, etc.
Forma Cannica SOP.- Si los trminos producto de una funcin booleana en la forma SOP son to-
dos mintrminos, se dice que est en la forma cannica SOP.



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 47
Ejemplos de funciones en forma cannica SOP son:
3
4
( , , )
( , , , , )
f A B C ABC ABC ABC ABC
f A B C D E ABCDE ABCDE ABCDE
= + + +
= + +

Trmino Suma.- Se llama trmino suma a una expresin booleana que solamente incluye opera-
ciones OR entre sus variables (afirmadas o negadas)
Ejemplos de trminos suma:
', ', , ' ' A B A B C B C A B C D + + + + + + +
Forma POS.- Una funcin booleana se dice que est en la forma de producto de sumas (POS) si
est formada exclusivamente por el producto (AND) de trminos suma.
Ejemplos de funciones en forma POS son:

5
6
( , , , ) ( ' )( ' ')( ' ')
( , , ) ( )( )( )
f A B C D A B C B D A C D
f X Y Z X Z Y Z X Y Z
= + + + + +
= + + + +

Maxtrminos.- Son trminos suma que contienen todas las variables de la funcin.
Ejemplos de maxtrminos para una funcin de 4 variables A, B, C, D son:
, ' ', ' A B C D A B C D A B C D + + + + + + + + +
Forma Cannica POS.- Si los trminos suma de una funcin booleana en la forma POS son todos
maxtrminos, se dice que est en la forma cannica POS.
Ejemplos de funciones en forma cannica POS son:
7
8
( , , ) ( )( )( )
( , , , , ) ( ' ')( ' ' )( ' )
f A B C A B C A B C A B C
f A B C D E A B C D A B C D E A B C D E
= + + + + + +
= = + + + + + + + + + + +

Notacin
Una manera de simplificar la escritura de las funciones en forma cannica consiste en representar
sus trminos por nmeros binarios, en base a la siguiente convencin
Mintrmino Maxtrmino
Variable afirmada 1 0
Variable negada 0 1

Por ejemplo, usando esta notacin la funcin f
3
(A,B,C) puede escribirse como


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 48

3
2 6 3 7
( , , ) ' ' '
010 110 011 111
f A B C A BC ABC A BC ABC
m m m m
= + + +
= + + +
= + + +

O en forma ms compacta:
3
( , , ) (2,3,6,7) f A B C m =
A la representacin anterior se le llama notacin en Lista de mintrminos.
En forma similar, la funcin f
7
(A,B,C) puede escribirse como

7
5 1 4 0
( , , ) ( ' ')( ')( ' )( )
(101) (001) (100) (000)

f A B C A B C A B C A B C A B C
M M M M
= + + + + + + + +
=
=

O en forma ms compacta:
7
( , , ) (0,1,4,5) f A B C M =
A la representacin anterior se le llama notacin en Lista de maxtrminos.
Observacin: El orden de las variables en la notacin anterior debe coincidir con el orden en que
estn especificadas, es decir, f(A,B,C) f(B,C,A) f(A,C,B), etc.

PLANTEAMIENTO DE UN CIRCUITO LGICO
A partir de los conceptos y definiciones anteriores ya estamos en condiciones de plantear algunos
diseos sencillos de circuitos lgicos. Podemos ordenar el procedimiento para esto de acuerdo a
los siguientes pasos:
- Planteamiento de la funcin que debe hacer el circuito en una tabla de verdad.
- Obtencin de la funcin en lista de mintrminos o de maxtrminos.
- Simplificacin de la funcin lgica
- Implementacin mediante compuertas lgicas de la funcin simplificada
Ejemplo:
Un jurado est formado por tres jueces A, B, C, cada juez emite su voto a favor oprimiendo un
botn enfrente de l. Se desea construir un circuito que encienda una luz que indique si la mayor
parte del jurado vot a favor y no la encienda en cualquier otro caso.




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 49

L(A,B,C) = AB + AC+BC
En a sguente fgura se muestra a mpementacn usando puertas AND y OR

Tabla de verdad
Jueces
A B C
Luz
L
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

La funcin que realiza lo deseado es
L(A,B,C) = m(3,5,6,7) Usando lgebra booleana podemos simplicar la funcin como


Como habr podido advertirse, en el procedimiento anterior, los nicos paso que no han sido
completamente sistematizados son el 1 y el 3 (la simplificacin de la funcin). A continuacin se
presenta un mtodo sistemtico para realizar este paso.
MINIMIZACION DE FUNCIONES BOOLEANAS
Como ya se ha visto, la simplificacin de funciones mediante el lgebra booleana puede ser una
tarea difcil, ya que en el lgebra booleana no existe un procedimiento claro a seguir, uno debe
buscar el camino para la simplificacin en base a la intuicin y la experiencia. Para realizar la sim-
plificacin de funciones eficientemente, presentaremos un mtodo, llamado Mapas de Karnaugh,


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 50
el cual es un mtodo grfico que proporciona una tcnica estndar y sistemtica en la reduccin
manual de funciones booleanas.
MAPAS DE KARNAUGH
Los Mapas de Karnaugh (MK) no son ms que una extensin de los conceptos de tablas de verdad,
diagramas de Venn y mintrminos. A continuacin se ilustrar la manera en que estos tres concep-
tos se entrelazan para obtener lo que llamaremos un Mapa de Karnaugh. Para ello, consideremos
el Diagrama de Venn de dos conjuntos A y B y localicemos en el los subconjuntos o regiones co-
rrespondientes a los cuatro mintrminos A.B, AB, AByAB, es decir, los mintrminos m
0
, m
1
, m
2
y
m
3
.

Como puede verse, Todo el diagrama de Venn se puede particionar en estas cuatro regiones inde-
pendientes (no tienen puntos en comn) y cada regin est identificada por un mintrmino. Por
otro lado, nada nos obliga a dibujar los conjuntos A y B redondos y el conjunto universo cuadrado.
SIMPLIFICACIN DE CIRCUITOS LGICOS:
El mapa es un diagrama hecho de cuadrados, en que cada cuadrado representa un miniterm. Los cuadrados
a los miniterm que producen 1 para la funcin se marcan con un "1" y los restantes con "0" o se dejan va-
cos. Para reconocer varios patrones y combinar cuadrados marcados por 1 en el mapa, es posible derivar las
expresiones algebraicas alternas para la funcin, a partir de las cuales se puede seleccionar la ms conve-
niente.
Los mapas para las funciones de dos, tres y cuatro variables se muestran en las siguientes figuras.









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 51










El nmero de cuadrados en un mapa de "n" variables es 2
n
minitern y son listados por un nmero decimal
equivalente para fcil referencia. Los nmeros de miniterms son asignados en un arreglo ordenado de tal
manera que los cuadrados adyacentes representen los miniterms que difieren solamente en una variable.
Los nombres de las variables son listados a travs de ambos lados de la lnea diagonal en la esquina del ma-
pa. Los 1 y 0 marcados a lo largo de cada fila y de cada columna designan el valor de las variables. Cada va-
riable debajo de los parntesis contiene la mitad de los cuadrados en el mapa en donde aquella variable
aparece sin comillas (no complementada). La variable aparece con una comilla (complementada) en la mitad
de los cuadrados. Toda la informacin que aparece en los mapas de la figura, no siempre es necesaria, en
sta oportunidad se muestra solamente a modo explicativo.
El miniterm representado por un cuadrado es determinado de la asignacin binaria de las variables a lo largo
de los bordes izquierdo y superior del mapa.
A continuacin se muestran algunos ejemplos de representacin en mapa de Karnaugh de distintas funcio-
nes a partir de su tabla de verdad, ste mapa representar los valores a minimizar cuando la funcin arroje
un valor igual a 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 52





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 53







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 54
METODOLOGA DE REDUCCIN
Vamos a indicar cada uno de los pasos para obtener la expresin SOP (mnima suma de productos). Para ello
vamos a ilustrarlo con el ejemplo:
F(x, y, z) =x y z +x y z +x y z+x y z+x y z
Los pasos a seguir para conseguir reducir esta expresin son:
1. Convertir la expresin a una suma de productos si es necesario. Esto se puede realizar de varias maneras:
Algebraicamente.
Construyendo una tabla de verdad, trasladando los valores al mapa de Karnaugh. Esta es la forma que va-
mos a utilizar.





2. Cubrir todos los unos del mapa mediante rectngulos de 2
N
elementos, donde N =0 ... nmero de varia-
bles. Ninguno de esos rectngulos debe contener ningn cero (tal y como indicbamos en el apartado ante-
rior).
Para minimizar el nmero de trminos resultantes se har el mnimo nmero posible de rectngulos que
cubran todos los unos.
Para minimizar el nmero de variables se har cada rectngulo tan grande como sea posible.

Vase que en este caso se han unido las celdas que contienen valor 1 para formar un nico rectngulo, en
cada caso.
X Y Z Resultado
0 0 0 1
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 55
3. Encontrar la MSP (suma de productos minimal). Atencin porque podemos encontrarnos con que puede
haber ms de una MSP.
Cada rectngulo pertenece a un trmino producto.
Cada trmino se define encontrando las variables que hay en comn en tal rectngulo.

En nuestro ejemplo tenemos F(X, Y, Z) =Z +XY ntese que las variables resultado son las que tienen un
valor comn en cada rectngulo.

COLORACIN Y REPRESENTACIN DE CADA CELDA EN UN MAPA DE KARNAUGH
DOS VARIABLES











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 56
TRES VARIABLES





CUATRO VARIABLES









RECTNGULOS Y PRODUCTOS.
Cada rectngulo representa un trmino. El tamao del rectngulo y el del trmino resultante son inversa-
mente, es decir que, cuanto ms largo sea el rectngulo menor ser el tamao del trmino final.
En general, si tenemos una funcin con n variables :
Un rectngulo que ocupa una celda equivale a un trmino con n variables.
Un rectngulo que ocupa dos celdas equivale a un trmino con n-1 variables.
Un rectngulo que ocupa 2n celdas equivale al trmino de valor 1.
Por lo tanto, para encontrar el MSP se debe:
Minimizar el nmero de rectngulos que se hacen en el mapa de Karnaugh, para minimizar el nmero de
trminos resultantes.
Maximizar el tamao de cada rectngulo, para minimizar el nmero de variables de cada trmino resultante.



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 57
AGRUPACIN DE RECTNGULOS.
Cuando tenemos distintas posibilidades de agrupar rectngulos hay que seguir ciertos criterios:
Localiza todos los rectngulos ms grandes posibles, agrupando todos los unos. Estos se llamarn implican-
tes primos.
Si alguno de los rectngulos anteriores contiene algn uno que no aparece en ningn otro rectngulo enton-
ces es un implicante primo esencial. stos han de aparecer en el resultado final de manera obligatoria.
El resto de implicantes primos se podrn combinar para obtener distintas soluciones.
Vase este ejemplo que ilustra lo que les planteamos. Aqu los implicantes primos son cada uno de los dife-
rentes rectngulos obtenidos. Los primos implicantes esenciales son el rectngulo rojo y el verde, por con-
tener unos que no son cubiertos por otros rectngulos. As todas las posibles soluciones han de contener
estos dos implicantes.

Solucin: F( A, B, C, D ) =AC +ACD +BCD


EL PROCEDIMIENTO DE DISEO
Aunque en principio, al abordar el problema de diseo de un circuito podemos usar nuestra expe-
riencia, intuicin, inventiva y sentido comn, todos estos elementos no nos garantizan una solu-
cin ptima. Sin pretender coartar la creatividad e imaginacin del estudiante, se propone el si-
guiente Procedimiento de Diseo de Circuitos Lgicos:
Primer paso.- Identificar en el enunciado del problema las variables involucradas en el diseo,
asignarles un smbolo y representarlas en un Diagrama de Bloques, el cual es un bloque descono-
cido interiormente an, pero su exterior debe estar bien especificado, es decir, debe poseer un
conjunto de entradas (variables independientes) y salidas (variables dependientes o funciones a
disear).


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 58
Segundo paso.- Interpretar en el enunciado las relaciones de dependencia lgica entre entradas y
salidas y representarlas en una Tabla de Verdad. Este paso debe realizarse cuidadosamente, dado
la ambigedad propia del lenguaje que puede llevar a relaciones lgicas equivocadas.
En este paso no debe olvidarse la relacin directa de los conectivos gramaticales Y, O con las ope-
raciones AND, OR respectivamente, as como la negacin gramatical con el complemento lgico
(NOT). Sin embargo, hay que ser cuidadoso de las interpretaciones gramaticales de O inclusivo
(OR) y O exclusivo (EXOR). Esto ciertamente ser ms sencillo si el enunciado lo elaboramos noso-
tros mismos a partir de un problema real, pues nosotros sabremos exactamente lo que queremos
decir, Sin embargo, en la mayora de los casos abordados por un estudiante, los enunciados de los
problemas los ha elaborado otra persona (el autor de un libro, o el profesor de la materia).
Tercer paso.- Obtener de la tabla de verdad los Mapas de Karnaugh, un mapa por cada variable de
salida
Cuarto Paso.- Obtener las expresiones lgicas mnimas para cada variable de salida usando los
mapas del paso anterior.
Quinto paso.- Dibujar la implementacin con puertas lgicas procurando usar el mnimo de circui-
tos integrados.
En este paso hay que tener presente que una expresin lgica mnima NO garantiza una imple-
mentacin mnima en trminos de circuitos integrados. Para ello, se puede recurrir al uso de puer-
tas lgicas de un slo tipo , ya que esta estrategia permite aprovechar todas las puertas lgicas de
cada circuito integrado utilizado. Las puertas que permiten ser utilizadas de esta manera son las
puertas NAND o NOR. Las primeras son adecuadas para formas SP y las segundas para formas PS.
A continuacin estos pasos se ilustrarn con un ejemplo.
EJEMPLO.-
Disear un circuito para controlar el encendido y apagado de la lmpara de un jardn domstico, la
cual deber encender siempre que sea de noche, o la iluminacin ambiental sea muy baja, a me-
nos que se desee ahorrar energa.
El indicador de horario nocturno es una seal (N) controlada por un reloj (N =1 indica que es de
noche), El indicador de iluminacin ambiental es una seal L controlada por una fotocelda (L=1
indica que an hay luz ambiental) y el usuario utiliza un par de switches A,B para indicar si desea
ahorrar energa, de manera que si ambos estn desactivados (AB =00) no se ahorrar energa, si
slo uno de los dos se activa bloquear el encendido debido a L y, finalmente si ambos estn acti-
vados la luz del jardn no podr encenderse.
Solucin.- Procedemos de acuerdo al procedimiento planteado, paso a paso:



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 59
Diagrama de bloques





Mapa de Karnaugh para:
F(A,B,N,L)=m(0,2,3,6,7,10,11)







Funcin simplificada.- De acuerdo con el M.K.
anterior, obtenemos F=ABL +AN +BN


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 60
EJERCICIOS:
I Parte: En los ejercicios 1 al 6, escriba el polinomio booleano que da origen a cada tabla, construya el mapa
de Karnaugh y determinar la expresin booleana simplificada para la funcin f, LUEGO DIBUJE EL CORRES-
PONIENTE CIRCUITO.

1.


x y f(x,y)
0 0 1
0 1 0
1 0 0
1 1 1

2. x y f(x,y)
0 0 1
0 1 0
1 0 1
1 1 0
3.




x y z f(x,y,z)
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
4. x y z f(x,y,z)
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
5. x y z w f(x,y,z,w)
0 0 0 0 0
0 0 0 1 0
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 1
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 0
1 1 1 0 1
1 1 1 1 1
6. x y z w f(x,y,z,w)
0 0 0 0 1
0 0 0 1 0
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 1
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 1
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 61
II Parte: Para los siguientes mapas de Karnaugh, escriba la expresin booleana simplificada en cada caso.
1.

2.

3.

4.

5.

6.

7.

8.










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 62
MODELADO Y REDES DE PETRI
Las Redes de Petri son una teora matemtica postulada por el alemn Carl Adam Petri que proporciona una
herramienta grfica y matemtica de modelado para la descripcin formal de sistemas cuya dinmica se
caracteriza por la concurrencia, sincronizacin, exclusin mutua y conflictos, las cuales son caractersticas
tpicas de sistemas distribuidos. Al disminuir el precio del hardware de computadora, y de los procesadores
en particular, existe un creciente inters en el procesamiento concurrente, para lograr mayor velocidad y
eficiencia.
Las redes de Petri como herramienta para especificar sistemas de tiempo real, reconocen un antecedente en
las mquinas de estado, una de las primeras tcnicas para modelar arquitecturas de sistemas de cmputo,
basada en la descripcin de un sistema mediante los conceptos de estado y transicin.
Esta tcnica de especificacin se basa en establecer una completa relacin entre el comportamiento de
entrada/salida de una mquina y la variacin de sus estados internos, dando una idea de la ocurrencia de las
transiciones en respuesta a cada una de las posibles entradas.
Estos estados son representados mediante crculos. Un arco desde el estado s
i
al estado s
j
etiquetado a/b
significa que en el estado s
i
con una entrada a la mquina cambiar al estado s
j
obteniendo b como salida.
Un alfabeto de entrada define las entradas desde el mundo externo, mientras un alfabeto de salida define
las salidas de la mquina al mundo externo.
La salida de esta mquina depende tanto de la entrada actual como del estado actual. Un caso especial de la
especificacin de la salida es que sta puede depender slo del estado actual. De esta manera, el estado
est asociado con un smbolo de salida particular, aunque varios estados podran mapearse sobre la misma
salida.
Los sistemas de computadora son con frecuencia muy complejos, largos, y con varias componentes que
interactan. A pesar de la diversidad de sistemas que queremos modelar se pueden sealar varios puntos en
comn. Una idea fundamental es que los sistemas estn compuestos de mdulos o componentes separadas,
e interactuantes. Cada componente puede ser en s misma un sistema, pero su comportamiento puede ser
descripto en forma independiente de los otros mdulos del sistema, excepto por interacciones bien defini-
das con las otras componentes. Cada componente tiene su propio estado. El estado es una abstraccin de la
informacin relevante necesaria para describir sus (futuras) acciones.
Por otra parte, los sistemas a menudo exhiben situaciones de concurrencia o paralelismo. Las actividades de
una componente de un sistema pueden ocurrir simultneamente con las de otros mdulos. Dado que las
componentes de los sistemas interactan, es necesario que haya sincronizacin. Esto puede resultar en que
una componente est esperando a otra. El temporizado de acciones de distintos mdulos puede ser muy
complejo y las interacciones resultantes entre las componentes pueden ser difciles de describir.
La gran limitacin de las mquinas de estado se presenta cuando se intentan modelar sistemas con acciones
simultneas. Si bien podran representarse cada una de estas acciones simultneas como mquinas de esta-
do y luego intentar unirlas, esta unin no es simple. Se genera un aumento importante en el nmero de
estados lo que dificulta el manejo y la claridad del diagrama de estados resultante.
La representacin de la concurrencia y la sincronizacin presentes en un sistema es ms natural utilizando
Redes de Petri en lugar de una mquina de estado, debido a que las mismas poseen un paralelismo inheren-


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 63
te.
CARACTERSTICAS BSICAS DE UNA RED DE PETRI
La teora de Redes de Petri puede ser aplicada a diversas reas, y sus fundamentos se estn convirtiendo en
un tema casi "obligatorio" para los cientficos en computacin, analistas de sistemas e ingenieros.
Los conceptos bsicos de la teora de Redes de Petri pueden ser entendidos con una mnima base de cono-
cimientos. Sin embargo, las Redes de Petri abarcan muchos aspectos de la ciencia de computacin y las
matemticas. Una apreciacin y entendimiento completo de la teora de Redes de Petri requiere una buena
base en el estudio de lenguajes formales y autmatas, sistemas operativos, arquitectura de computadoras y
lgebra lineal.
Las Redes de Petri son una herramienta til para el estudio de sistemas. La teora permite que un sistema
sea modelado por una Red de Petri, una representacin matemtica del sistema. El anlisis de la Red puede
revelar importante informacin acerca de la estructura y el comportamiento dinmico del sistema modela-
do, la que puede ser usada para evaluarlo y sugerir mejoras o cambios.
Definicin. Una red de Petri es una grfica dirigida que est formada por lugares y transiciones, unidos alter-
nativamente por arcos dirigidos. Un lugar puede o no contener marcas. El conjunto de marcas asociadas a
cada uno de los lugares en un momento dado, constituye un marcado de la red. Para la descripcin funcio-
nal de sistemas concurrentes los marcados representan estados y las transiciones sucesos, que dependen
del cumplimiento de determinadas condiciones.
DEFINICIONES
ESTRUCTURA DE UNA RED DE PETRI
Una Red de Petri consta de cuatro partes: un conjunto de lugaress P, un conjunto de transiciones T, una
funcin de entrada I, y una funcin de salida O. Las funciones de entrada y de salida relacionan transiciones
y lugares. La funcin de entrada I es un mapeado desde una transicin t
j
a una coleccin de lugares I(t
j
),
conocida como los sitios de entrada de la transicin. La funcin de salida O mapea una transicin t
j
en una
coleccin de sitios O(t
j
), conocida como los sitios de salida de la transicin.
DEFINICIN: Una estructura de Red de Petri, C, es una 4-upla, C =(P,T,I,O). P ={p
1
, p
2
,...., p
n
}es un conjunto
finito de lugares o plazas, n >=0. T ={t
1
, t
2
, ...., t
m
}es un conjunto finito de transiciones, m >=0. El conjunto
de lugares y el conjunto de transiciones son disjuntos. I: T -->P es la funcin de entrada, un mapeado de
transiciones en bolsas de sitios. O: T -->P es la funcin de salida, un mapeado de transiciones en bolsas de
sitios.
Representacin. Toda herramienta de modelado tiene una o ms formas de ser representada. En el caso de
las redes de Petri, podemos encontrar una representacin grfica y otra matricial.



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 64
p
1
t
1
p
2
arco
lugar
transicin
marca
REPRESENTACIN GRFICA
Una red de Petri puede asociarse con un grafo dirigido con
dos clases disjuntas de nodos, los lugares y las transiciones.
Un crculo representa un lugar, una barra representa una
transicin y un arco dirigido conecta lugares y transiciones.
Algunos arcos van desde un lugar a una transicin y otros
desde una transicin a un lugar. Un arco dirigido desde un
lugar p a una transicin t define p como un lugar de entrada
para t. Un lugar de salida se indica con un arco desde la
transicin al lugar.
Los arcos se etiquetan con sus pesos (enteros positivos). Si una de esas etiquetas se omite, significa que el
arco tiene peso uno.
Las marcas se representan como puntos negros en los lugares. Los lugares que contienen marcas se consi-
deran lugares activos.
A las transiciones se les asocia eventos (funciones lgicas de las variables de entrada). Una transicin se dice
que est sensibilizada cuando todos sus lugares origen estn marcados.
Cuando ocurre un evento asociado a una transicin, se dice que
la transicin est validada.




Una Red de Petri es un multgrafo, dado que permite arcos ml-
tiples desde un nodo del grafo a otro. Adems, dado que los
arcos son dirigidos, es un multgrafo dirigido. Dado que los nodos
del grafo pueden ser particionados en dos conjuntos (sitios y
transiciones), tal que cada arco est dirigido de un elemento de
un conjunto a un elemento del otro conjunto, es un multgrafo
dirigido bipartito.
El hecho de que las dos representaciones sean equivalentes
significa que dada cualquiera de ellas, es posible encontrar la
otra y adems es nica.
MarcasdelasRedesdePetri:Una marca es una asignacin de tokens (puntos negros) a los sitios de una
Red de Petri. El nmero y posicin de los tokens puede cambiar durante la ejecucin de una Red de Petri.
DEFINICIN: Una marca de una Red de Petri C =(P,T,I,O) es una funcin que va desde el conjunto de sitios P


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 65
a los enteros no negativos N.
La marca tambin puede definirse como un n-vector, =(
1
,
2
, ....,
n
), donde n =| P| y cada
i
N, i =
1,...,n. El vector da para cada sitio p
i
en una Red de Petri el nmero de tokens en ese sitio. El nmero de
tokens en el sitio p
i
es
i
, i =1,...,n. Las definiciones de marca como funcin y como vector estn relaciona-
das por (p
i
) =
i
.
Una Red de Petri marcada M =(C,) es una estructura de Red de Petri C =(P,T,I,O) y una marca .
En un grafo de Red de Petri, los tokens se representan por puntos dentro de los crculos que representan los
sitios. En la figura puede verse una Red de Petri marcada.
Dado que el nmero de tokens que puede ser asignado a un sitio de una Red de Petri es ilimitado, hay una
infinidad de marcas para una Red de Petri. El conjunto de todas las marcas para una Red de Petri con n sitios
es el conjunto de los n-vectores, N
n
. Este conjunto, aunque infinito, es numerable.
Ejemplo: Evolucin del marcado en una Red de Petri



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 66
REPRESENTACIN MATRICIAL
Una transicin tiene un determinado nmero de lugares de entrada (o precondiciones) y de lugares de sali-
da (o postcondiciones). Cada uno de estos se puede representar por una matriz binaria de dos dimensiones,
donde las columnas representan los lugares, las filas las transiciones y las celdas la conexin entre ambas.
Las matrices reciben los nombres de Matriz de incidencia previa y Matriz de incidencia posterior respec-
tivamente.
Entre las tcnicas de anlisis ms usadas se encuentran las ecuaciones matriciales, donde se definen dos
matrices C
-
y C
+
para representar las funciones de entrada y salida. Cada matriz tiene m filas (una por cada
transicin) y n columnas (una por cada lugar).
Se definen:
C
-
[j,i] =#(pi, I(tj)) (Matriz de incidencia previa)
D
+
[j,i] =#(pi, O(tj)) (Matriz de incidencia posterior)
La forma matricial de definicin de una Red de Petri (P, T, C
-
, C
+
) es equivalente a la forma estndar pero
permite que las definiciones sean reexpresadas en trminos de vectores y matrices.
Matriz de incidencia de N: C =C
+
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.

You might also like