Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. Grafos y Digrafos 1
1.1. Digrafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Potencias de R. Trayectorias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2. Trayectorias. Conexidad Fuerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.3. Digrafos Ponderados. Trayectorias Óptimas. . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2. Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.1. Conexidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.2.2. Grafos Eulerianos, Grafos Hamiltonianos . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.2.3. Algoritmo de Fleury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.2.4. Árboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.2.5. Grafos Ponderados. Árbol Generador Óptimo . . . . . . . . . . . . . . . . . . . . . . . 35
2. Reticulados 37
2.1. Relación Binaria. Representaciones. Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.1.1. Propiedades Básicas de una Relación Binaria . . . . . . . . . . . . . . . . . . . . . . . 38
2.1.2. Orden Parcial. Conjunto Parcialmente Ordenado . . . . . . . . . . . . . . . . . . . . . 39
2.1.3. Comparabilidad. Predecesor Inmediato. Diagrama de Hasse . . . . . . . . . . . . . . . 40
2.1.4. Algoritmo para calcular M≺ a partir de M≤ . . . . . . . . . . . . . . . . . . . . . . . . 41
2.1.5. Algoritmo para calcular M≤ a partir de M≺ . . . . . . . . . . . . . . . . . . . . . . . . 42
2.2. Elementos Notables. Cotas Universales. Supremo. Infimo . . . . . . . . . . . . . . . . . . . . . 44
2.3. Isomorfismos. Subreticulados. Reticulados Distributivos. Complementos . . . . . . . . . . . . 54
2.4. Representación en Reticulados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3. Álgebras Booleanas 65
3.1. Primera definición de Álgebra Booleana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.2. Dualidad en Algebras Booleanas. Diagrama de Hasse de un Álgebra Booleana Finita . . . . . 67
3.3. Segunda Definición de Álgebra Booleana. Cubo Unitario. Isomorfismo Booleanos . . . . . . . 70
3.4. Expresiones Booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.5. Aplicaciones Booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.6. Circuitos Lógicos. Compuertas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.7. Optimización De Aplicaciones Booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.8. Método de McClueskey-Quine para obtener los implicantes primos de f a partir de la forma
disyuntiva estándar Ef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
1
2 ÍNDICE GENERAL
Capı́tulo 1
Grafos y Digrafos
1.1. Digrafos
Definición 1.1. Un digrafo (o grafo dirigido) es una terna D = [V, A, f ] constituida por un conjunto no
vacı́o V cuyos elementos se denominan vértices, un conjunto A cuyos elementos son llamados arcos y una
aplicación f : A −→ V × V que le asocia a cada elemento de A un único par ordenado de vértices (u, v); f
es llamada aplicación de incidencias.
Los elementos de V son representados por letras minúsculas como x, y, z, u, v, . . . o por x1 , x2 , x3 . . . o
−
→ →
v1 , v2 , v3 , . . . cuando V es un conjunto numerable. Por su parte, los arcos son denotados por − →a , b ,−
c ,...
−
→ −
→ −
→ −
→ −−−→
o a1 , a2 , a3 , . . .; para mostrar el efecto de la aplicación f sobre los arcos, se escribe a = (u, v) en lugar de
−−−→
f (−
→a ) = (u, v). Además, cuando − →a = (u, v) se dice que u es el origen o vértice inicial del arco −
→
a y que v es
el final o vértice final del arco a .−
→
Ejemplo 1.1.
−
→ → − → →
1. Dados V = {x, y, z, w} y A = {−
→
a , b ,−
c , d ,−
e }, la aplicación siguiente sirve para construir un digrafo
D = [V, A, f ].
−
→ −
→ −
→ −
→ −
→ −
→
α a b c d e
f (−
→
α) (x, w) (y, x) (x, y) (z, w) (z, z)
De manera natural, este digrafo D admite una representación gráfica de tipo “sagital”, como muestra
la figura anexa.
x
→
−c
−
→
a
−
→
−
→ b
−
→ z d w y
e
1
2 CAPÍTULO 1. GRAFOS Y DIGRAFOS
a1 , −
3. Para los conjuntos V2 = {v1 , v2 , v3 } y A2 = {−
→ →
a2 , −
→
a3 , −
→
a4 }, consideremos la “correspondencia” dada
por la tabla siguiente:
−
→a −
→
a1 −
→
a2 −
→
a3 −
→
a4
h(−
→a) (v1 , v1 ) (v1 , v2 ) (v1 , v3 ) v1
Esta correspondencia tampoco es una aplicación de A2 en V2 × V2 (¿por qué?), ası́ que [V2 , a2 , h] no es
un digrafo.
Observación 1.1. En la Definición 1.1 se establece que el conjunto de vértices V no puede ser vacı́o en
un digrafo; pero el conjunto de arcos si puede ser vacı́o. Cuando se presenta este caso, el digrafo resultante
es llamado digrafo nulo; en caso que sea finito, su representación sagital consiste unicamente de vértices
aislados.
Ejemplo 1.2.
Los arcos −
→
a1 y −
→
a8 son lazos.
Los arcos −
→
a3 y −
→
a4 son paralelos, también son paralelos −
→
a3 y −
→
a7 (−
→
a4 y −
→
a7 también son paralelos).
D −
→
a3
v1 −
→
a4 v2
−
→
a7
→
−
a8
−
→
a2 −
→
a6 −
→
a9 v3
−
→
a1 v5 v4
−
→
a5
Definición 1.3. Para cualquier digrafo finito D = [V, A, f ] que tenga el conjunto de vértices V = {v1 , v2 , . . . , vn }
se denomina matriz de conexión a la matriz n × n que se construye con la multiplicidad de todos los pares
(vi , vj ) con la forma siguiente:
m(v1 , v1 ) m(v1 , v2 ) · · · m(v1 , vn )
m(v1 , v) m(v2 , v2 ) · · · m(v2 , vn )
Mc (D) = .. .. ..
. . .
m(vn , v1 ) m(vn , v2 ) · · · m(vn , vn )
0 3 0 0 1
0 0 0 1 0
Ejemplo 1.4. Para el digrafo finito D del Ejemplo 1.19, la matriz de conexión es Mc (D) =
0 0 1 0 0
0 1 0 0 0
0 0 0 1 1
Nótese que Mc (D) es una representación matricial del digrafo D.
Definición 1.4. Sea D = [V, A, f ] un digrafo. Diremos que D es un digrafo simple si D no tiene lazos
ni arcos paralelos. Es decir, D es un digrafo simple sii ∀u, v ∈ V se cumple que m(u, v) = 0 si u = v y
m(u, v) ≤ 1 si u ̸= v.
Ejemplo 1.5. El digrafo del Ejemplo 1.19 no es simple. Tampoco es simple el digrafo del Ejemplo 1.1.1.
Observación 1.2. En cualquier digrafo D, podemos realizar un proceso de simplificación en dos pasos:
(1◦ ) eliminar en D todos los lazos.
(2◦ ) eliminar los “haces” o “manojos” de arcos paralelos, dejando apenas uno de éllos.
Al cumplir ese proceso, el digrafo D se convierte en un digrafo simple D∗ , que recibe el nombre de digrafo
simple asociado a D.
Ejemplo 1.6. Consideremos el digrafo D del Ejemplo 1.19. El digrafo simple asociado a D es mostrado en
la figura.
∗
D
−
→
a4
v1 v2
−
→
a2 −
→
a6 −
→
a9 v3
v5 v4
−
→
a5
4 CAPÍTULO 1. GRAFOS Y DIGRAFOS
0 1 0 0 1
0 0 0 1 0
La matriz de conexión de D∗ es Mc (D∗ ) =
0 0 0 0 0 . ¿Se puede obtener Mc (D∗ ) de la matriz
0 1 0 0 0
0 0 0 1 0
Mc (D) del Ejemplo 1.3.?
Observación 1.3. Cada digrafo simple Ds tiene asociado una relación binaria R, definida entre los vértices
del digrafo Ds en la forma siguiente: u R v ⇐⇒ existe un arco −
→
a con “origen = u′′ y “final = v ′′ O sea,
u R v ⇐⇒ m(u, v) = 1
Cuando el digrafo Ds es finito, resulta que Ds y R tienen la misma representación sagital; además,
también coincide la representación matricial MR de la relación R y la matriz de conexión de Ds (MR =
Mc (Ds )). En el ejemplo siguiente es especificado la relación binaria R asociada al digrafo simple Ds del
Ejemplo 1.6.
Ejemplo 1.7. Para el digrafo simple Ds del Ejemplo 1.6, la relación binaria correspondiente es la siguiente:
v1 R v2 y v1 R v5 (debido a los arcos −→
a1 y −
→
a4 )
v2 R v4 y v4 R v2 (debido a los arcos −
→
a6 y −
→
a9 )
y v R v (debido al arco −
5 4
→
a ) 5
Finalmente, tenemos una manera de interpretar las potencias R de R en términos de los vértices y los
k
−
a−→
a~2 k−1
Demostración. Ejercicio
T = [w0 , −
→
a1 , w1 , −
→
a2 , w2 , . . . , wr−1 , −
→
ar , wr ], r ≥ 1
y tales que −
→
ai = (wi−1 , wi ), i = 1, 2, . . . , r. El número de arcos que hay en la trayectoria se denomina
orden de la trayectoria y se denota por o(T ).
4. ciclo o circuito a cualquier trayectoria que tenga iguales el primer vértice y el último vértice.
−
→ −
→
13 14 v
−
→ v1 6 −
→
1 9
−
→ −
→ →
−
v2 −
→ 11 12 −
→ 8
2 −
→ 10 v5
5
−
→ −
→
3 7
v3 v4
→
− −
→
6 4
−
→ −
→
una trayectoria de orden 1 es T1 = [v1 , 1 , v2 ]; además, T1 es simple y elemental. Por su parte, C1 = [v3 , 6 , v3 ]
es un ciclo simple de orden 1.
Algunas trayectorias de orden 2 son:
−
→ −
→
T2 = [v1 , 13, v6 , 14, v6 ], (es simple, no es elemental)
−
→ −
→
T3 = [v3 , 4 , v4 , 7 , v5 ], (es simple, es elemental)
−
→ −
→
T4 = [v6 , 14, v6 , 14, v6 ], (es ciclo, no es simple)
6 CAPÍTULO 1. GRAFOS Y DIGRAFOS
Definición 1.6. En un digrafo D = [V, A, f ], consideremos dos vértices u, v. Diremos que: el vértice v es
accesible desde el vértice u sii u = v o existe una trayectoria T que comienza en el vértice u y termina en el
vértice v.
Un digrado D se denomina fuertemente conexo cuando cada vértice v del digrafo D es accesible desde cada
uno de los demás vértices.
Ejemplo 1.9. En el digrafo del Ejemplo 1.8, desde v1 se puede ir a los demás vértices utilizando las trayec-
−
→ −
→ −
→ −
→ −
→ −
→ −
→
torias siguientes: T˜1 = [v1 , 1 , v2 ], T˜2 = [v1 , 1 , v2 , 3 , v3 ], T˜3 = [v1 , 1 , v2 , 3 , v3 , 4 , v4 ], T˜4 = [v1 , 13, v6 ], T˜5 =
−
→ −
→
[v1 , 13, v6 , 9 , v5 ]. Ası́, cada vértice del digrafo D es accesible desde el vértice v1 (incluso, el mismo v1 ).
Pero desde v6 sólo se puede ir a v5 y desde v5 sólo hay trayectorias hacia v6 : los vértices v1 , v2 , v3 , v4 no son
accesibles desde v5 ni desde v6 . En consecuencia, el diagrafo del Ejemplo 1.8 no es fuertemente conexo.
La Definición 1.6 impone la busqueda de la trayectoria entre cada par de vértices diferentes de un digrafo
para desarrollar un estudio de la conexidad fuerte de dicho digrafo. El Teorema 1.1, por su parte, nos “dice”
que la búsqueda de trayectorias se puede realizar con la relación asociada R, pero ésto vale sólo para digrafos
simples. El resultado siguiente nos permitirá aplicar la relación binaria al estudio de la conexidad fuerte
digrafos que no sean simples.
Teorema 1.2. En un digrafo D = [V, A, f ], sean u, v dos vértices y sea D∗ el digrafo simple asociado a D.
Entonces se cumple que:
(⇐=) Supongamos ahora que v es accesible desde u en el digrafo D. Entonces en D existe una trayectoria
T = [u, −
→
c1 , w 1 , −
→
c2 , w2 , . . . , wr , −
→
cr , v].
“T ” = [u, −
→
c1 , w1 , −
→
c2 , w2 , . . . , wi = wi+1 , . . . , wr , −
→
cr , v]
esta secuencia “T ” todavı́a es una trayectoria de u a v. Ası́, la eliminación de los lazos en D no rompe las
trayectorias.
Supongamos entonces que ya han sido eliminados todos los lazos y que de u a v hay una trayectoria J =
−
→ −
→ −−→
[u, d1 , x1 , d2 , x2 , . . . , xk , dk+1 , v] (sin lazos); si del vértice xj al vértice xj+1 hay más de un arco al “borrarlos”
casi todos y dejar uno sólo, este arco que queda sustituye a dj+1 e impide que la trayectoria J se rompa.
∗
En consecuencia, de u a v siguen existiendo trayectorias en el digrafo simple D .
Corolario 1.2. Un digrafo D es fuertemente conexo ⇐⇒ también es fuertemente conexo el digrafo simple
D∗ asociado a D
1.1. DIGRAFOS 7
Este criterio para estudiar continuidad fuerte de un digrafo D funciona bien con digrafos bastante pequeños
o con muy pocos arcos;pero en muchos digrafos finitos puede que no sea cómodo. En el caso de digrafos finitos,
el Corolario 1.7 nos permite “crear” un algoritmo para estudiar la conexidad fuerte.
Definición 1.7. Dado un digrafo simple Ds con n−vértices y con matriz de conexión M = Mc (Ds ), lla-
maremos matriz de accesibilidad del digrafo Ds a la matriz binaria Acc(Ds ) que se calcula según la fórmula
siguiente:
Acc(Ds ) = bin[In + M + M 2 + · · · + M n−1 ]
En esta fórmula, In es la matriz identidad n×n; las sumas indicadas se realizan en forma usual y bin significa
que la matriz resultante de la suma
In + M + M 2 + · · · + M n−1
debe ser transformada de acuerdo con las normas siguientes:
Para un digrafo no-simple y finito D que tenga digrafo simple asociado D∗ , se define
∗
Acc(D) = Acc(D )
v2
v3
v4
v5
v7
v6
v2
v3
v4
v5
v7
v6
se puede comprobar que cada matriz M k proporciona la información relativa a existencia y ubicación de
trayectorias de orden k (trayectorias elementales). Por ejemplo, la componente 3 − 6 (fila 3, columna 6)de
la matriz M 4 es igual a 1; eso representa UNA trayectoria elemental de orden 4 desde el vértice v3 hasta el
vértice v4 (aunque el digrafo hay más de una trayectoria elemental de orden 4 desde v3 hasta v6 ):
T1 : de v3 a v1 a v2 a v5 a v6
(también T2 de v3 a v4 a v2 a v5 a v6 ).
Del Cororalio 1.1 y la Definición 1.7 se deduce el resultado siguiente.
Corolario 1.3. Un digrafo finito D es fuertemente conexo ⇐⇒ la matriz de conexión Acc(D) no tiene
componentes nulas.
1.1. DIGRAFOS 9
Ejemplo 1.11. El digrafo del Ejemplo 1.10 no es fuertemente conexo, ya que la matriz Acc(D) tiene com-
ponentes nulas.
En el teorema siguiente encontramos otro criterio para estudiar conexidad fuerte de digrafos fuerte, sean
o no finitos. Además, tiene utilidad práctica y teórica.
Teorema 1.3. Para cualquier digrafo D = [V, A, f ], con más de un vértice, son equivalentes las proposiciones
siguientes:
1. D es fuertemente conexo.
−
→
2. Para toda dicotomı́a {V1 , V2 } del conjunto V , existen arcos −
→
a y b en D tales que −
→
a tiene origen en
−
→
V1 y final en V2 , y el arco b tiene origen en V2 y final en V1 .
Ejemplo 1.12. En el digrafo D del Ejemplo 1.10, consideremos la siguiente dicotomı́a del conjunto de
vértices: V1 = {v1 , v2 , v3 , v4 , v5 , v6 } y V2 = {v7 }.
Fácilmente se comprueba que en el digrafo D hay arcos que salen de algún vértice que está en V1 y llegan al
vértice v7 , único en V2 ; pero no hay arcos que salgan de v7 y lleguen a algunos de los vértices que hay en V1 .
En consecuencia, el Teorema 1.3 nos permite asegurar que el digrafo D del Ejemplo 1.10 no es fuertemente
conexo.
Demostración. del Teorema 1.3
(1)=⇒(2) Supongamos que D es fuertemente conexo y que {V1 , V2 } es una dicotomı́a del conjunto V .
Entonces, ninguno de los dos conjuntos V1 , V2 es vacı́o y podemos escoger u ∈ V1 , v ∈ V2 . Por ser D
fuertemente conexo, existe una trayectoria de u a v, digamos T = [u, − →
c1 , w 1 , −
→
c2 , w2 , . . . , wr , −−→, v].
cr+1
Llamamemos w0 = u y wr+1 = v. En la lista de vértices w0 , w1 , w2 , . . . , wr , wr+1 no ocurre que todos
están en V1 , por lo menos wr+1 = v está en V2 . Entre todos los vértices de esa lista que están en V1 ,
seleccionamos el que tiene mayor subı́ndice y llamémoslo wi ; entonces, wi+1 , wi+2 , . . . , wr+1 están en
V2 y el arco ci tiene origen = wi en V1 y final en = wi+1 en V2 .
Ahora, de v a u también existe (al menos) una trayectoria, debido a la conexidad fuerte del digrafo D.
Con el mismo razonamiento anterior (intercambiando V1 y V2 ) se llega a la conclusión de que existe un
arco que tiene origen en V2 y final en V1 .
(2)=⇒(1) Ahora utilizaremos reducción al absurdo. Supongamos que la proposición (2) es verdadera, pero
que el digrafo no es fuertemente conexo. Esta negación es equivalente a tener un par de vértices u y v
tales que u ̸= v y v no es accesible desde u.
Consideremos los conjuntos siguientes H1 = {x ∈ V ⧸x es accesible desde u} y H2 = {y ∈ V ⧸y ∈ /
H1 } = {y ∈ V ⧸y no es accesible desde u}. Entonces resulta que H1 no es vacı́o (ya que u ∈ H1 ) y H2
tampoco es vacı́o (pues v ∈ H2 ); además H1 ∩ H2 = ∅ y H1 ∪ H2 = V , en consecuencia {H1 , H2 } es
una dicotomı́a del conjunto V . La hipótesis (2) nos permite asegurar que existe un arco − →
a que tiene
origen en un vértice w1 ∈ H1 y final en un vértice w2 ∈ H2 . Por ser w1 ∈ H1 , existe una trayectoria
T = [u, −
→
a1 , u1 , −
→
a2 , u2 , . . . , uk , −
a−→ −
→
k+1 , w1 ] (hay otra alternativa, a saber: w1 = u); al agregar a y w2 a la
trayectoria T obtenemos una trayectoria T̃ que sale de u y llega a w2 , ası́ que w2 no es accesible desde
u (porque w2 ∈ H2 ) y, simultaneamente, w2 si es accesible desde u (porque T̃ es una trayectoria desde
u hasta w2 ). Esto es una contradicción. (En la alternativa w1 = u, el arco − →a conecta directamente u
con w2 ).
Concluimos que el digrafo D si es fuertemente conexo.
Ejemplo 1.13. Si tomamos dos digrafos D1 y D2 para formar un nuevo digrafo D, ésto podemos hacerlos
en dos formas: (1a ) conectando D1 y D2 , (2a ) sin conectar D1 y D2 .
En el 2do caso, el Teorema 1.3 nos lleva a concluir que D no puede ser fuertemente conexo, aunque los
digrafos D1 y D2 sean fuertemente conexos.
En el 1er caso, podemos asegurar que D será fuertemente conexo si se cumple que D1 es fuertemente conexo,
D2 es fuertemente conexo y al conectarlos para formar el nuevo digrafo D, se utiliza por lo menos un arco
de D1 hacia D2 y, por lo menos, un arco de D2 hacia D1 .
10 CAPÍTULO 1. GRAFOS Y DIGRAFOS
CASO 1 CASO 2
arco de D1 a D2
D1 D2 D1 D2
arco de D2 a D1
Por lo menos, un arco de D1 hacia D2 y un arco No hay conexión entre D1 hacia D2 : el
de D2 hacia D1 , se usa para conectar D1 y D2 . digrafo resultante no es fuertemente conexo.
¿Hay manera de conectar un digrafo fuertemente conexo D1 con otro digrafo fuertemente conexo D2 y no
se obtiene un digrafo fuertemente conexo?.
Problemario 1.1.
1. Para cada uno de los digrafos siguientes, encontrar la matriz de coneción M( D), el digrafo asociado
D∗ y la matriz Mc (D∗ ).
(a) (b) (c)
D D D
2. Para cada uno de los digrafos del problema anterior, encontrar la relación binaria R correspondiente
∗
al digrafo simple asociado D . Además, hallar la matriz MR y M 2 , M 3 , M 4 .
R R R
3. Para cada vértice v de un digrafo D = [V, A, f ] se definen
a) el grado positivo, g + (v) = card{−
→
a ∈ A⧸f (−
→
a ) = (v, y) para algún y ∈ V }
b) el grado negativo, g (v) = card{ a ∈ A⧸f (−
− −
→ →a ) = (x, v) para algún x ∈ V }
Además, sean g(v) = g + (v) + g − (v) y g(v) = g + (v) − g − (v).
Demostrar que:
1.1. DIGRAFOS 11
∑
a) g + (v) = card(A)
v∈V
∑
b) g − (v) = card(A)
v∈V
∑
c) g(v) = 2card(A)
v∈V
∑
d) g(v) = 0
v∈V
4. Estudiar la conexidad fuerte de los digrafos del problema 1.1.1, utilizando matrices.
a) En cada uno de los digrafos del problema 1.1.1, encontrar dist(]u,v) para cada par vértice u, v.
b) Ahora, para cada vértice u calcular el número l(u) := máx{dist(u, v)⧸x ∈ V } y, después, calcular
el valor central C(D) = mı́n{l(u)⧸u ∈ V } (esto se refiere a cada digrafo D del problema 1.1.1).
Finalmente, seleccionar los vértices v que satisfacen la igualdad l(v) = C(D). Estos vértices son
llamados centros del digrafo D.
6. Sea D = [V, A, f ] un digrafo. Demuestre que para cualquiera vértices u, v, w del digrafo D se cumple
que
dist(u, v) ≤ dist(u, w) + dist(w, v)
8. Si D es un digrafo que tiene n−vértices y m−arcos, demostrar que cualquier trayectoria elemental T
en el digrafo D satisface la desigualdad siguiente
o(T ) ≤ mı́n{n − 1, m}
9. Se tiene un digrafo finito D que ha sido construido a partir de varios ciclos simples C1 , C2 , . . . , Ck los
cuales satisfacen las condiciones siguientes:
v2 3 v3
3 2
v1
2
2 1
2
2 3 v7
v4
2
4
1
v5
4
v6
Ejemplo 1.15. En el digrafo del Ejemplo 1.14 podemos ver que no hay trayectoria de v1 a los demás vértices,
ası́ que dist(v1 , v1 ) = 0 y dist(v1 , vj ) = 0 si j = 2, 3, 4, 5, 6, 7.
De v2 a v3 si hay trayectorias; entre ellas, las de menor ponderación son:
A continuación expondremos un algoritmo para calcular distancias de un vértice fijo a los demás vértices,
en un digrafo finito y ponderado. En el desarrollo de ese algoritmo se utiliza una función auxiliar δ, que no
debe ser confundida con la distancia. Esta función δ se define de la forma siguiente:
0 si u = v
δ(u, v) = ∞ si u ̸= v y no hay arcos de u a v
mı́n{p(⃗a) : ⃗a es un arco de u a v} si u ̸= v y hay arcos de u a v
La tabla siguiente describe el algoritmo que se usa para calcular las distancias de un vértice prefijado v0 a
los demás vértices del digrafo. Los valores iniciales son:
Este proceso finaliza cuando el conjunto Ui es igual al conjunto de vértices del digrafo. Las distancias buscadas
son los números mı́nimos di+1 (u∗i+1 ) seleccionados en los diversos pasos del procedimiento anterior. Es decir,
Cada una de estas distancias puede ser finita o infinita. Si es infinita, ese hecho significa que de v0 a u∗i
(el que corresponda) no hay trayectorias. Si dist(v0 , u∗i ) es finita, entonces de v0 a u∗i si hay trayectorias y,
entre ellas, hay por lo menos trayectoria óptima cuya ponderación es dist(v0 , u∗i ). Esta trayectoria puede ser
encontrada mediante un procedimiento llamado Método de Retroceso, que se desarrolla sobre la misma tabla
en la que fueron colocados los datos y cálculos del algoritmo para buscar distancias. En el ejemplo siguiente
explicaremos cómo es el desarrollo del método del retroceso.
Ejemplo 1.16. Calcular la distancia del vértice v1 a los demás vértices, en el digrafo mostrado en la figura.
v5 v0
8
6 5 6
5
5 6 v1
4
v4
7 8 7 9
6
v3
6 v2
9
Ya podemos concluir que de v0 a v5 no hay trayectorias (¿por qué?); en consecuencia, tampoco hay trayectoria
óptima de v0 a v5 .
Veamos ahora cómo se aplica el método del retroceso para buscar las trayectorias óptimas en los casos de
distancia finita (no-nula). Por ejemplo, de v0 a v2 :
1. la distancia de v0 a v2 es 11;
1.1. DIGRAFOS 15
2. este valor final 11 se obtiene en el Paso 3, paso en el cual es seleccionado el vértice u∗4 = v2 .
3. retrocedemos al paso anterior (2) y allı́ vemos que d3 (v2 ) = 11 (no cambia el n◦ di (v2 ));
5. retrocedemos al Paso 0; allı́ tenemos que d1 (v2 ) = ∞ (CAMBIA); aquı́ abandonamos el vértice v2 y
tomamos el vértice seleccionado en este Paso 0; es decir, a partir de este momento continuamos el
retroceso con
u∗1 = v3 y d1 (u∗1 ) = d1 (v3 ) = 5
6. Sólo podemos retroceder a los datos iniciales, donde encontramos que d0 (v3 ) = ∞ (CAMBIA); dejamos
v3 y tomamos el vértice seleccionado en los datos iniciales, a saber v0 .
7. Ya no se puede retroceder más. La trayectoria óptima se construye con la secuencia de vertices que fué
obtenida en retroceso, ası́:
v0 , . . . , v 3 , . . . , v 2
Los espacios vaciı́on deben ser llenados con arcos (de v0 a v3 , de v3 a v2 ) que tengan la menor ponde-
ración posible (pero conectando los vértices en el orden encontrados): de v0 a v3 , arco de ponderación 5
−
→ −
→
(escribamos 5 ), de v3 a v2 , arco de ponderación 6 (escribamos 6 ), y la trayectoria óptima de v0 a v2 es
−
→ −
→
T02 = [v0 , 5 , v3 , 6 , v2 ].
Las otras trayectorias óptimas de v0 a los demás vértices son:
−
→
T01 = [v0 , 6 , v1 ]
−
→
T03 = [v0 , 5 , v3 ]
−
→
T04 = [v0 , 5 , v4 ]
Problemario 1.2.
v1
x
+
2z y
z
x+y+z
y+
v0 y+z v5
2y v2
2x +
x+
3x z
z
y
x + 2y
v3 v4
3x + 2z
x<y<z dist(v0 , v4 ) = 84
2x < z < 3x dist(v1 , v3 ) = 132
z < 2y < 2z dist(v5 , v1 ) = 123
utlizar la definición de distancia en digrafos ponderados y las condiciones que se dan para:
16 CAPÍTULO 1. GRAFOS Y DIGRAFOS
10
12
s3 s10
13
13
14
s1 s7
30
10
12
12
13
s4 s11 22
E R
10
14
12
16 s8
30
s2
13
14
13
s5 s12
15
15
s9
Las comunicaciones se hacen mediante un antiguo sistema de radios. Las ponderaciones indican el
tiempo requerido para activar la comunicación entre una estación y otra que esta conectada a la primera.
a) Encontrar la trayectoria óptima que debe seguir un mensaje de E a R.
b) Encontrar una “red” que conecte todas las estaciones con R pero con la menor ponderación posible.
5. En el digrafo que se da a continuación
14 3
v1
12 v0
6
18
11
5
3
10
14
v2
v4 14 v7
12
6
8
9
18
7
7
v3 v6
3 12
6
v5
1.2. Grafos
Definición 1.10. Un grafo es una terna G = [V, A, f ] constituida por un conjunto no vacı́o V cuyos elementos
se denominan vértices, un conjunto A cuyos elementos son llamados aristas y una aplicación g que le asocia
a cada elemento x de A un par no-ordenado de vértices {u, v} (puede ser u = v).
Cuando x ∈ A y g(x) = {u, v}, entonces se dice que u y v son extremos de la arista x o que la arista x
incide o tiene incidencia en u y v; también se dice que u y v son vértices adyacentes o que están conectados
por la arista x.
Ejemplo 1.17.
1. Dados los conjuntos V = {v1 , v2 , v3 , v4 , v5 } y A = {a1 , a2 , a3 , a4 }, una apliación que produce un grafo
G1 = [V, A, g1 ] es la siguiente:
a a1 a2 a3 a4
g1 (a) {v1 , v3 } {v2 , v3 } {v3 } {v3 , v2 }
Por otra parte, en la tabla siguiente vemos una asignación de imágenes que no satisface lo exigido por
la Definción 1.10; en consecuencia G = [V, A, g2 ] no es un grafo.
a a1 a2 a3
g2 (a) {v1 , v3 } {v1 , v2 } {v1 , v4 }
a a1 a2 a3 a4
g3 (a) {v1 } {v1 , v2 } {v1 , v2 , v3 } {v4 }
[V, A, g3 ] no es un grafo.
2. Al igual que ocurre con los digrafos, el conjunto A puede ser vacı́o. En ese caso se tiene el grafo nulo.
Cuando V tiene n−vértices y A es vacı́o, se tiene el grafo nulo con n-vértices, que será denotado por
Nn .
Observación 1.4. Los grafos que tienen conjunto de vértices finito y conjunto de aristas finito también
admiten representación gráfica, aunque no de tipo sagital. El grafo siguiente muestra una representacion del
grafo G1 del Ejemplo 1.17.1
v2
v5
a4
a2
v1
a1
a3
v3 v4
3. Para u, v ∈ V , la multiplicidad del par (u, v) es el número de arista que tienen un extremo en u y otro
extremo en v; es denotada por m(u, v).
4. Un vértice aislado en G es un vértice que tiene grado igual a 0.
5. Un vértice colgante es un vértice que tiene grado igual a 1.
Ejemplo 1.18. En el grafo mostrado en la Observación 1.4 anterior a la Definición 1.11, encontramos los
datos siguientes:
la asista a3 es un lazo.
gr(v1 ) = 1, ası́ que v1 es un vértice colgante.
gr(v2 ) = 2, ası́ que v2 no es un vértice colgante ni vértice aislado.
gr(v3 ) = 5
gr(v4 ) = gr(v5 ) = 0, v4 y v5 son vértices aislados.
Definición 1.12. Un grafo G = [V, A, g] es llamado grafo finito cuando los conjuntos V y A son finitos. Si
G es grafo finito con n−vértices v1 , v2 , . . . , vn y m−aristas a1 , a2 , . . . , am (m > 0), entonces se denomina
1. matriz de incidencias de G a la matriz m × n, denotada por Mi (G), cuya componente−kj es el número
de veces que la arista ak incide en el vértice vj .
2. matriz de adyacencias de G a la matriz cuadrada n × n, denotada por Ma (G), cuya componente−kj es
la multiplicidad del par de vértices vértice (vk , vj ).
Ejemplo 1.19. Consideremos una vez más el grafo G1 de la página 17, repetido en la figura anexa.
v2
v5
a4
a2
v1
a1
a3
v3 v4
Por otra parte, las 4−aristas y los 5−vértices de G1 hacen que la matriz de incidencias sea una matriz 4 × 5
y sus componentes sólo pueden tomar los valores 0, 1, 2.
1 0 1 0 0
0 1 1 0 0
Mi (G1 ) =
0 0 2 0 0
0 1 1 0 0
Definición 1.13. Un grafo G = [V, A, g] se denomina grafo simple sii no tiene rizos y entre cada par de
vértices distintos no hay más de una arista.
Un grafo simple que tiene exactamente una arista entre cada par de vértices distintos es llamado grafo
completo: cuando es finito y tiene n−vértices, se le denota por Kn .
Un grafo simple en el que todos los vértices tienen grado r es llamado grafo regular de grado r.
1.2. GRAFOS 19
Ejemplo 1.20.
1. El grafo del Ejemplo 1.19 no es simple. Pero si es simple el grafo nulo Nn , que tiene n−vértices y
0−aristas. Si fijamos los n−vértices, para construir un grafo simple con éllos, no debemos utilizar rizos
o lazos, ni colocar más de una arista entre cada par de vértices diferentes. El grafo simple que tiene
n−vértices y exactamente una arista entre cada par de vértices distintos es el grafo simple que tiene
mayor cantidad de aristas (entre los grafos simples con n−vértices): se le denomina grafo completo
y se representa por Kn . En los recuadros inferiores observamos varios grafos completos (nótese que
K1 = N1 ).
K2 K3 K4 K5 K4
2. Cada grafo completo es un ejemplo de grafo regular (en Kn , cada vértice tiene grado n − 1). Las
siguientes figuras muestran otros grafos, algunos que son regulares y otros que no lo son.
G1 G2 G3 G4 G5
Un Grafo Un Grafo Otro Grafo Todos los vértices Todos los vértices
Regular de Regular de Regular de tienen grado 4 pero tienen grado 4 pero
Grado 1 Grado 2 Grado 2 el grafo no es regular el grafo no es regular
El resultado siguiente establece cuál es la mayor cantidad de aristas que puede tener un grafo simple con
n−vértices.
n(n − 1)
Teorema 1.4. El grafo completo Kn tiene aristas.
2
Demostración. Procedamos por inducción sobre el número de vértices, n.
n(n − 1)
Para n = 1; el grafo K1 tiene 0−aristas y la fórmula da el mismo valor 0 cuando n = 1. La “fórmula”
2
es verdadera en este caso.
n(n − 1)
Supongamos ahora que es cierto que el grafo Kn tiene aristas y consideremos el grafo Kn+1 . Este
2
grafo Kn+1 puede formarse a partir de Kn , agregándole un nuevo vértice y conectándolo a los n−vértices que
tiene Kn . A las aristas que ya tenı́a Kn debemos sumarle n−aristas nuevas, que se colocan entre el vértice
nuevo y los n−vértices que ya estaban en Kn . En consecuencia, la cantidad de aristas de Kn+1 es
[ ] [ ]
n(n − 1) n−1 (n − 1) + 2 n+1 (n + 1)n
+n=n +1 =n =n =
2 2 2 2 2
n(n − 1)
y ese es el valor que da la fórmula cuando se coloca n + 1 en lugar de n, como querı́amos comprobar.
2
20 CAPÍTULO 1. GRAFOS Y DIGRAFOS
Definición 1.14. Sean G1 = [V1 , A1 , g1 ] y G2 = [V2 , A2 , g2 ] dos grafos. Diremos que G1 y G2 son isomorfos
sii existen dos aplicaciones biyectivas φ : V1 −→ V2 y ψ : A1 −→ A2 que preservan las incidencias (ésto
significa que para cualesquiera elementos a ∈ A1 y u, v ∈ V1 debe cumplirse que si u, v son los extremos de
la arista a, entonces φ(u), φ(v) son los extremos de la arista ψ(a)).
Ejemplo 1.21. Consideremos los grafos cuyas representaciones gŕaficas son mostradas en las figuras anexas.
G1 G2
a2
v1 v2 w1
a6 a5
b2
a1 a3 b3 b1
b4 w4 b6
v4 v3 w2 w3
a4 b5
Comencemos por notar que n◦ de vértices de G1 =n◦ de vértices de G2 y n◦ de aristas de G1 = n◦ de
aristas de G2 , condición que deja abierta la posibilidad de construir las aplicaciones biyectivas φ : V1 −→ V2
y ψ : A1 −→ A2 .
La correspondencia v1 7→ w1 , v2 7→ w3 , v3 7→ w4 , v4 7→ w2 es una apliación biyectiva φ de los vértices de G1
en los vértices G2 .
Ahora encontraremos una aplicación biyectiva de las aristas de G1 en las aristas G2 , pero además de ser
biyectiva preservará las incidencias. Ası́:
- arista a1 conecta v1 con v4 , transformados por φ en w1 y w2 (respectivamente), entonces transforma-
remos a1 en b2 (que conecta w1 con w2 ).
- arista a2 conecta v1 con v2 , que se convierten en w1 y w3 (respectivamente), entonces a la arista a2 le
asignamos b1 (que conecta w1 con w3 ).
- arista a3 conecta v2 con v3 , (convertidos en w3 y w4 , respectivamente), hacemos corresponder a3 en b5
(que conecta w3 con w4 ).
Al finalizar este proceso tendremos las aplicaciones φ, ψ que son exhibidas en las tabulaciones siguientes:
vértice vi v1 v2 v3 v4 arista aj a1 a2 a3 a4 a5 a6
φ(vi ) w1 w3 w4 w2 ψ(aj ) b2 b1 b5 b4 b6 b3
En vista de la existencia de las aplicaciones φ, ψ concluimos que los grafos G1 y G2 son isomorfos.
Problemario 1.3.
1. Para cada uno de los grafos siguientes, hallar la aplicación de incidencias, la matriz de incidencias y
la matriz de adyacencias.
2. a) Determinar cuáles de las matrices siguientes pueden ser matriz de incidencias de grafos. En los
casos afirmativos, dibujar los grafos correspondientes y encontrar la matriz de adyacencias respec-
tivas.
1 0 1 0 1 1 0 1 0 1 0 0
a1.− 0 2 0 0 a3.− 0 2 1 0 0 2 0 0
a5.− 0 0 0 2 0
0 0 1 1 1 0 1
0 0 1 0 1
2 0 0 2 0 0 0
0 1 1 2 0 0 0
a2.− a4.−
1 0 1 0 2 0 1
0 1 1 0 0 0 2
b) Elaborar una lista de las condiciones que debe satisfacer una matriz para ser matriz de inciden-
cias de un grafo. ¿Como construir el grafo y la matriz de adyacencias a partir de la matriz de
incidencias?
c) Repetir la parte 2 b) pero intercambiando incidencias y adyacencias.
3. Considerar un grafo finito G que tiene n−vértices v1 , v2 , . . . , vn (n ≥ 2) y m−aristas a1 , a2 , . . . , am
(m ≥ 1). Suponer que la matriz de incidencias de G es Mi (G) con componentes αij (1 ≤ i ≤ m, 1 ≤
j ≤ n) y que la matriz de adyacencias es Ma (G) con componentes α̂rs (1 ≤ r ≤ n, 1 ≤ s ≤ n).
Demostrar que:
∑
n
a) para cualquier i ∈ {1, 2, . . . , m} fijo, se cumple αij = 2
j=1
∑
m
b) para cualquier j ∈ {1, 2, . . . , n} fijo, se cumple αij = gr(vj )
i=1
∑
m ∑
n
c) αij = 2m
i=1 j=1
d) para cualquiera r, s ∈ {1, 2, . . . , n} se cumple α̂rs = α̂sr
∑
e) α̂rs = m
r≤s
∗
4. Dado un grafo G, llamaremos grafo simple asociado a G al grafo G que se obtiene al eliminar en G
los lazos y dejar una única arista entre aquellos vértices que estén conectados por más de una arista.
a) Para cada uno de los grafos de los Problemas 1.3.1 y 1.3.2, encontrar el grafo simple asociado.
b) Explicar (caso finito) cómo se puede obtener la matriz de adyacencias de G∗ a partir de la matriz
de adyacencias de G. ¿Qué ocurre con las matrices de incidencias?
5. Suponer que G es un grafo finito con n−vértices v1 , v2 , . . . , vn y m−aristas a1 , a2 , . . . , am . Demostrar
que:
∑
n
a) gr(vi ) = 2m
i=1
b) la cantidad de vértices que tienen grado impar es cantidad par.
c) si G es simple, entonces 2m ≤ n(n − 1)
6. Para un grafo finito simple G que tenga n−vértices, el complemento de G se define como el grafo simple
asociado G que se obtiene en la forma siguiente: si u, v son vértices diferentes en G, entonces si en G
hay una arista entre u y v, esa arista es “borrada” en G y si en G no hay aristas entre u y v, se coloca
una arista entre u y v en G.
22 CAPÍTULO 1. GRAFOS Y DIGRAFOS
a) Encontrar Kn y Nn
b) Simplificar los grafos del Problema 1.3.1 y encontrar los complementos de los grafos simples que
resulten.
G = G es verdadera para todo grafo simple G?
c) ¿Se puede asegurar que la igualdad
d) Mostrar un procedimiento que permita obtener las matrices Ma (G) y Mi (G) a partir de las matrices
Ma (G) y Mi (G) respectivamente.
7. Dados dos grafos G1 y G2 , se definen G1 + G2 como el grafo que se forma con los vértices de G1 y los
de G2 , se mantienen las aristas de G1 y las G2 y, además, entre cada vértice u de G1 y cada vértice v
de G2 se coloca una arista nueva.
a) Si G1 y G2 son finitos con n1 −vértices y n2 −vértices, respectivamente, construya las matrices
Mi (G1 + G2 ) y Ma (G1 + G2 ) a partir de las matrices de G1 y G2 .
b) Si G es un grafo simple finito, ¿es verdadera la igualdad G + G = Kn (G debe tener n−vértices).
8. Entre los grafos siguientes, determinar cuáles son isomorfos.
G1 G2
G3 G3
1.2.1. Conexidad
Definición 1.15. Consideremos un grafo G = [V, A, g]. Una cadena es una secuencia finita alternada de
vértices y aristas de la forma
C = [w0 , b1 , w1 , b2 , w2 , . . . , wi−1 , bi , wi , . . . , wk−1 , bk , wk ]
tal que la arista bi incide en los vértices wi−1 y wi .
El número k (que es el número de aristas que forman la cadena) se denomina orden de la cadena C y se
denota por o(C) = k.
Si en la cadena no se repiten aristas, se dice que la cadena es simple; si no se repiten vértices, entonces se
dice que la cadena es elemental.
Si el vértice “inicial” w0 coincide con el vértice final wk , entonces se dice que C es un ciclo; si w0 = wk pero
en la “lista” de vértices w0 , w1 , . . . , wk no hay repeticiones, entonces se dice que C es un ciclo simple.
1.2. GRAFOS 23
2. Diremos que el grafo G es conexo si y sólo si para todo par de vértices u, v del grafo G se cumple que
“u y v están conectados”. En caso contrario, diremos que G es un grafo disconexo.
Ejemplo 1.22.
1. El grafo nulo N1 (tiene un único vértice) es conexo, pero cualquier grafo nulo con más de un vértice es
disconexo (ver gráfico anexo).
Grafo Nulo N1 N2 N3 N4
Por su parte, cualquier grafo completo Kn es completo (ya que entre cada par de vértices diferentes u y
v existe una arista que los conecta; los dos vértices u y v y la arista que los conecta forman una cadena
de orden 1).
2. La figura 1 muestra un grafo conexo, mientras que en la figura 2 vemos un grafo que no es conexo (tiene
“varios pedazos o pertes”)
Figura 1 Figura 2
En el grafo de la figura 2 podemos ver que cada una de las partes (aislada de las otras) es un grafo
conexo, pero al unirlas para construir un sólo grafo no quedan conectadas entre éllas. Esas “partes” del
grafo son llamadas componentes del grafo (el grafo de la figura 1 tiene una componente, el grafo de la
figura 2 tiene tres componentes).
G(v1 ) = {v1 , v2 , v9 , }
G(v2 ) = {v1 , v2 , v9 , }
G
G(v3 ) = {v3 , v4 , v5 , v12 , v13 , }
G(v5 ) = {v3 , v4 , v5 , v12 , v13 }
G(v6 ) = {v6 , v7 , v11 , }
G(v11 ) = {v6 , v7 , v11 , }
G(v8 ) = {v8 , v10 , } = G(v10
G(v14 ) = {v14 , }
G(v15 ) = {v15 , }
Nótese que
Las clases de equivalencia distintas que son producidas en G por la relación ∼ reciben el nombre de compo-
nentes de G; la clase de equivalencia G(u) es llamada la componente de G generada por el vértice u.
La propiedad de las clases de equivalencia mencionada anteriomente puede ser reenunciada en términos de
componentes, en la forma siguiente:
Ejemplo 1.24. El grafo nulo Nn tiene n−componentes. Si u es un vértica de Nn , entonces se tiene que
G(u) = {u}. El grafo Kn tiene una única componente, que incluye los n−vértices.
A continuación encontraremos varios criterios para concluir respecto a la conexidad de un grafo (cual-
quiera).
Primero, aclararemos que la definición de componente que hemos dado (a partir de las clases de equivalencia)
depende de la relación ∼: y está relación aparece en los grafos simples, pero no la hemos definido para el
caso de los grafos no-simples. En consecuencia, en grafos no-simples no hemos definido las componentes. Lo
haremos a continuación:
∗ ∗
Dado un grafo G, pasamos al grafo simple G asociado a G (ver Problema 1.3.4). En G buscamos las clases
de equivalencia G(u), las cuales son conjuntos de vértices conectados entre si. Encontramos un resultado
importante.
Teorema 1.5. Sea G un grafo con grafo simple asociado G∗ y sean u, w vértices en G (y en G∗ ). Entonces
es cierto que
u y w están conectados en G ⇐⇒ u y w están conectados en G∗
1.2. GRAFOS 25
Demostración. Ejercicio
∗ ∗
Notemos ahora que los vértices que forman G(u) en G (están conectados ente ellos en G , no están
∗
conectados con vértices de otras componentes en G ) también están conectados entre ellos en G; entonces,
∗
en G las componentes son los mismos conjuntos G(u) que son las componentes en G .
Teorema 1.6. Si G es un grafo y G∗ es el grafo simple asociado a G, entonces resulta que:
∗
1. G es conexo ⇐⇒ G es conexo
2. G es conexo ⇐⇒ tiene una única componente
Nota: Puede utilizar los grafos mostrados en las figuras 1 y 2 del Ejemplo 1.22.2 para comprobar y “ejem-
plificar” el Teorema 1.6.
Teorema 1.7. Un grafo G = [V, A, g] es conexo sii para toda dicotomı́a {V1 , V2 } del conjunto V existe una
arista α ∈ A que tiene un extremo en V1 y un extremo en V2 .
Ejemplo 1.25. En la figura anexa
v1 v2 v6 v7
v8
v3
v5 v12 v11
v4 v9
encontramos un grafo que tiene 3−componentes: el Teorema 1.6 ya nos permite concluir que este gra-
fo no es conexo. Para ilustrar el Teorema 1.7, consideremos los conjuntos V1 = {v1 , v2 , . . . , v12 } y V2 =
{v13 , v14 , . . . , v19 }. Entonces {V1 , V2 } es una dicotomı́a del conjunto de vértices del grafo de la figura y no
hay arista que tenga un extremo en V1 y el otro extremo en V2 . Ası́ que el Teorema 1.7 también nos permite
concluir que el grafo no es conexo.
El resultado siguiente muestra la solución del problema que se presenta al pretender construir, con n−vértices
dados, un grafo simple que tenga k−componentes. ¿Cuántas aristas se necesitan (mı́nimo y máximo)?
Teorema 1.8. Supongamos que G es un grafo simple que tiene n−vértices repartidos en k−componentes. Si
m es el número de aristas que G tiene, entonces resulta que
1
n−k ≤ (n − k)(n − k + 1)
2
Demostración. Debemos comprobar que la menor cantidad de aristas que G puede tener es n−k; similarmente,
1
comprobaremos que (n − k)(n − k + 1) es la mayor cantidad de aristas que puede haber en G (simple, con
2
n−vértices y k−componentes).
Comencemos por llamar G1 , G2 , . . . , Gk a las componentes de G. La cantidad de vértices que hay en G1 la
llamaremos n1 ; la cantidad de vértices en G2 la llamaremos n2 y ası́ sucesivamente, de manera que
n = cantidad de vértices de G = n1 + n2 + · · · + nk
Además, supondremos que n1 ≤ n2 ≤ · · · ≤ nk
26 CAPÍTULO 1. GRAFOS Y DIGRAFOS
Caso Mı́nimo Cada componente (por si sola, aislada de las demás) es un grafo conexo y simple. Si la
componente Gi tiene ni vértices, al formar una cadena elemental con éllos se asegura la conexidad: se
necesitan ni − 1 aristas para formar esa cadena. No se puede disminuir la cantidad de aristas (bajar de
ni − 1) porque se pierde la conexidad. Concluimos que Gi tiene ni − 1 aristas.
Entonces, la cantidad de aristas del grafo G se obtiene como la suma de las aristas que hay en las
diversas componentes, ası́:
m = (n1 − 1) + (n2 − 1) + · · · + (nk − 1) = (n1 + n2 + · · · + nk ) + (1 + 1 + · · · + 1) = n − k
| {z }
k−veces
Si modificamos la distribución original de vértices, tenemos que pasar vértices de una componente a
otra manteniendo el número de vértices. Por ejemplo, en G1 quitamos el vértice v1 (ver gráfica arriba)
y lo pasamos hacia G2 : borramos una arista, pero al colocar v1 en G2 tenemos que conectarlo a la
cadena que ya hay en G2 (lo conectaremos mediante una arista por uno de los extremos de la cadena)
y agregamos una arista. No hay perdida ni ganancia de aristas. En conclusión, cualquier distribución
de los n−vértices en las k−componentes siempre requiere de n − k aristas (mı́nimo).
Caso Máximo La componente Gi (tomada como modelo) es un grafo simple, por tanto la mayor cantidad
de arista se da cuando Gi es el grafo completo Kni (de paso, es conexo). Ya sabemos que Kni tiene
1
ni (ni − 1) aristas (Teorema 1.4).
2
Ası́, en una primera ojeada vemos que la mayor cantidad de aristas aparece cuando cada una de las
componentes es grafo completo (o sea, G1 = Kn1 , G2 = Kn2 , etc). Pero estamos suponiendo que
n1 ≤ n2 ≤ · · · ≤ nk , quitamos un vértice de G1 y tenemos que “borrar” n1 − 1 aristas, pasamos dicho
vértice hacia G2 y . . . tenemos que “agregar” n2 aristas, en ese proceso añadimos n2 , quitamos n1 − 1
aristas, el resultado es:
+ n2 − (n1 − 1) = n2 − n1 + 1 ≤
(ya que n1 ≤ n2 ⇐= 0 ≤ n2 − n1 ⇐= 1 ≤ n2 − n1 + 1)
y concluimos que con ese procedimiento aumenta la cantidad de arista. Esto nos lleva a “redistribuir
los vértices” hasta que queden
1 vértice en la componente G1 grafo nulo
1 vértice en la componente G2 grafo nulo
(k − 1) .. .. .. ..
. . . .
1 vértice en la componente Gk−1 grafo nulo
n − (k − 1) vértice en la componente Gk formando grafo completo, y en esa distribución de vértices
estarán todas las aristas en Gk . La cantidad de aristas en ese caso máximo es
1 1 1
[(n − (k − 1)] · [n − (k − 1) − 1] = [(n − k + 1] · [n − k + 1 − 1] = [(n − k + 1] · [n − k]
2 2 2
1
en contradicción con la hipótesis m > (n − 1)(n − 2).
2
1.2. GRAFOS 27
Problemario 1.4.
1. Suponga que G es un grafo en el que hay dos ciclos simples distintos C1 y C2 , los cuales tienen
exactamente una arista en común.
a) Exhiba los dos ciclos desarrollados y mostrando la arista en común.
b) Ahora muestre un nuevo ciclo simple en el cual no aparecerá la arista común de los ciclos C1 y
C2 .
2. Suponga que G es un grafo simple y conexo que contiene un ciclo simple C, el cual se le va a quitar
una arista α. Suponga que T es una cadena entre un vértice u y otro v, y que la arista α está en T .
Compruebe que al quitarle α se puede construir “otra ” cadena de u a v. Ahora compruebe que G no
deja de ser conexo al quitarle la arista α.
3. Suponga que G es un grafo simple y disconexo. Demuestre que G no puede ser disconexo (ver problema
1.3.6). Concluya que G y G no pueden ser disconexos simultaneamente.
4. En un grafo G que sea conexo, se denomina istmo a cualquier arista α que desconecta al grafo G si es
“borrada” (ver la figura).
istmo
Demuestre que una arista α es un istmo si y sólo si en G no hay ciclos simples que contengan a α.
5. Suponga que G1 y G2 son dos grafos conocidos y se quiere estudiar la conexidad del grafo G1 + G2 (ver
problema 1.3.7).
a) SiG1 y G2 son conexos ambos, ¿como es G1 + G2 , ¿conexo?, ¿disconexo?
b) Si solo uno de los dos es conexo, ¿qué se puede decir de G1 + G2 ?
c) Si G1 y G2 son disconexos ambos, ¿se puede asegurar que G1 + G2 es disconexo?
6. Supongamos que G es un grafo simple y finito en el cual cada vértice tiene grado mayor o igual que 2.
Demostrar que G contiene un ciclo simple.
7. Considere un grafo finito G con n−vértices v1 , v2 , . . . , vn (G no tiene que ser simple). Demuestre que
el valor de la componente ij de la matriz [Ma (G)]k (multiplicación en forma usual, no binaria) es
exactamente la cantidad de cadenas de orden k que hay entre vi y vj . Compruebe este resultado con el
grafo mostrado en la figura anexa.
v1 v2 v3
v5 v4
8. Suponga que G es un grafo simple finito. En el caso de los digrafos simples finitos, fue “diseñado”
un algoritmo que permitı́a estudiar la conexidad fuerte a través de la representación matricial y sus
potencias. En caso que sea posible, imite el desarrollo del caso de los digrafos y obtenga un algoritmo
para grafos simples finitos. Justifique sus argumentos. ¿Se puede intentar un análisis similar para grafos
finitos que no sean simples?.
28 CAPÍTULO 1. GRAFOS Y DIGRAFOS
v3 5
4
v4
la cadena C0 = [v4 , 4, v3 , 3, v2 , 2, v1 , 1, v0 ] es una cadena hamiltoniana (¿es la única posible?) y C1 =
[v0 , 1, v1 , 2, v2 , 3, v3 , 4, v4 , 5, v0 ] es un ciclo euleriano. ¿Es posible conseguir en G1 una cadena euleriana
no cı́clica?.
2. En el grafo G2 anexo,
G2
7 6 5 4
1 2 3
4. Si G es un grafo disconexo, entonces G no puede contener una cadena hamiltoniana (¿por qué?). Si G
esta formado por dos componentes y una de ellas es un vértice aislado, entonces G puede contener una
cadena euleriana.
El Teorema 1.9 proporciona un criterio numérico para identificar o reconocer grafos eulerianos y semieu-
lerianos. Para el caso hamiltoniano no hay un criterio tan completo.
Teorema 1.10 (Teorema de Dirac). Suponga que G es un grafo que satisface las condiciones siguientes:
1. es grafo simple
Ejemplo 1.29.
1. El Teorema 1.10 se puede aplicar al grafo completo Kn si n ≥ 3, ya que es ese caso Kn satisface
las 3 condiciones del teorema. En consecuencia, podemos asegurar que todo grafo Kn con n ≥ 3 es
hamiltoniano.
2. Si G es un grafo simple con n = 10 vértices colocados en un ciclo simple (como muestra la figura anexa).
Este grafo cumple las condiciones 1 y 2 del Teorema 1.10, pero no cumple la 3a condición. En conse-
cuencia el teorema no se puede aplicar a este grafo G.
Viendo el grafo, buscamos un ciclo hamiltoniano y lo podemos encontrar “rapidamente”.
v4 v3
3
v5 4 2 v2
5 1
v6 v1
6 10
v7 7 9 v10
8
v8 v9
El grafo mostrado en la figura anexa es conexo y cada vértice tiene grado par, ası́ que el grafo es euleriano.
La secuencia gráfica muestra el desarrollo del Algoritmo de Fleury para encontrar el ciclo euleriano.
1.2. GRAFOS 31
v2 v2 aislado
1 2 istmo
v1 v1 v1 v3 v1 v3 v1 v3
3
4
5
v4 v4 v5
v1 v3 v1 v3 v1 v3 v1 v3 v1 v3
10
istmo 9
istmo
v5 v5 v4 v5 v4 v5 v4 6 v5
8 7
istmo
v6 v6 v6
1. Suponga que G es un grafo conexo y simple que posee al menos un istmo. Demuestre que G no puede
ser euleriano.
2. Si Km,n = Km + Kn , determine para qué valores de m y n es euleriano el grafo Km,n . ¿Para qué
valores es hamiltoniano?
3. Un grafo constituido por un ciclo simple con n vértices, n ≥ 2, es llamado n−cı́rculo y es denotado por
On . Para n ≥ 3 se define la n−rueda Rn como Rn = On−1 + N1 .
a) euleriano b) hamiltoniano
4. En cada uno de los grafos K3 , K5 , K7 , K9 compruebe la afirmación siguiente K2n+1 contiene n−ciclos
hamiltonianos, cada uno de los cuales se construye con aristas que no forman los otros n − 1 ciclos.
5. Durante una convención 9 de los asistentes a la convención cenaron juntos cada dı́a, desde el 1◦ hasta
el último. En esas cenas, cada uno de éllos tuvo a su lado sólo una vez a cad uno de los ∗ restan-
tes. Represente ese situacón mediante un grafo. Utilice el grafo para determinar cuántos dı́as duró la
convención.
6. Se dan 15 fichas de dominó, desde 0⧸0 hasta 4⧸4. Se quiere saber si se puede formar un ciclo con
esas 15 piezas, colocándolas en la forma correcta de colocar las fichas de dominó.
Represente con un grafo todas las 15 piezas (Sugerencia: cada número 0, 1, 2, 3, 4 es un vértice). Utilice
el grafo para concluir respecto a la construcción del ciclo con las 15 piezas. ¿Qué tipo de ciclo es?
32 CAPÍTULO 1. GRAFOS Y DIGRAFOS
a) K3 b) K5 c) K7
1.2.4. Árboles
Definición 1.19. Un grafo G que no contiene ciclos simples es llamado un bosque. Si adémas es conexo, se
denomina árbol.
Ejemplo 1.31.
1. El grafo nulo Nn es un bosque; N1 es un árbol. Entre los grafos completos, K1 y K2 no tienen ciclos
simples, son árboles. Pero a partir de K3 , todos contienen ciclos simples, no son árboles.
2. Entre los grafos que se exhiben en las figuras siguientes,
G1 G2 G3
G4 G5
encontramos que:
a) G1 es un bosque con 3 componentes (cada componente de G1 es un árbol)
b) G2 y G3 son árboles.
c) G4 y G5 son conexos, pero contienen ciclos simples.
En el teorema siguiente encontramos manera equivalentes de definir árbol en caso finito.
Teorema 1.11. Sea G = [V, A, g] un grafo finito con n−vértices, n > 1. Las proposiciones siguientes son
equivalentes:
i) G es un árbol.
ii) G no contiene ciclos simples y tiene n − 1 aristas.
iii) G es conexo y tiene n − 1 aristas.
iv) G es conexo y cada arista es un istmo.
1.2. GRAFOS 33
v) para cualquiera u, v ∈ V con u ̸= v, existe una única cadena simple que los conecta.
vi) G no contiene ciclos simples pero al agregarle una arista se forma exactamente un ciclo simple.
Demostración. Ejercicio.
Definición 1.20. Dado un grafo G = [V, A, g], al seleccionar un subconjunto no vacı́o V1 y algunas aristas
entre los vértices de V1 (que forman A1 ⊆ A) se forma un grafo G1 = [V1 , A1 , g1 ] que es llamado subgrafo
parcial de G. Si se seleccionan todas las aristas que conectan los vértices seleccionados en V1 , el grafo que se
obtiene es un subgrafo de G.
Un subgrafo parcial de G que sea conexo y no tenga ciclos simples y que contenga todos los vértices de G se
denomina un árbol generador.
Ejemplo 1.32. Las figuras siguientes muestran un grafo conexo G, un subgrafo parcial G1 (de G), un subgrafo
G2 , dos árboles generadores G3 y G4 (de G).
x x x x
G G1 G2 G3 G4
v v v v v
y y y y y
w w w w w
u u u u u
z z z z z
Teorema 1.12. Si G es un grafo conexo finito, entonces G admite al menos un árbol generador.
Existen varios procedimientos para encontrar árboles generadores de grafos finitos conexos. Dos de
esos métodos son descritos a continuación y cada uno de éllos proporciona una manera de demostrar el
Teorema1.12.
Este proceso finaliza cuando Hj sea igual al conjunto de todos los vértices del grafo.
Ejemplo 1.33. Ahora mostraremos el desarrollo de los dos algoritmos anteriores, aplicados al grafo conexo
que aparecerá en la primera figura de la secuencia.
v6 c1 v1 v6 c1 v1 v6 v1
c6 c7 c2 c6 c7 c2 c6 c7 c2
c8 c8 c8
c12 quitar c12 quitar c12
v5 v2 v5 v2 v5 v2
v7 c9 c1 v7 c9 c9 v7 c9
c11 c11 c11
c5 c10 c3 c5 c10 c3 c5 c10 c3
v4 c4 v3 v4 c4 v3 v4 c4 v3
quitar c4
v6 v1 v6 v1 v6 v1
c6 c7 c2 c6 c7 c2 c6 c7 c2
c8 c8 c8
c12 quitar c12 quitar c12
v5 v2 v5 v2 v5 v2
v7 c12 v7 c3 v7
c11 c11 c11
c5 c10 c5 c10 c3 c5 c10 c3
v4 v3 v4 v3 v4 c4 v3
quitar c6
v6 v1 v6 v1
Árbol Generador
c6 c2 c2 de G
c7 c7
c8 c8
v5 v2 F in v5 v2
v7 v7
c11 c11
c5 c10 c5 c10
v4 v3 v4 v3
1.2. GRAFOS 35
v4 v4 v4
selecciona v6 y c6
v6 v6 v6
H6 = {v2 , v3 , v4 , v5 , v6 , v7 } H5 = {v2 , v4 , v5 , v6 , v7 } H4 = {v4 , v5 , v6 , v7 }
c6 c6 c6
v4 v3 v4 v4
selecciona v1 y c1
c1
v6 v1
Árbol Generador
c6 H7 = {v1 , v2 , v3 , v4 , v5 , v6 , v7 }
de G
c12
v5
v7 c9 v2
c11
c3
v4 v3
1. Construir todos los árboles no-isomorfos entre sı́, con n−vértices (n = 3, 4, 5, 6).
36 CAPÍTULO 1. GRAFOS Y DIGRAFOS
Para cada vértice w se define l(w) = máx{dist(w, x)⧸x ∈ V, x ̸= w} y cuando G es conexo se define el
número central de G como c(G) = mı́n{l(w)⧸w es vértice de G}. Cada vértice v de G que satisface la
condición l(v) = c(G) es llamado un centro del grafo G.
a) Encontrar los centros de cada uno de los grafos G1 , G2 , G3 , G4 del Ejemplo 1.32 y también, del
grafo del Ejemplo 1.33.
b) Ahora se define diámetro de un grafo como diam(G) = máxima entre todas las distancias dist(x, y),
donde x, y son vértices de G. Encontrar el diámetro a cada uno de los grafos mencionados en la
parte a).
c) Ahora, suponer que G es un árbol y que el diámetro de G es un número par. Comprobar que G
tiene exactamente un centro.
d) Si G es un árbol y su diámetro es un número impar, comprobar que G tiene 2 centros.
6. Encontrar árboles generadores óptimos para los grafos siguientes.
3
2 2 3 4
3 3 3 3 8
1 1 1 1
5 5 5 5 5 3 6
1 1 1 1 7 6
2 2 3 4 3 2
6 7
1 1 1 1
3 3
4 4 4 4 4 4
6 8
1 1 1 1
2 2 3 4 9
7. La tabla anexa muestra las longitudes de las carreteras que conectan 6−ciudades C1 , C2 , C3 , C4 , C5 , C6 .
C1 200
C2 150 180
C3 300 200 150
C4 180 200 200 300
C5 100 150 170 100 200
C6 C1 C2 C3 C4
Encontrar la combinación de carreteras que conectan las 6−ciudades, pero con longitud total (o combi-
nada) mı́nima.
Capı́tulo 2
Reticulados
R1 = {(a, a), (a, c), (b, c), (c, b)} R2 = {(a, a), (b, b), (c, c)}(relación identidad)
R3 = {(a, b), (a, c), (b, a)} R4 = {(a, a), (a, b), (b, a), (b, b)}
También son relaciones binarias sobre A:
a a a
b b b
R1
R2 R3
c
c c
Cuando el conjunto A es finito, las relaciones binarias sobre A también admiten representación mediante
matrices. Si A = {a1 , a2 , . . . , an }, entonces una relación binaria
{ R sobre A es representada por una matriz
1 si ai Raj
binaria MR , de orden n × n, que tiene componente ij =
0 si ai R
⧸aj
Ejemplo 2.3. Para las relaciones R1 , R2 , R3 del Ejemplo 2.2, las relaciones matriciales son:
1 0 1 1 0 0 0 1 1
MR = 0 0 1 MR = 0 1 0 MR = 1 0 0
1 2 3
0 1 0 0 0 1 0 0 0
37
38 CAPÍTULO 2. RETICULADOS
Ejemplo 2.4. La relación R1 = {(a, a), (a, b), (a, c), (c, b)} sobre el conjunto A = {a, b, c} no es refle-
xiva, puesto que faltan los pares (b, b) y (c, c) en R1 .
Pero R2 = {(a, a), (b, b), (b, c), (c, c)} si es reflexiva.
Problema: Si una relación binaria R sobre un conjunto finito es dada a conocer mediante su representación
gráfica, ¿Qué criterio debe utilizarse para determinar si R es reflexiva? ¿Qué debe ocurrir para que no sea
reflexiva?
En caso que R es dada mediante su representación matricial, ¿Qué debe ocurrir para asegurarnos que R si
es reflexiva?; ¿Qué debe ocurrir para asegurarnos que R no es reflexiva?
Ejemplo 2.5. Sobre el conjunto A = {m, n, p, q} la relación R3 = {(m, n), (n, p), (n, q), (p, q), (q, n),
(q, m)} no es antisimétrica porque aparecen los pares (n, q) y (q, n); eso significa que nR3 q y q R3 n,
pero q ̸= n.
Por el contrario, R4 = {(m, m), (m, n), (n, q), (p, q), (p, p)} si es antisimétrica.
Problema: Cuando R es dada mediante representación gráfica o representación matricial, ¿cómo descubrir
si R es o no es antisimétrica?
3. Diremos que la relación R es transitiva ⇐⇒ la condición [xRy ∧ yRz −→ xRz] es verdadera para
todas las maneras de asignarle valores a las variables x, y, z, utilizando los elementos de A.
(O sea, cuando es verdadera la proposición ∀x, y, z ∈ A, xRy ∧ y Rz −→ xRz)
R no es transitiva cuando ∃x, y, z ∈ A, xRy ∧ y Rz pero xR ⧸z
Ejemplo 2.6. La relación R3 = {(m, n), (n, p), (n, q), (p, q), (q, n), (q, m)} no es transitiva pues allı́
aparecen (m, n) y (n, p) pero falta (m, p); o sea, mR3 n y nR3 p pero mR ⧸3 p. Si es transitiva R4 =
{(m, m), (m, n), (n, p), (p, q), (m, q), (n, q)}
Problema: Cuando R es dada mediante representación gráfica o representación matricial, ¿cómo descubrir
si R es o no es transitiva?
Ejemplo 2.7. La relación R5 = {(a, a), (a, b), (b, a), (b, b), (a, c), (c, c)} sobre el conjunto A = {a, b, c} no
es conexa porque no contiene el par (b, c) ni el par (c, b): esto significa que bR ⧸5 c y cR⧸5 b. Si es conexa
R6 = {(a, b), (a, c), (c, b), (c, c)}.
Problema: Cuando R es dada mediante representación gráfica o representación matricial ¿cómo determinar si R
es o no es conexa?
2.1. RELACIÓN BINARIA. REPRESENTACIONES. PROPIEDADES 39
Definición 2.2. Dado un conjunto no vacı́o A, llamaremos Orden Parcial sobre A a cualquier relación R
sobre A que tenga las propiedades de reflexividad, antisimétrica y transitividad. Cuando también es conexa,
se le da el nombre de orden total. Conjunto Parcialmente Ordenado (CPO) es una estructura o sistema
algebraico [A, R ] formado por un conjunto no vacı́o A y un orden parcial R sobre A. Cuando el orden es
total, se denomina Conjunto Totalmente Ordenado (CTO).
Ejemplo 2.8.
e c r
b q
d
a p
CP O CT O CP O N O CP O
−1
Teorema 2.1. Supongamos que [A, R ] es un CPO, que B es un subconjunto no vacı́o de A y que R es
−1
la relación inversa de R y RB es la restricción de R al subconjunto B. Entonces es verdad que [A, R ] y
[B, RB ] son CPO.
La conclusión es verdadera si ponemos CTO en lugar de CPO.
Ejemplo 2.9.
1. Tomemos A = {a, b, c, d, e} y B = {a, b, d} El teorema establece que: al invertir o recortar (“restringir”)
e d e d d
R R
−1
RB
b b b
c c
a a a
reflexiva
reflexiva
reflexiva
R R RB
−1
es antisimétrica es antisimétrica es antisimétrica
transitiva transitiva transitiva
e e
R d R −1 d RB d
c c
b b b
a a a
a b comp
c, b comp
e
d comp
a, d comp b
d comp a, d comp b
Ahora la
d comp
c, d comp
e, etc
relación es ≤
2.
d
a comp b, a comp c a ≺ b; a ⊀ c porque a ≤ b ≤ c
c a comp d, a comp e b ≺ c, b ⊀ d porque b ≤ c ≤ d
b comp a, b comp c c ≺ d, c ⊀ e porque c ≤ d ≤ e
b
b comp d, b comp e, etc d⊀e
a
2.1. RELACIÓN BINARIA. REPRESENTACIONES. PROPIEDADES 41
Nota: La relación predecesor inmediato, en caso que el conjunto sea finito, es representada gráficamente me-
diante un grafo (no dirigido) en el cual se conviene en pre-establecer el sentido de crecimiento (para sustituir
los “arcos” del digrafo correspondiente a la relación ≤). Usualmente, el sentido de “de abajo hacia arriba”
corresponde al ordenamiento “de menor a mayor”.
e d mayor e
cre
d
ci
c b c
mien
b
to
a menor a
Esta representación gráfica de la relación ≺ se denomina DIAGRAMA DE HASSE DEL CPO (se entiende
que es el del CPO que da origen a la relación ≺ representada gráficamente): es importante entender que este
DIAGRAMA DE HASSE es una representación simplificada del orden parcial, simplificación que elimina los
lazos de reflexividad y los arcos que completan la transitividad (ambas propiedades deben quedar sobreen-
tendidas)
La construcción del DIAGRAMA DE HASSE a partir del Diagrama Sagital puede ser complicada, sobre todo
en CPO con muchos elementos. Afortunadamente, se tiene un algoritmo que permite evitar las imprecisiones
“visuales” y los enredos debidos a la cantidad de elementos.
Paso 1: Calcular M≤
Paso 2: Calcular Mα = M≤ − Ik
Paso 4: M≺ = Mα − (Mα )2
Ejemplo 2.11. Sobre el conjunto N = {1, 2, 3, . . . } de los números enteros positivos se define la relación de
divisibilidad mediante la regla siguiente: para m, n ∈ N
“m divide a n” (m|n) ⇐⇒ ∃k ∈ N / n = k · m
Esta relación es un orden parcial sobre N, y el Teorema 2.1 nos permite asegurar que también es un orden
parcial sobre cualquier subconjunto no vacı́o de N. Ası́ resulta que [{1, 2, 4, 5, 10, 20, 25}, | ] es un CPO. Veamos
42 CAPÍTULO 2. RETICULADOS
P aso 1 P aso 2
1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
0 1 1 0 1 1 0 2 0 0 1 0 1 1 0
0 0 1 0 0 1 0 4 0 0 0 0 0 1 0
M1 =
0 0 0 1 1 1 1
5 Mα =
0 0 0 0 1 1 1
0 0 0 0 1 1 0 10 0 0 0 0 0 1 0
0 0 0 0 0 1 0 20 0 0 0 0 0 0 0
0 0 0 0 0 0 1 25 0 0 0 0 0 0 0
P aso 3 P aso 4
0 0 1 0 1 1 1 0 1 0 1 0 0 0 1
0 0 0 0 0 1 0 0 0 1 0 1 0 0 2
0 0 0 0 0 0 0 0 0 0 0 0 1 0 4
(Mα ) =
2
0 0 0 0 0 1 0
M≺ =
0 0 0 0 1 0 1
5
0 0 0 0 0 0 0 0 0 0 0 0 1 0 10
0 0 0 0 0 0 0 0 0 0 0 0 0 0 20
0 0 0 0 0 0 0 0 0 0 0 0 0 0 25
Ahora, veamos las instrucciones que se deben seguir para procesar la información numérica que contiene
M≺ , a fin de construir el diagrama de Hasse del CPO.
1a instrucción: Seleccionar elementos con filas nulas en M≺ . Estos elementos ocuparan el nivel más alto en
el diagrama.
2a instrucción: A cada elemento seleccionado en el paso anterior, revisarle la columna: los elementos corres-
pondiente a 1, en dicha columna, son los predecesores inmediatos del elemento que genera la
columna.
3a instrucción: Repetir la instrucción 2a , ahora con los elementos seleccionados en el paso anterior, con el
objeto de encontrar los predecesores inmediatos de los elementos seleccionados en ese paso
anterior.
Continuar la busqueda de predecesores inmediatos hasta agotar los elementos.
El diagrama de Hasse del CPO dado en el ejemplo anterior, serı́a:
20
25
4 10
2 5
En alguna ocasión, al recibir un CPO dado a conocer por su Diagrama de Hasse, puede presentarse la
necesidad de conocer el diagrama sagital del CPO. Para eso trabajo tenemos un algoritmo que también se
desarrolla con cálculos matriciales.
Paso 2: Calcular Mβ = M≺ + Ik
Paso 3: Calcular las potencias (Mβ )2 , (Mβ )3 , . . . hasta que dos consecutivas sean iguales.
Paso 4: M≤ es la potencia (Mβ )r que se repite.
Problemario 2.1.
(d) (e) (f )
a) cii = 1, ∀i = 1, 2, . . . , n
b) Si i ̸= j y cij = 1 entonces cji = 0 (i, j ∈ {1, 2, . . . , n})
c) Si la componente ij de (M≤ )2 es 1, entonces también cij es igual a 1
8. Suponga que M es una matriz binaria cuadrada (n × n) que hace verdadera las tres condiciones del
problema anterior. Demostrar que si X = {x1 , x2 , . . . , xn } es un conjunto con n-elementos, entonces
en X se puede construir una relación R que sea un orden parcial y que tenga representación matricial
MR = M .
9. Utilizar el problema anterior para determinar cuáles de las matrices siguientes corresponde a órdenes
parciales. En los casos afirmativos, encontrar el diagrama de Hasse respectivo.
1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 1 0 0
1 1 1 1 1 0 1 1 0 1 0 1 1 1 0 0 1 0 1 1
a) 0 0 1 1 0 b) 0 0 1 0 1 c) 0 1 1 0 1 d)
0 1 1 0 1
0 0 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 1 0
0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 1
10. Si [A1 , ≤1 ] y [A2 , ≤2 ] son dos CPO, una función h : A1 → A2 que cumpla la condición
x ≤1 z en A1 =⇒ h(x1 ) ≤2 h(x2 ) en A2 es llamada homomorfismo de orden (cuando h cumple esa
condición, se dice que h preserva el orden). Se llama monomorfismo de orden cuando es inyectiva,
epimorfismo de orden cuando es sobreyectiva.
Considerando los CPO del problema 2.1.6, exhibir ejemplos de homomorfismo de orden entre ellos.
Cuando sea posible, exhibir monomorfismos y epimorfismos.
11. Si [A1 , ≤1 ] y [A2 , ≤2 ] son CPO, entonces llamamos isomorfismo de orden (entre A1 y A2 ) a cualquier
apliacación h : A1 −→ A2 que cumpla las siguientes condiciones:
1) h es biyectiva 2) h preserva el orden c) h preserva elementos no comparables
(ésto es, x comp z en A1 =⇒ h(x) comp h(z) en A2 ). Cuando existe un isomorfismo de orden entre
un CPO [A1 , ≤1 ] y un CPO [A2 , ≤2 ], se dice que los CPO son isomorfos.
Nota 1: El conjunto formado por todas las cotas superiores de B es denotado por cs(B), es decir, cs(B) =
{s ∈ A/ s es cota superior de B}
Nota 2: Se definen cota inferior de B, elemento minimal de B y elemento mı́nimo de B en forma similar, sólo
hay que colocar s ≤ x en lugar de x ≤ s ( y p ≤ x en lugar de x ≤ p, m ≤ x en lugar de x ≤ m).
Ejemplo 2.12. El diagrama muestra un CPO, en el cual seleccionamos B = {c, d, e, i, h}, al cual le vamos
a buscar todas las cotas superiores, todos los elementos maximales, todos los elementos máximos.
p n
k l m
j i h g
d e f
c b
a
◦
1 En el diagrama vemos que c ≤ d, d ≤ j (por transitividad, c ≤ j), pero j comp
⧸ i, j comp
⧸ h. Por lo
tanto, j no es cota superior de B. cs(B) = {l, n, p}
3◦ No hay un elemento z ∈ B que cumpla x ≤ z para todo x ∈ B; en consecuencia, no hay elemento má-
ximo de B
Observación 2.1.
1. Cuando el subconjunto B tiene cotas superiores, al menos una, se dice que el subconjunto B es acotado su-
periormente (acotado inferiormente cuando tiene cotas inferiores).
2. Se dice que el conjunto B es acotado cuando tiene los dos tipos de cotas.
4. Cuando el CPO tiene un elemento máximo (único por supuesto), se le da el nombre de COTA SUPE-
RIOR UNIVERSAL y se le denota por I; similarmente, cuando el CPO tiene un elemento mı́nimo, a
este elemento se le llama COTA INFERIOR UNIVERSAL y se le denota por ⊘ (se dice que el CPO
es acotado cuando tiene las dos cotas universales, ⊘, I).
Ejemplo 2.13.
46 CAPÍTULO 2. RETICULADOS
j k
h g j h
d e f d g
c b e f
a c b a
I = j, ⊘ = a I=k
1. El CPO del ejemplo anterior no es acotado porque, aunque si tiene cota inferior universal ⊘ = a, no
tiene cota superior universal.
2. En los dos diagramas anexos encontramos un CPO acotado y otro que sólo tiene cota superior universal.
Teorema 2.2 (Principio de la Dualidad). Dado un CPO X = [A, ≤], consideremos su CPO dual Y = [A, (≤
−1
) ]. Si B es un subconjunto no vacı́o de A, entonces es verdad que:
cota superior
cota inferior
un elemento w ∈ A es elemento maximal de B en X ⇐⇒ w es elemento minimal de B en Y
elemento máximo elemento mı́nimo
.
Comentario: Este teorema establece que invertir el orden parcial en el CPO produce, en los elementos notables
superiores, el efecto de convertirlos en elementos notables inferiores (y viceversa). Esa inversión del orden
significa que a ≤ b en X =⇒ b(≤)−1 a en Y .
Ejemplo 2.14. En los dos diagramas anexos vemos el efecto de invertir el orden.
j k d e
h g f h g f
d e j k
c a b l=⊘
no hay cota inferior universal no hay cota superior universal
(1) z es una cota superior minimal (csm) de B ⇐⇒ z es un elemento minimal entre las
cotas superiores del subconjunto B
(2) z es una cota inferior maximal (cim) de B ⇐⇒ z es un elemento maximal entre las
cotas inferiores del subconjunto B
2.2. ELEMENTOS NOTABLES. COTAS UNIVERSALES. SUPREMO. INFIMO 47
Usualmente, csm(B) es el conjunto formado por todas las cotas superiores minimales de B y cim(B) es
el conjunto formado por todas las cotas inferiores maximales de B.
Ejemplo 2.15. En el CPO que se muestra en la figura anexa,
p n
k l m
j i h g
d e f
c b
l m
k h g
d e f
c b
Resulta que:
Si C = {b, c, e, h, m, l}, entonces
cs(C) = ∅ y csm(C) = ∅
ci(C) = {a} y cim(C) = {a}
Si C ′ = {b, e, f }, entonces
cs(C ′ ) = {h, g, m, l} y csm(C ′ ) = {h, g}
ci(C ′ ) = {a, b} y cim(C ′ ) = {b}
48 CAPÍTULO 2. RETICULADOS
Observación 2.2. En los dos ejemplos anteriores encontramos casos variados. El conjunto csm(B) puede
resultar vacı́o (0 elementos), unitario (1 elemento) o con más de un elemento. Con cim(B) se presentan los
mismos casos.
Cuando csm(B) es un conjunto unitario, al único elemento que lo forma lo llamaremos SUPREMO de B y
lo denotaremos por sup(B); similarmente, cuando cim(B) es unitario, al único elemento que cim(B) contiene
lo llamaremos INFIMO de B y lo denotaremos por ı́nf(B).
En el Ejemplo 2.15 vimos que existe supremo de B = {c, d, e, h, i} y también el ı́nfimo de B. Dicho valores
son: sup(B) = l,ı́nf(B) = c. También el conjunto B ′ = {e, h, i, l} tiene supremo e ı́nfimo, a saber: sup(B ′ ) =
l,ı́nf(B ′ ) = e.
En el Ejemplo 2.16, vemos que el conjunto C = {b, c, e, h, l, m} no tiene supremo porque csm(C) = ∅, pero si
tiene ı́nfimo: ı́nf(C) = a. Tampoco C ′ tiene supremo porque el conjunto csm(C ′ ) tiene más de un elemento,
pero C ′ si tiene ı́nfimo, a saber ı́nf(C ′ ) = b.
Es importante notar que si un subconjunto B de un CPO [A, ≤] tiene supremo, entonces ese elemento supremo
es cota superior de B y es único elemento minimal de las cotas superiores. Es decir, si sup(B) = z entonces
z satisface
(1◦ ) b ≤ z, ∀b ∈ B y (2◦ ) ∀z ′ ∈ cs(B) : z ≤ z ′
Similarmente, si w es el ı́nfimo de B, entonces w cumple las condiciones siguientes:
Resumen:
z = sup(B) ⇐⇒ [∀b ∈ B : b ≤ z] y [∀z ′ ∈ cs(B) : z ≤ z ′ ]
w = ı́nf(B) ⇐⇒ [∀b ∈ B : w ≤ b] y [∀w′ ∈ cs(B) : w′ ≤ w]
Comentario: no nos interesamos en encontrar supremo e ı́nfimo de todos los subconjuntos de los CPO, sólo
nos ocuparemos de subconjuntos de la forma {x, y} con x = y o con x ̸= y. A tal efecto, el resultado siguiente
facilitará el trabajo.
Teorema 2.3 (Principio de Consistencia). En un CPO [A, ≤], tomemos elementos a, b. Entonces es verdad
que:
a ≤ b ⇐⇒ sup({a, b}) = b ⇐⇒ ı́nf({a, b}) = a
Usualmente al trabajar con parejas {a, b}, escribiremos a ∨ b en lugar de sup({a, b}) y a ∧ b en lugar de
ı́nf({a, b})
Ejemplo 2.17. Este principio de consistencia establece que al tomar una pareja de elementos comparables,
el menor de ellos es el ı́nfimo (entre los dos) y el más grande es el supremo (entre los dos). Respecto al
diagrama anexo,
g f
c d e
b a
Tenemos que:
⊘ ≤ b =⇒ ⊘ ∧ b = ⊘, ⊘ ∨ b = b ⊘ ≤ a =⇒ ⊘ ∧ a = ⊘, ⊘ ∨ a = a
b ≤ c =⇒ b ∧ c = c, b ∨ c = b b ≤ g =⇒ b ∧ g = b, b ∨ g = g
a ≤ d =⇒ a ∧ d = a, a ∨ d = d d ≤ f =⇒ d ∧ f = d, d ∨ f = f
2.2. ELEMENTOS NOTABLES. COTAS UNIVERSALES. SUPREMO. INFIMO 49
para {c, e}, cs({c, e}) = ∅ (no hay supremo) y ci({c, e}) = {⊘}, ∴ ⊘=c∨e
para {c, a}, cs({c, a}) = {g} y ci({c, a}) = {⊘}, ∴ c∨a=g y c∧a=⊘
para {b, e}, cs({c, e}) = {f } y ci({b, e}) = {⊘}, ∴ b∨e=f y b∧e=⊘
Ejemplo 2.18. Una manera de organizar el trabajo de buscar supremo e ı́nfimo a cada una de las parejas de
elementos del CPO es la de construir una tabla para supremo y otra para ı́nfimo, como vemos a continuación
(respecto al CPO del diagrama anexo).
j k
f g h
e d c
a b
sup ⊘ a b c d e f g h j k I ı́nf ⊘ a b c d e f g h j k I
⊘ ⊘ a b c d e f g h j k I ⊘ ⊘ ⊘ ⊘ ⊘ ⊘ ⊘ ⊘ ⊘ ⊘ ⊘ ⊘ ⊘
a a a d ∗ d e f g h j k I a ⊘ a ⊘ ⊘ a a a a a a a a
b b d b c d ∗ f g h j k I b ⊘ ⊘ b b b ⊘ b b b b b b
c c ∗ c c ∗ g j g h j k I c ⊘ ⊘ b c b ⊘ b c c c c c
d d d d ∗ d ∗ f g h j k I d ⊘ a b b d a d d d d d d
e e e ∗ g ∗ e f g k j k I e ⊘ a ⊘ ⊘ a e e e a e e e
f f f f j f f f j I j I I f ⊘ a b b d e f ∗ d f ∗ f
g g g g g g g j g k j k I g ⊘ a b c d e ∗ g ∗ g g g
h h h h h h k I k h I k I h ⊘ a b c d a d ∗ h ∗ h h
j j j j j j j j j I j I I j ⊘ a b c d e f g ∗ j g j
k k k k k k k I k k I k I k ⊘ a b c d e ∗ g h g k k
I I I I I I I I I I I I I I ⊘ a b c d e f g h j k I
[∗ significa que “que no hay” o no existe]
Observemos que algunas parejas no tienen supremo (o ı́nfimo). Encontraremos casos en los que cada pareja
tiene supremo e ı́nfimo.
Definición 2.6. Reticulado es un CPO [A, ≤] en el cual cada pareja {x, y} tiene supremo e ı́nfimo.
50 CAPÍTULO 2. RETICULADOS
Ejemplo 2.19.
1. En los Ejemplos 2.15, 2.16, 2.17, 2.18 vimos varios CPO que no son reticulados.
Observación 2.3. Si tomamos uno de estos reticulados y construimos las tablas de supremo e ı́nfimo, como
hicimos en el Ejemplo 2.18, encontramos que cada pareja {x, y} tiene dos valores en correspondencia, a saber:
Este detalle nos hace entender que en un reticulado, supremo (∨) e ı́nfimo (∧) son dos operaciones binarias.
Teorema 2.4 (Propiedades de las Operaciones Binarias ∨, ∧). Si [A, ≤] es un reticulado, entonces es verdad
que:
1. a ∨ a = a, a ∧ a = a ∀a ∈ A (propiedad de idempotencia)
Demostración.
2. De la igualdad {a, b} = {b, a} resulta que cs({a, b}) = cs({b, a}) y csm({a, b}) = csm({b, a}). Pero
csm({a, b}) = {a ∨ b} y csm({b, a}) = {b ∨ a} porque [A, ≤] es un reticulado (esto es, que cada pareja
tiene supremo, el cual es única cota superior minimal).
Ası́ concluimos que {a ∨ b} = csm({a, b}) = csm({b, a}) = {b ∨ a}, en consecuencia a ∨ b = b ∨ a.
(Similar para ∧).
Observación 2.4. Ahora podemos resaltar el hecho siguiente: si comenzamos con un reticulado [A, ≤], éste
es un CPO en el que cada pareja de elementos tiene supremo e ı́nfimo. Esto da origen a una nueva estructura
[A, ∨, ∧] construida por: un conjunto no vacı́o A, dos operaciones binarias ∨, ∧ sobre el conjunto A, y estas
dos operaciones tienen 4−propiedades enunciadas en el Teorema 2.4.
En el teorema que veremos a continuación quedará establecido que este proceso es reversible, de manera que el
orden parcial y supremo e ı́nfimo se pueden “recuperar” al encontrar esa estructura descrita en el comentario
previo.
Teorema 2.5. Supongase que [X, ∗1 , ∗2 ] es una estructura constituida por un conjunto no vacı́o X y dos
operaciones binarias sobre X : ∗1 , ∗2 . Si estas dos operaciones tienen las 4−propiedades enunciadas en el
Teorema 2.4, entonces a partir de ∗1 , y ∗2 se pueden construir un orden parcial ≤ sobre X, de manera que
[X, ≤] es un reticulado y ∀p, q ∈ X se cumple que p ∨ q = p ∗1 q, p ∧ q = p ∗2 q.
Demostración. Comenzamos por crear la relación ≤ sobre X. Definimos a ≤ b ⇔ a ∗1 b = b, para cualquiera
a, b ∈ X. Entonces resulta que:
1. ∗1 es idempotente⇒ a ∗1 a = a, ∀a ∈ X ⇒ a ≤ a ∀a ∈ X ⇒ ≤ es relefiva.
2. Para a, b ∈ X,
a ≤ b y b ≤ a ⇒ a ∗1 b = b y b ∗1 a = a ⇒ b = a ∗1 b = b ∗1 a = a ⇒ a = b
a ≤ b y b ≤ c ⇒ a ∗1 b = b y b ∗1 c = c ⇒ a ∗1 c = a ∗1 (b ∗1 c) = (a ∗1 b) ∗1 c = b ∗1 c = c ⇒ a ≤ c
a ∗1 m = a ∗1 (a ∗1 b) = (a ∗1 a) ∗1 b = a ∗1 b = m (propiedades de ∗1 )
y b ∗1 m = b ∗1 (a ∗1 b) = (a ∗1 b) ∗1 b = a ∗1 (b ∗1 b) = a ∗1 b = m (propiedades de ∗1 )
52 CAPÍTULO 2. RETICULADOS
sup({a, b}) = m = a ∗1 b
De manera similar tenemos que existe n ∈ X tal que n = a ∗2 b: entonces resulta que
Es decir, n ∈ ci({a, b}). Además, para cualquier q ∈ ci({a, b}) ocurre que
{
q ∗2 a = q ∗2 (q ∗1 a) = q
q ≤ a, q ≤ b ⇒ q ∗1 a = a, q ∗1 b = b ⇒
q ∗2 b = q ∗2 (q ∗1 b) = q
De ahı́ que n ∗2 q = (a ∗2 b) ∗2 q = a ∗2 (b ∗2 q) = a ∗2 q = q,
∴ n ∗1 q = n ∗1 (n ∗2 q) = n (por absorción), ası́ que q ≤ n.
De esta manera hemos comprobado que:
1. a ∗2 b = n ∈ ci({a, b})
2. ∀q ∈ ci({a, b}) : q ≤ n
Esto nos permite concluir que a ∗2 b = n = ı́nf(a, b)
De este Teorema 2.5 podemos “extraer” un COROLARIO que hace el papel de una segunda definición
de RETICULADO, como vemos a continuación.
Corolario 2.1. Si ∗1 y ∗2 son operaciones binarias sobre un conjunto no vacı́o X y cada una de ellas dos
tiene las cuatro propiedades idempotencia, conmutatividad, asociatividad y absorción, entonces [X, ∗1 , ∗2 ] es
un reticulado.
Ejemplo 2.20.
(a) Si S es cualquier conjunto (puede ser vacı́o, o un conjunto finito, o un conjunto infinito), entonces
P(S) = {Y ⧸ Y es subconjunto de S} es una colección no vacı́a; además de teorı́a de conjuntos sa-
bemos que ∪, ∩ son operaciones sobre P(S) (porque al tomar Y, Z ∈ P(S) se “pueden calcular”
Y ∪ Z, Y ∩ Z y ambos resultados permanecen como elementos de P(S)). También se sabe que
Problemario 2.2.
(a1 , a2 , . . . , an )σ(b1 , b2 , . . . , bn ) ⇐⇒ a1 ≤1 b, a2 ≤2 b2 , . . . , an ≤n bn
3. Suponer que [A, α] es un reticulado. Demostrar que [A, α−1 ] también es un reticulado.
4. ¿Puede ser reticulado un CPO finito que no tiene alguna de las cotas universales?
5. En el CPO [{1, 3, 5, 7, 21, 35, 63, 147}, ⧹], encontrar (si acaso existen): cotas superiores, cotas infe-
riores, elementos maximales, elementos minimales, máximo, mı́nimo, a cada uno de los siguientes
conjuntos: A1 = {7, 21, 147}, A2 = {5, 7, 35, 63}, A3 = {3, 5, 35, 63}.
6. Si [A, ≤] es un CPO y A1 ⊆ A es no vacı́o y finito, entonces demostrar que A1 posee elementos
maximales y minimales.
7. En cada uno de los ejemplos de esta sección, encontrar csm({a, b}) y cim({a, b}) a cada pareja {a, b}.
En caso que existan a ∨ b, a ∧ b, exhibir dichos valores.
8. Demostrar que si [A, ≤] es un CTO entonces [A, ≤] es un reticulado.
9. Sean [A1 , ≤1 ] y [A2 , ≤2 ] dos CPO y h : A1 → A2 un isomorfismo de orden. Si B1 es un subconjunto no
vacı́o de A1 y B2 = h(B1 ), entonces demostrar que:
(a) x ∈ cs(B1 ) =⇒ h(x) ∈ cs(B2 ) (b) y ∈ csm(B1 ) =⇒ h(y) ∈ csm(B2 )
(c) z = sup B1 =⇒ h(z) = sup B2 (d) B1 es reticulado =⇒ B2 es reticulado
10. Determine cuáles de los sistemas siguientes son reticulados.
(a) [N, +, ·]
(b) [R, +, ·]
(c) [N, máx, mı́n]
(d) [D40 , mcm, mcd]
(e) [D165 , mcm, mcd]
54 CAPÍTULO 2. RETICULADOS
Ejemplo 2.21. En las figuras anexas encontramos los diagramas (de Hasse) de los reticulados L1 =
[P({1, 2}), ∪, ∩] y L2 = [{1, 2, 3, 6}, mcm, mcd ].
{1, 2} 6
L1 L2
{1} {2} 2 3
∅ 1
g g g g
L L1 L2 D
e f e f e f f
c c c
d b d b b
a a a
r∨t=s∈
/ B1 r∧t=m∈
/ B1
n∨q =p∈
/ B1 n∧q =m∈
/ B1
56 CAPÍTULO 2. RETICULADOS
r t
q n
Ası́ que las operaciones ∨, ∧ no son cerradas en B1 . Debido a eso, B1 no sirve para construir un subreticulado
de L. Por el contrario, al tomar el subconjunto B2 = {m, n, p, q} y el subconjunto B3 = {q, p, r, s} se puede
comprobar que las operaciones ∨, ∧ de L son cerradas en ambos subconjuntos. En consecuencia, con B2 y
B3 si se obtienen subreticulados de L
Ejemplo 2.24. Ya vimos que si S es cualquier conjunto, entonces [P(S), ∪, ∩] es un reticulado (Ejemplo
2.20). De teorı́a de conjuntos sabemos que las igualdades Z ∪ (W ∩ T ) = (Z ∪ W ) ∩ (Z ∪ T ) y Z ∩ (W ∪ T ) =
(Z ∩ W ) ∪ (Z ∩ T ) son verdaderas para cualquier Z, W, T ∈ P(S)
d c b
¿Cuántas asignaciones de valores podemos hacer, para las 3-variables x, y, z, con estos 5 elementos?
x y z
a a
b
b c
d
a c e
Asignar valores a x (5-valores posibles). Con x fijo (un único valor), asignarle a y (5 alternativas). Con x, y
fijos, asignarle valor a z (5 alternativas). Total: 53 = 125.
En cada una de las 125 asignaciones posibles, debemos calcular J = x ∨ (y ∧ z), K = (x ∨ y) ∧ (x ∨ z), H =
2.3. ISOMORFISMOS. SUBRETICULADOS. RETICULADOS DISTRIBUTIVOS. COMPLEMENTOS57
F1 F2
Comentario: para aplicar el criterio, debemos “hacer una lista” de todos los subreticulados de L y dibujar
el diagrama de cada uno de ellos. Si el diagrama de alguno de los subreticulados es F1 o F2 , entonces
concluimos que L NO ES DISTRIBUTIVO. Para poder conluir que L si es distributivo, debe ocurrir que
ninguno de los subreticulados tenga a F1 ni a F2 como diagrama (de Hasse).
Ejemplo 2.26. En el diagrama anexo no es difı́cil ver que el subconjunto B = {a, d, e, g, b} “parece” propor-
cionarnos la figura F2 . Al hacer la comprobación, se podrá concluir que las operaciones ∨, ∧ del reticulado
son cerradas sobre el conjunto B. Esto significa que L1 si tiene un subreticulado isomorfo a F2 : en conse-
cuencia, L1 no es distributivo.
Por el contrario L2 y L3 si son distributivos (¿por qué?)
g
L1 L2 L3
e f
c
d b
a
(b) Diremos que el reticulado es complementado ⇐⇒ todo elemento p de L poose, al menos, un comple-
mento
I I I
L1 L2 L3 w
b a m n t r s
u
⊘ ⊘ ⊘
58 CAPÍTULO 2. RETICULADOS
Teorema 2.9. Supongamos que L = [A, ∨, ∧] es un reticulado acotado y distributivo. Entonces se cumple
que ningún elemento de L puede tener más de un complemento.
Demostración. Por reducción al absurdo, supongamos que existe un elemento p en L, tal que p tiene dos
complementos r, s con r ̸= s. Entonces
r es complemento de p =⇒ p ∧ r = ⊘, p ∨ r = I
s es complemento de p =⇒ p ∧ s = ⊘, p ∨ s = I
Además
r = r ∧ I (porque r ≤ I) s = s ∧ I (porque s ≤ I)
= r ∧ (p ∨ s) (porque p ∨ s = I) = s ∧ (p ∨ r) (porque p ∨ r = I)
= (r ∧ p) ∨ (r ∧ s) (por distributividad) = (s ∧ p) ∨ (s ∧ r) (por distributividad)
= ⊘ ∨ (r ∧ s) (por p ∧ r = ⊘ y conmut.) = ⊘ ∨ (s ∧ r) (por p ∧ s = ⊘ y conmut.)
= r ∧ s (porque ⊘ ≤ (r ∧ s)) = s ∧ r (porque ⊘ ≤ (s ∧ r))
Ejemplo 2.29. El Teorema 2.9 también nos proporciona un criterio (indirecto) para determinar si un reti-
culado es no distributivo: al encontrar un elemento que tiene más de un complemento, podemos asegurar que
el reticulado es no distributivo.
En el reticulado L del diagrama anexo (L),
L j h g
d e f
c b a
}
(2) a ∨ b tiene complemento, el cual es a ∧ b (o sea, a ∨ b = a ∧ b)
[Propiedad de DUALIZACIÓN]
(3) a ∧ b tiene complemento, el cual es a ∨ b (o sea, a ∧ b = a ∨ b)
Demostración.
(a ∨ b) ∧ (a ∧ b) = (a ∧ b) ∧ (a ∨ b) (conmutatividad de ∨)
= [(a ∧ b) ∧ a] ∨ [(a ∧ b) ∧ b] (distributividad)
= [(a ∧ a) ∧ b] ∨ [a ∧ (b ∧ b)] (conmutatividad de ∧)
= [⊘ ∧ b] ∨ [a ∧ ⊘] (asociatividad de ∧)
=⊘∨⊘ (⊘ es cota inferior universal, princ. consistencia)
=⊘ (idempotencia de ∨)
Segundo:
(3) Ejercicio
Problemario 2.3.
3. Determinar cuáles de los subconjuntos siguientes definen subreticulados del reticulado que se exhibe en
la figura anexa I
(a) S1 = {l, n, p, q, r, I} r q
n p
(b) S2 = {⊘, a, c, j, b, e, g, l, p, k} m l k
f g h j
(c) S3 = {a, c, d, g, j, l, k, p}
e d c
(d) S4 = {b, e, f, d, g, m} b a
⊘
4. En cada uno de los reticulados siguientes, elaborar una lista de los elementos que tienen complemen-
tos. A cada uno de estos elementos, encontrarle todos los complementos. Determinar cuáles de estos
reticulados son complementados. En caso que sea posible, determinar cuáles de estos reticulados son
distributivos.
r, a ∨ c ∨ d = r ∨ d = s, (a ∨ c ∨ d) ∧ b = s ∧ b = t y [(a ∨ b) ∧ c] ∨ [(a ∨ c ∨ d) ∧ b] = q ∨ t = w.
Al finalizar los cálculos, encontramos que la expresión dada también representa un elemento w del reticulado
L. Esto abre la posibilidad de representar cualquier elemento de L mediante expresiones que contienen
ciertos “elementos básico” de L.
Un procedimiento que permite producir representaciones, utilizando sólo una operación, es el que se describe
a continuación:
x = p1 ∨ p2 ∨ . . . ∨ pk
en la cual cada uno de los elementos p1 , p2 , . . . , pk tiene menos de dos predecesores inmediatos.
Definición 2.11. En un reticulado L = [A, ∨, ∧], tomemos un elemento p. Diremos que p es ∨-irreducible
sii en L no existen elementos w1 , w2 tales que w1 ̸= w2 , p = w1 ∨ p2 , w1 ̸= p, w2 ̸= p
Ejemplo 2.30.
j h g
d e f
c b a
tienen menos de dos predecesores inmediatos). Los elementos a, b, c que tienen a ⊘ como predecesor
inmediato, son llamados los ÁTOMOS del reticulado L.
(b) En cualquier reticulado acotado, son ∨-irreducibles los átomos y la cota inferior universal ⊘ (porque
tienen menos de dos predecesores inmediatos).
(c) En el reticulado del Ejemplo 2.30(a), desarrollemos el procedimiento descrito antes de la Definición
2.11.
I = j ∨h = (d∨e)∨h = d∨e∨h = d∨c∨b∨h (en esta última expresión, cada elemento es ∨-irreducible)
I = j∨g = d∨e∨e∨f = d∨e∨f = d∨c∨a∨f (en esta última expresión, cada elemento es ∨-irreducible)
Con la definición y el teorema siguiente se establecen las condiciones “buenas” para que el procedimiento ya
mencionado tenga final (siempre).
62 CAPÍTULO 2. RETICULADOS
Definición 2.12. Un reticulado L tiene longitud finita sii cualquier subconjunto totalmente ordenado (ca-
dena) de L es finito.
Teorema 2.11. Si L = [A, ∨, ∧] es un reticulado que tiene longitud finita, entonces cada elemento x de L
admite al menos una representación de la forma x = p1 ∨ p2 ∨ · · · ∨ pk en la cual cada pi (i = 1, 2, . . . , k) es
∨-irreducible.
Ejemplo 2.31. El reticulado L, cuyo diagrama mostramos en el Ejemplo 2.30(a), tiene longitud finita.
En el Ejemplo 2.30(c) ya encontramos dos representaciones del tipo mencionado en el Teorema 2.11, ambas
representaciones correspondiente al elemento I. Para los demás elementos también hay representaciones de
dicho tipo, como las siguientes:
j = d ∨ e = d ∨ c ∨ b, j = d ∨ e = d ∨ c ∨ a, j = d ∨ e = d ∨ b ∨ a
g = e ∨ f = c ∨ b ∨ f, g = e ∨ f = c ∨ a ∨ f, g = e ∨ f = b ∨ a ∨ f
e = c ∨ b, e = c ∨ a, e = b ∨ a, d = d ∨ ⊘, a = a ∨ a, a = a ∨ ⊘
Las expresiones que no se pueden “simplificar” o “reducir de tamaño” son más importantes y reciben deno-
minación especial.
Definición 2.13. En un reticulado L = [A, ∨, ∧] tomemos elementos p1 , p2 , . . . , pk y q1 , q2 , . . . , qr . Diremos
que:
(a) la expresión p1 ∨p2 ∨· · ·∨pk es una subexpresión de q1 ∨q2 ∨· · ·∨qr sii {p1 , p2 , . . . , pk } ⊆ {q1 , q2 , . . . , qr }
(b) la expresión q1 ∨ q2 ∨ · · · ∨ qr es ∨-irreduntante sii cada qj (j = 1, 2, . . . , r) es ∨-irreducible y ninguna
subexpresión p1 ∨p2 ∨· · ·∨pk de q1 ∨q2 ∨· · ·∨qr hace verdadera la igualdad q1 ∨q2 ∨· · ·∨qr = p1 ∨p2 ∨· · ·∨pk
Ejemplo 2.32. En el ejemplo anterior vimos que I = d ∨ c ∨ b ∨ h y también I = d ∨ h. La segunda expresión,
d ∨ h, es una subexpresión de la primera d ∨ c ∨ b ∨ h. Debido a la igualdad d ∨ c ∨ b ∨ h, podemos asegurar
que d ∨ c ∨ b ∨ h no es ∨-irredundante, pero d ∨ h si es ∨-irredundante (nótese que I = d ∨ h; si quitamos
d nos queda I = h, igualdad que es falsa; si quitamos h, queda I = d y también es falsa, ası́ que d ∨ h es
una representación del elemento I la cual deja de ser representación de I al quitarle cualquier elemento). En
resumen, d ∨ h es una representación ∨-irredundante del elemento I.
Pero d ∨ f también es representación ∨-irredundante de I, ası́ que en este caso no es única la representación
∨-irredundadnte de I.
En la igualdad d = d ∨ c vemos que se puede quitar el elemento c y la igualdad sigue siendo verdadera; d ∨ c
es una representación del elemento d, pero no es ∨-irredundante porque se puede reducir a una subexpresión
que sigue representando a d.
Teorema 2.12. Sea L un reticulado que tiene longitud finita. Si L es distributivo, entonces cada elemento
de L posee una única representación del tipo ∨-irredundante.
Este resultado viene a ser otro criterio para estudiar la distributividad de un reticulado. En el caso del re-
ticulado del Ejemplo 2.30(a), en el Ejemplo 2.32 acabamos de encontrar dos representaciones ∨-irredundantes
del elemento I. Esto nos permite asegurar que dicho reticulado no es distributivo.
Problemario 2.4.
2.4. REPRESENTACIÓN EN RETICULADOS 63
1. En cada uno de los reticulados del Problemario 2.3, encontrar los átomos, los elementos ∨-irreducibles
y expresiones ∨-irredundantes para cada elemento. En caso que sea aplicable el Teorema 2.12, utilizarlo
para determinar si el reticulado en estudio no es distributivo.
2. Sea L = [A, ≤] un CTO con n-elementos (ver Problemario 2.1.8). Dibujar el Diagrama de Hasse de
L. Encontrar los átomos y los elementos ∨-irreducibles. Encontrar al menos una representación ∨-
irredundante a cada elemento de L. ¿Se puede determinar si L es distributivo? ¿Qué criterio se puede
utilizar?
3. Sean L1 = [A1 , ∨1 , ∧1 ] y L2 = [A2 , ∨2 , ∧2 ] reticulados y h : A1 −→ A2 un isomorfismo entre reticula-
dos. Demostrar que:
Álgebras Booleanas
B = [A, ∨, ∧,− , ⊘, I]
donde ∨, ∧,− son las operaciones de “supremo”, “ı́nfimo” y “complemento” respectivamente; ⊘, I son las
cotas universales.
Inmediatamente atendemos el problema de representación en álgebras booleanas.
Teorema 3.1. Sea B un álgebra booleana y sea x ̸= ⊘ un elemento de B. Entonces se cumple que x es
∨-irreducible ⇐⇒ x es un átomo.
(Es decir, en las álgebras booleanas sólo son ∨-irreducibles: la cota inferior universal ⊘ y sus sucesores
inmediatos).
Por otra parte, si B es un álgebra booleana que tiene longitud finita, entonces el Teorema 2.12 garantiza
que cada elemento x ̸= ⊘ admite una única representación ∨−irredundante, formada por átomos de B. En
casos finitos, el teorema siguiente da información más precisa.
Teorema 3.2. Sea B un álgebra booleana finita. Entonces se cumple que cada elemento x de B que sea dife-
rente de ⊘ admite una única representación ∨−irredundante x = ax1 ∨ax2 ∨· · ·∨axk en la cual ax1 , ax2 , . . . , axk
son todos los átomos de B que satisfacen la condición axj ≤ x (j = 1, 2, . . . , k).
Nota: esta representación ∨-irredundante de x se denomina representación canónica disyuntiva de x (o
representación estándar de x).
Ejemplo 3.1.
(a) Consideremos un conjunto unitario A = {a}. En este conjunto, consideramos las operaciones ∨, ∧,−
definidas mediante la tablas siguientes:
∨ a ∧ a
a a a a
65
66 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS
Se puede comprobar (fácilmente) que: [A, ∨, ∧] es un reticulado, y además es acotado (las cotas univer-
sales son ⊘ = a, I = a), es distributivo y es complementado (a = a). En consecuencia, este reticulado
[A, ∨, ∧] es en realidad un álgebra booleana.
En esta álgebra booleana, el único elemento que hay es ∨-irreducible (pues no tiene predecesores inme-
diatos) y su representación disyuntiva estándar es a = a.
(b) Con un conjunto binario (con 2 elementos) también podemos construir un álgebra booleana.
Si A = {a, b}, el dibujo anexo muestra un CPO construido sobre A (en realidad
b
es un CTO). Directamente en el diagrama vemos que ese CPO es un reticulado.
Las tablas de las operaciones ∨, ∧ se muestran en las figura anexa
a
∨ a b ∧ a b
a a b a a a
b b b b a b
En el diagrama vemos que el reticulado es acotado con cotas universales ⊘ = a, I = b; y también vemos
que es distributivo (pues tiene menos de 5 elementos). Además, a es complemento de b y b lo es de a
(porque ⊘ es complemento de I, I es complemento de ⊘).
En conclusión, ese CPO es un álgebra booleana. Por otra parte, elementos ∨-irreducibles son a, b; b es
el único átomo; y las representaciones disyuntivas canónicas son a = a, b = b
(c) Ahora consideremos el álgebra booleana del Ejemplo XXXXXX. Allı́ los únicos elementos ∨−irreducibles
d e f
a b c
son: la cota inferior universal ⊘ y los átomos a, b, c (esta es un álgebra booleana con 8 elementos). Las
representaciones disyuntivas canónicas son:
(d) Dado S = {a, b}, resulta que el CPO [P(S), ∪, ∩ ] es un álgebra booleana. La figura anexa muestra el diagrama
{a, b}
{a} {b}
∅ = {}
de Hasse, que nos permite comprobar que si es acotado, distributivo y complementado. Aquı́, la operación de
complementación es el “complemento usual” entre conjuntos, como se muestra en la tabla siguiente:
Las cotas universales son ⊘ = {}, I = {a, b}; hay dos átomos: {a}, {b}. Las representaciones canónicas
disyuntivas son:
{} = {} {a} = {a} {b} = {b} {a, b} = {a} ∪ {b}
Generalizamos este ejemplo: dado un conjunto S = {a1 , a2 , . . . , an } con n-elementos, resulta que el reticu-
lado [P(S), ∪, ∩ ] es acotado (las cotas universales son ⊘ = {}, I = S), es distributivo y es complementado.
3.2. DUALIDAD EN ALGEBRAS BOOLEANAS. DIAGRAMA DE HASSE DE UN ÁLGEBRA BOOLEANA FINITA67
Es decir, es un álgebra booleana. Los átomos son los conjuntos unitarios {a1 }, {a2 }, . . . , {an }, el complemento
de un elemento X ∈ P(S) es X = {a ∈ S : a ∈ / X}.
Además, la representación canónica disyuntiva de X es la unión de los conjuntos unitarios constituidos por
los elementos de X; por ejemplo,
{a1 , a2 } = {a1 } ∪ {a2 }, {a1 , a2 , a3 } = {a1 } ∪ {a2 } ∪ {a3 } {a1 , a2 , . . . , an } = {a1 , } ∪ {a2 } ∪ . . . ∪ {an }
Problema: En los Ejemplos 3.1.(a),(b),(c) encontramos ejemplos de álgebras booleanas con 1 elemento, 2
elementos, 4 elementos y 8 elementos respectivamente. ¿Existen álgebras booleanas con 5 elementos? ¿6 ele-
mentos? ¿7 elementos?.
⊘, a1 , a2 , . . . , an
y el Teorema 3.2 nos dice que como podemos elaborar una lista de los elementos del álgebra booleana Bn ,
utilizando las representaciones disyuntivas. Ası́ tenemos que: la representación disyuntiva de ⊘ es ⊘ y la
representación disyuntiva de aj es aj ∀j = 1, 2, . . . , n. Después de ⊘ y los átomos (que son los elementos que
tienen 0 predecesores inmediatos o 1 predecesor inmediato) encontramos los elementos que tienen 2 o más
predecesores inmediatos. Ası́, tiene que existir en Bn el elemento a1 ∨ a2 (en reticulado, cada pareja tiene
sup), como también existen a1 ∨ a3 , . . . , a1 ∨ an , a2 ∨ a3 , . . . , a2 ∨ an , etc.
Estos elementos de la forma xij = ai ∨ aj son los que tienen como predecesores inmediatos a los dos átomos
ai , aj . Ahora podemos ver que
x12 x13 x23 x1(n−1) x1n x2(n−1) x3(n−1) x2n x3n x(n−1)n
a1 a2 a3 an−1 an
y ası́, sucesivamente, cada pareja {xij , xrs } tiene supremo en B y produce un elemento de B.
Nótese que el elemento producido por la pareja {x12 , x13 } tiene 3 átomos en su representación canónica
disyuntiva
x12 ∨ x13 = a1 ∨ a2 ∨ a3 = x123
68 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS
mientras que la pareja {x12 , x34 } produce un elemento con 4 átomos en su representación canónica disyuntiva.
Ahora podemos hacer la lista de “combinaciones” de átomos, combinaciones que presentamos en forma de
representaciones disyuntivas:
con 0 átomos: x0 = ⊘
con 1 átomos: x1 = a1 , x2 = a2 , x3 = a3 , . . . , xn = an
con 2 átomos: x12 = a1 ∨ a2 , x13 = a1 ∨ a3 , . . . , x1n = a1 ∨ an ,
x23 = a2 ∨ a3 , x24 = a2 ∨ a4 , . . . , x2n = a2 ∨ an ,
..
.
x(n−2)(n−1) = an−2 ∨ an−1 , x(n−2)n = an−2 ∨ an ,
x(n−1)n = an−1 ∨ an
con 3 átomos: x123 = a1 ∨ a2 ∨ a3 , x124 = a1 ∨ a2 ∨ a4 , . . . , x12n = a1 ∨ a2 ∨ an ,
x134 = a1 ∨ a3 ∨ a4 , x135 = a1 ∨ a3 ∨ a5 , . . . , x13n = a1 ∨ a3 ∨ an , . . . , x1(n−1)n = a1 ∨ an−1 ∨ an ,
x234 = a2 ∨ a3 ∨ a4 , x235 = a2 ∨ a3 ∨ a5 , . . . , x23n = a2 ∨ a3 ∨ an , . . . ,
x(n−2)(n−1)n = an−2 ∨ an−1 ∨ an
.. ..
. .
con n − 1 átomos: x12···(n−1) = a1 ∨ a2 ∨ · · · ∨ an−2 ∨ an−1 , x12···(n−2)n = a1 ∨ a2 ∨ · · · ∨ an−2 ∨ an , . . . ,
x134···(n−1)n = a1 ∨ a3 ∨ a4 · · · ∨ an−1 ∨ an , x234···(n−1)n = a2 ∨ a3 ∨ a4 ∨ · · · an−1 ∨ an
con n átomos: x12···(n−1)n = a1 ∨ a2 · · · ∨ an−1 ∨ an
No hay más elementos en Bn , pues ya no podemos formar otra representación disyuntiva estándar.
Debemos comprender que hay un único elemento que es mayor que todos los n-átomos (mejor dicho, es
comparable con los n-átomos y es mayor que cada uno de ellos): a ese elemento lo hemos llamado x12···n ,
pero en realidad es la cota superior universal I.
La figura 3.1 muestra los 3 niveles inferiores del diagrama de Hasse de Bn . En la figura siguiente se exhiben
los 3 niveles superiores.
d1 d2 d3 dn−1 dn
d12 d13 d23 d1(n−1) d1n d2(n−1) d3(n−1) d2n d3n d(n−1)n
d1 = a2 ∨ a3 ∨ · · · ∨ an , d2 = a1 ∨ a3 ∨ · · · ∨ an , d3 = a1 ∨ a2 ∨ a4 ∨ · · · ∨ an , . . . ,
dn−1 = a1 ∨ a2 ∨ · · · ∨ an−2 ∨ an , dn = a1 ∨ a2 ∨ · · · ∨ an−1 ,
d12 = a3 ∨ a4 · · · ∨ an , d13 = a2 ∨ a4 ∨ a5 ∨ · · · ∨ an , . . . , d1n = a2 ∨ a3 ∨ · · · ∨ an−1 ,
d23 = a1 ∨ a4 ∨ a5 ∨ · · · ∨ an , d24 = a1 ∨ a3 ∨ a5 ∨ a6 ∨ · · · ∨ an , . . . , d2n = a1 ∨ a3 ∨ a4 ∨ · · · ∨ an−1 ,
d34 = a1 ∨ a2 ∨ a5 ∨ a6 ∨ · · · ∨ an , d35 = a1 ∨ a2 ∨ a4 ∨ a6 ∨ a7 ∨ · · · ∨ an , . . . ,
d3n = a1 ∨ a2 ∨ a4 ∨ a5 ∨ · · · ∨ an−1 ,
..
.
d(n−2)(n−1) = a1 ∨ a2 ∨ · · · ∨ an−4 ∨ an−3 ∨ an , d(n−2)n = a1 ∨ a2 ∨ · · · ∨ an−4 ∨ an−3 ∨ an−1 ,
d(n−1)n = a1 ∨ a2 ∨ · · · ∨ an−4 ∨ an−3 ∨ an−2
3.2. DUALIDAD EN ALGEBRAS BOOLEANAS. DIAGRAMA DE HASSE DE UN ÁLGEBRA BOOLEANA FINITA69
Los elementos dj (j = 1, 2, . . . , n) son llamados maxterms, nosotros los denominaremos d-átomos o átomos-
duales. Fácilmente vemos que dn = a1 ∨ a2 ∨ · · · ∨ an−1 , en consecuencia
dn ∨ an = a1 ∨ a2 ∨ · · · ∨ an−1 ∨ an =I
dn ∧ an = (a1 ∨ a2 ∨ · · · ∨ an−1 ) ∧ an = ⊘
Pero la operación ∨∗ de Bn es la operación ∧ de Bn , ası́ que podemos hacer los cambios adecuados en la
ecuacı́on 3.1 y encontramos que la definición de elemento ∧-irreducible en Bn :
Dicho de otra manera, d es ∧-irreducible en Bn sii no es posible escribir d = p∧q con p ̸= d y q ̸= d. Volvemos
∗
a Bn y el Teorema 3.2 asegura que cada x ̸= ⊘∗ posee una única representación canónica disyuntiva de la
forma
x = dx1 ∨∗ dx2 ∨∗ · · · ∨∗ dxh (3.2)
en la cual dx1 , dx2 , . . . , dxk son aquellos d-átomos que cumplen la condición dxj ≤∗ x (≤∗ es el orden parcial
∗
en Bn ).
Pero, podemos regresar a Bn colocando ∧ en lugar de ∨∗ y la representación 3.2 se convierte en
a) [D385 , ⧸]
b) [D210 , ⧸]
c) [D105 , ⧸]
d) [Cn , ∨n , ∧n ] donde Cn = {(a1 , a2 , . . . , an )⧸ai ∈ {0, 1}, i = 1, 2, . . . , n} = {0, 1}n y
(a1 , a2 , . . . , an ) ∨n (b1 , b2 , . . . , bn ) = (a1 ∨1 b1 , a2 ∨1 b2 , . . . , an ∨1 bn )
(a1 , a2 , . . . , an ) ∧n (b1 , b2 , . . . , bn ) = (a1 ∧1 b1 , a2 ∧1 b2 , . . . , an ∧1 bn )
∨1 0 1 ∧1 0 1
Además, 0 0 1 y 0 0 1 son las representaciones tabulares de las operaciones ∨1 , ∧1
1 1 1 1 1 1
2. Construir los diagramas de Hasse de las álgebras booleanas siguientes:
a) [D30 , ⧸]
b) [D42 , ⧸]
c) [P(I3 ), ⊆]
d) [D770 , ⧸]
e) [P(I4 ), ⊆]
En cada uno de ellas, identificar átomos y d-atomos, construir las representaciones tabulares de las
operaciones ∨, ∧,− y además encontrar las dos representaciones canónicas para cada ejemplo.
Teorema 3.4. Supongamos que B = [A, ∨, ∧,− , ⊘, I] es un álgebra de booleana. Entonces las operaciones
∨, ∧,− y los elementos ⊘, I tienen las propiedades siguientes:
[AB1 ] Idempotencia ∀a ∈ A, a ∨ a = a, a ∧ a = a
[AB8 ] Complementación ∀a ∈ A a ∨ a = I, a ∧ a = ⊘
[AB9 ] Involución ∀a ∈ A a = a
Teorema 3.5. Supóngase que A es un conjunto no vacı́o dotado de dos operaciones binarias ∨, ∧ : A ×
A −→ A y una operación unaria − : A −→ A; además, supóngase que en A hay dos elementos ⊘, I
(no necesariamente tienen que ser distintos) y que operaciones y elementos satisfacen las 10 condiciones
[AB1], [AB2], . . . , [AB10]. Entonces se puede asegurar que B = [A, ∨, ∧,− , ⊘, I] es un reticulado acotado,
distributivo y complementado; en otras palabras, B es un álgebra booelana.
Ejemplo 3.2.
(a) Si S es un conjunto no vacı́o, entonces se puede comprobar fácilmente que P(S), ∪, ∩,− , ∅, S cumple
con los postulados [AB1], [AB2], . . . , [AB10], y concluimos una vez más que B = [P(S), ∪, ∩,− , ∅, S]
es un álgebra booleana.
1 1 1
(b) En el conjunto C1 = {0, 1}, consideramos las operaciones ∨, ∧, − dadas mediante las tablas siguientes:
1 1 1
∨ 0 1 ∧ 0 1 a a
0 0 1 0 0 0 0 1
1 1 1 1 0 1 1 0
1 1 1
(Esto equivale a definir a ∨ b = máx{a, b}, a ∧ b = mı́n{a, b}, a = 1 − a). Las propiedades de idempo-
1 1
tencia y conmutatividad se pueden “apreciar” directamente en las tablas de ∨, ∧; otro tanto ocurre con
1
la involución en la tabla de − . Las propiedades restantes se comprueban con facilidad, pero la tarea es
larga y tediosa (¿Cómo hacerlo?).
1 1 1
Ası́ hemos encontrado el álgebra booleana [C1 , ∨, ∧, − , 0, 1] conocida con el nombre de cubo unitario de
dimensión 1 o 1-cubo unitario.
Al trabajar con n-copias del 1-cubo unitario obtenemos el conjunto Cn = (C1 )n = C1 × C1 × · · · × C1 =
| {z }
n-veces
{(x1 , x2 , . . . , xn )⧸x1 , x2 , . . . , xn ∈ {0, 1}}.
La estructura de álgebra booleana del 1-cubo unitario es extendida a Cn mediante la definición de ope-
n n n
−
raciones ∨, ∧, en la forma siguiente:
n 1 1 1
(x1 , x2 , . . . , xn ) ∨ (y1 , y2 , . . . , yn ) = (x1 ∨ y1 , x2 ∨ y2 , . . . , xn ∨ yn )
n 1 1 1
(x1 , x2 , . . . , xn ) ∧ (y1 , y2 , . . . , yn ) = (x1 ∧ y1 , x2 ∧ y2 , . . . , xn ∧ yn )
n 1 1 1
(x1 , x2 , . . . , xn ) = (x1 , x2 , . . . , xn )
72 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS
Ası́, por ejemplo, a los elementos 00, 01, 10, 11 del 2-cubo C2 les podemos agregar una nueva componente (0
o 1) y formamos los elementos del 3-cubo:
000 100
001 101
010 110
011 111
(nueva componente: 0) (nueva componente: 1)
11 2a copia
aumentada con conectar “mediante una arista” cada “vértice”
01 10 1a componente =1 de la 1a con el “vértice” de la 2a que ocupa la
nivel
misma posición.
1a copia
aumentada con 00
1a componente = 0
3.3. SEGUNDA DEFINICIÓN DE ÁLGEBRA BOOLEANA. CUBO UNITARIO. ISOMORFISMO BOOLEANOS73
111
001
nivel 1 (átomos)
010 100
000
Salta a la vista la similitud entre el diagrama del n-cubo unitario y el diagrama de un álgebra booleana que
111 1111
C4
C3
11 011 110 0111 1011 1101 1110
101
C2
001 0011 1100
01 10 010 0101 1001 0110 1010
100
0000
11 ∅
C2 [P({1, 2}, ⊆]
01 10 {1} {2}
00 {1, 2}
Directamente, en la asignación podemos ver que la aplicación h es inyectiva y sobreyectiva, ası́ que h es
biyectiva. Veamos como se debe comprobar que h preserve las operaciones (una muestra).
Ası́ que es verdad que h(01) ∧ h(10) = h(00) = h(01 ∧2 10) y h(01) ∨ h(10) = h(11) = h(01 ∨2 10) Esas
dos igualdades deben ser comprobadas (su veracidad) en todos los pares de elementos a, b de C2 ; una vez
culminada esa comprobación, podemos concluir que h preserva las operaciones de supremo e ı́nfimo.
Para el complemento tenemos que:
y estas 4 igualdades nos permiten asegurar que h preserva el complemento. Concluimos que h es un isomor-
fismo booleano de C2 en P({1, 2}).
En el resultado siguiente se presenta un uso muy importante del concepto de isomorfismo booleano, y al
mismo tiempo completaremos la información sobre álgebras booleanas finitas.
Teorema 3.6. Toda álgebra booleana Bn que tenga n-átomos es isomorfa booleanamente al n-cubo unitario
Cn
Demostración. Debemos exhibir una aplicación h : Bn −→ Cn que sea un isomorfismo booleano. Para
construirla, supongamos que los n-átomos de Bn sean a1 , a2 , . . . , an . El Teorema 3.2 nos asegura que cada
elemento x ̸= ⊘ posee una única representación disyuntiva estándar con apariencia x = ax1 ∨ ax2 ∨ · · · ∨ axk ,
y en esa representación aparecen única y exclusivamente aquellos átomos axj que satisfacen axj ≤ x.
La imagen h(x) que le asignamos a este elemento x ̸= ⊘ es una n-upla binaria δ1 δ2 . . . δn que se construye
aplicando las normas siguientes:
1. Si el átomo aj aparece en la representación canónica disyuntiva de x, entonces δj = 1
2. Si el átomo aj no aparece en la representación canónica disyuntiva de x, entonces δj = 0
Además, a x = ⊘ se le asigna imagen h(⊘) = 00 . . . 0} = ⊘n .
| {z
n-veces
Se deja como ejercicio la comprobación de la biyectividad de h y la preservación de las operaciones por parte de h
Nota: este isomorfismo, nos permite calcular la cantidad de elementos de Bn (ya que Cn tiene 2n elementos).
Problemario 3.2.
g) Un CTO acotado
∨ ∧
h) [A1 ×A2 ×· · ·×An , n , n ] donde [A1 , ∨1 , ∧1 ], [A2 , ∨2 , ∧2 ], . . . , [An , ∨n , ∧n ] son álgebras booleanas
y
∨
(a1 , a2 , . . . , an ) ∧n (b1 , b2 , . . . , bn ) = (a1 ∨1 b1 , a2 ∨2 b2 , . . . , an ∨ bn )
(a1 , a2 , . . . , an ) n (b1 , b2 , . . . , bn ) = (a1 ∨1 b1 , a2 ∨2 b2 , . . . , an ∨ bn )
2. A cada uno de los sistemas finitos del Problemario 3.2.1 que resultó un álgebra booleana, constrúyale
el diagrama de Hasse. Luego identifique los átomos y los d-átomos, escriba la representación disyun-
tiva (canónicas) de cada uno de los elementos, construya las tablas de las operaciones ∨, ∧,− . Escriba
también las representaciones canónicas conjuntivas.
3. Demostrar que
a) Si p, x ∈ A y p ∧ x = ⊘, p ∨ x = I entonces x = p
b) ∀p, q ∈ A se cumple que p ∧ q = p ⇐⇒ p ∨ q = q ⇐⇒ p ∨ q = I ⇐⇒ p ∧ q = ⊘
c) Si p, x, x′ ∈ A y p ∧ x = p ∧ x′ , p ∨ x = p ∨ x′ entonces x = x′
d) Si q, r ∈ A y q ≤ r, entonces ∀p ∈ A se cumple que p ∧ q ≤ p ∧ r y p ∨ q ≤ p ∨ r
a △ b = (a ∧ b) ∨ (a ∧ b) para cualesquiera a, b ∈ A
a) a △ b = b △ a
b) a △ (b △ c) = (a △ b) △ c
c) a ∧ (b △ c) = (a ∧ b) △ (a ∧ c)
d) a △ a = ⊘, a △ ⊘ = a, a △ a = I, a △ I = a
e) x △ a = b =⇒ x = a △ b
6. Utiliza inducción matemática para demostrar que en un álgebra booleana valen las igualdades (k ≥ 2)
a) a ∧ (b1 ∨ b2 ∨ · · · ∨ bk ) = (a ∧ b1 ) ∨ (a ∧ b2 ) ∨ · · · ∨ (a ∧ bk )
b) a ∨ (b1 ∧ b2 ∧ · · · ∧ bk ) = (a ∨ b1 ) ∧ (a ∨ b2 ) ∧ · · · ∧ (a ∨ bk )
c) a1 ∨ a2 ∨ · · · ∨ ak = a1 ∧ a2 ∧ · · · ∧ ak
d) a1 ∧ a2 ∧ · · · ∧ ak = a1 ∨ a2 ∨ · · · ∨ ak
76 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS
Definición 3.3. Las combinaciones booleanas de p1 , p2 , . . . , pn son los elementos de B que se obtienen al
aplicar las normas siguientes:
(CB3) Supremo (disyunción) e ı́nfimo (conjunción) de dos combinaciones booleanas de p1 , p2 , . . . , pn son com-
binaciones booleanas de p1 , p2 , . . . , pn
(CB4) Cualquier combinación booleana de p1 , p2 , . . . , pn se obtiene al aplicar las normas anteriores una canti-
dad finita de veces.
Ejemplo 3.4. Si en un álgebra booleana B tomamos cuatro elementos a, b, c, d la noma (CB1) establece que
a, b, c y d (por separado) son combinaciones booleanas de a, b, c, d. Aplicando (CB2) encontramos que a, b,
c y d también son combinaciones booleanas de a, b, c, d; ahora (CB3) establece que ⊘ = a ∧ a, I = a ∨ a son
combinaciones booleanas de a, b, c, d. Al efectuar los cálculos, los elementos resultantes en las “operaciones”
a ∨ b, a ∨ b, a ∧ c, a ∧ d, a ∨ d, b ∨ c, b ∧ c, b ∨ d, b ∧ c, c ∧ d, c ∨ d también son combinaciones booleanas de a, b, c, d.
En C3 , una combianción booleana de los elementos 011, 100, 101 es el elemento 010, ya que
[(011 ∨ 100) ∨ (100 ∨ 101] ∨ 101 = [111 ∨ (011 ∨ 010)] ∧ 010 = 111 ∧ 010 = 010
Consideremos ahora un conjunto de sı́mbolos L = {l1 , l2 , . . . , lk } que podemos manejar como variables
independientes que van a tomar valores en un álgebra booleana B (a los elementos de L los llamaremos
letras). Entonces l1 , l2 , . . . , lk “representan” elementos de B y podemos conectar l1 , l2 , . . . , lk mediante los
sı́mbolos ∨, ∧,− y según las propiedades de las operaciones respectivas. Ası́ podemos obtener “combinaciones
booleanas indicadas” de las letras l1 , l2 , . . . , lk ; estas “combinaciones indicadas” de las letras reciben el nombre
de expresiones booleanas o polinomios booleanos en las k-letras l1 , l2 , . . . , lk .
Nótese que una combinación booleana de elementos p1 , p2 , . . . , pn es otro elemento del álgebra booleana en
la cual están p1 , p2 , . . . , pn ; dicho elemento se obtiene al concluir los cálculos señalados en la combianción.
Por otra parte, una expresión booleana en l1 , l2 , . . . , lk es una fórmula cuyas variables mudas son las letras
l1 , l2 , . . . , lk y los sı́mbolos ∨, ∧,− conectan esas variables mudas. Si a l1 , l2 , . . . , lk se les asignan valores en un
álgebra booleana B, al sustituir en un expresión booleana de l1 , l2 , . . . , lk las letras por sus valores resulta que
∨, ∧,− pasan a ser las operaciones de B. En ese momento, las expresiones l1 ∧l1 (sea cual sea el valor asignado
a l1 ) se convierte en la combinación booleana ⊘, ası́ que convenimos es escribir lj ∧ lj = ⊘ para cualquier
j = 1, 2, . . . , k. Imitando las normas de la Definición 3.3 tenemos la definición formal de las expresiones
booleanas
Definición 3.4. Las expresiones booleanas de l1 , l2 , . . . , lk son las fórmulas que se obtienen al aplicar las
normas siguientes:
(EB4) Cualquier expresión booleana en l1 , l2 , . . . , lk resulta de aplicar las normas anteriores una cantidad finita
de veces.
l1 , l2 , l3 , l1 , l2 , l3 , ⊘, ⊘
l1 ∨ l2 , l2 ∨ l3 , l1 ∧ l2 , l2 ∧ l3
l1 ∨ l2 ∨ l3 , l1 ∨ l2 ∨ l3 , l1 ∧ l2 ∧ l3 , l1 l2 l3
(l1 ∨ l2 ∨ l3 ) ∧ (l1 ∨ l2 ) ∧ (l2 ∨ l3 ), (l1 ∧ l2 ) ∨ (l2 ∧ l3 ) ∨ (l3 ∧ l1 ) ∧ (l1 ∨ l2 ∨ l3 ) ∧ (l1 ∧ l2 ∧ l3 )
(4a ) Forma Disyuntiva Estándar C1 ∨C2 ∨· · ·∨Cs o ⊘, donde C1 , C2 , . . . , Cs son conjunciones fundamentales
en l1 , l2 , . . . , lk .
Un detalle fundamental en el manejo de las expresiones booleanas es que las letras deben ser tratadas como
si fuesen elementos de un álgebra booleana y los sı́mbolos ∨, ∧,− como si fuesen operaciones de la misma. De
acuerdo con estas indicaciones tenemos el resultado siguiente.
Teorema 3.7. Toda conjunción fundamental estándar en k-letras l1 , l2 , . . . , lk es la disyunción de dos con-
jugaciones fundamentales en (k + 1)-letras l1 , l2 , . . . , lk , lk+1 .
E = (a ∧ b ∧ c) ∨ (a ∧ b ∧ c) ∨ (a ∧ b ∧ c) ∨ (a ∧ b ∧ c) ∨ (a ∧ b ∧ c) ∨ (a ∧ b ∧ c) ∨ (a ∧ b ∧ c)
= (a ∧ b ∧ c) ∨ (a ∧ b ∧ c) ∨ (a ∧ b ∧ c) ∨ (a ∧ b ∧ c) ∨ (a ∧ b ∧ c)
Dada una expresión booleana, aunque no esté en forma normal disyuntiva, puede ser llevada a for-
ma disyuntiva estándar. Primero se lleva a forma normal disyuntiva, utilizando los postulados (AB1),
(AB2),. . .,(AB10). La expresión F = x ∧ (y ∨ z) ∧ [(y ∧ z) ∨ (x ∧ z)] no está en forma normal disyuntiva.
Pero
Definición 3.5. Sean E1 , E2 dos expresiones booleanas en l1 , l2 , . . . , ln ; E1 y E2 son equivalentes sii tienen
la misma forma disyuntiva estándar (se denota por E1 ≡ E2 ).
Sabemos que en n-letras l1 , l2 , . . . , ln hay 2n conjunciones fundamentales. Combinando estas conjunciones
fundamentales podemos formar todas las formas disyuntivas de tipo estándar, desde la que utiliza 0 conjun-
ciones fundamentales (esto es, E = ⊘) hasta la que incluye las 2n conjunciones fundamentales. En total, se
n
tienen 22 formas disyuntivas (estándar) diferentes. Aunque en el conjunto de todas las expresiones booleanas
n n
en l1 , l2 , . . . , ln hay más de 22 elementos, esta relación ≡ permite agruparlas en 22 clases de equivalencia;
en cada una de estas clases, el representante natural es la forma disyuntiva estándar que determina la clase.
Para formalizar esto, tenemos el resultado siguiente.
Teorema 3.8. La relación de ≡ es reflexiva, simétrica y transitiva sobre el conjunto de las expresiones
booleanas en l1 , l2 , . . . , ln (es decir, ≡ es una relación de equivalencia).
Demostración. La demostración de este teorema es sencilla.
Ahora podemos mirar el conjunto de todas las expresiones booleanas en l1 , l2 , . . . , ln como a un conjunto
que tienes apenas 22 elementos. Dicho conjunto es denotado por B2n y fácilmente se puede construir en
n
B2n una estructura de álgebra booleana con 2n átomos (las 2n conjugaciones fundamentales en l1 , l2 , . . . , ln );
con esta estructura, B2n es llamada el álgebra booleana libre con n-generadores (las n-letras).
3.5. APLICACIONES BOOLEANAS 79
Ejemplo 3.9.
2
(a) En 2-letras l1 , l2 , las conjunciones fundamentales son 22 = 4: l1 ∧l2 , l1 ∧l2 , l1 ∧l2 y l1 ∧l2 . Hay 22 = 16
expresiones en forma disyuntiva estándar es estas dos letras, a saber:
E1 = ⊘, E2 = l1 ∧ l2 , E3 = l1 ∧ l2 , E4 = l1 ∧ l2 , E5 = l1 ∧ l2
E6 = E2 ∨ E3 , E7 = E2 ∨ E4 , E8 = E2 ∨ E5 , E9 = E3 ∨ E4 , E10 = E3 ∨ E5 , E11 = E4 ∨ E5
E13 = E2 ∨ E3 ∨ E4 , E14 = E2 ∨ E3 ∨ E5 , E15 = E3 ∨ E4 ∨ E5
E16 = E2 ∨ E3 ∨ E4 ∨ E5
1. Mostrar que todos los elementos del 3-cubo C3 se pueden expresar como combinaciones booleanas de los
elementos 001, 010, 100 y 000. Generalizando, todos los elementos del n-cubo Cn son combinaciones
booleanas de aquellos elementos de Cn que tienen, a lo sumo, una componente igual a 1. Obtener una
conclusión similar con los elementos que tienen, a lo sumo, una componente igual a 0.
2. Escribir todas las conjunciones fundamentales en 4-letras a, b, c, d. Construir todas las expresiones boo-
leanas, en forma disyuntiva estándar, en esas 4-letras. Repetir el trabajo para las disyunciones funda-
mentales y las formas conjuntivas (estándar).
3. Sean C1 , C2 dos conjunciones fundamentales distintas en n-letras l1 , l2 , . . . , ln . Demostrar que
C1 ∧ C2 = ⊘
4. Llevar cada una de las expresiones booleanas siguientes a forma disyuntiva, primero normal y después
estándar, en 4-letras w, x, y, z.
(a) E = [x ∨ (z ∧ w)] ∧ (w ∨ z)
(b) F = (x ∨ z) ∧ (x ∨ w) ∧ (x ∨ y)
(c) G = (x ∨ y) ∨ (x ∧ w)
(d) H = x ∨ [z ∧ (x ∨ w)]
(e) J = {(x ∧ w) ∨ [(y ∧ w) ∧ x]} ∧ (z ∨ w)
(f) K = (z ∧ w) ∧ {(x ∨ y) ∧ [(z ∨ y) ∨ (x ∧ w)]}
5. Llevar cada una de las expresiones booleanas del problema anterior a forma conjuntiva normal. Después,
llevarla a forma conjuntiva estándar.
Ejemplo 3.10. Sean A = {0, a, b,1} y B = [A, ∨, ∧,− ] el álgebra booleana con dos átomos a, b que se muestra
en la figura.
1
a b
0
21
En una letra l1 , hay 2 = 4 formas disyuntivas estándar, a saber: E1 = Ø, E2 = l1 , E3 = l1 y E4 = l1 ∨ l1 .
Las aplicaciones que estas 4 expresiones definen son, respectivamente (de A en A):
( ) ( ) ( ) ( )
0 a b 1 0 a b 1 0 a b 1 0 a b 1
fE1 = , f E2 = , f E3 = , f E4 = ,
0 0 0 0 0 a b 1 1 b a 0 1 1 1 1
Otras aplicaciones de A en A, no definidas por E1 , E2 , E3 , E4 son las siguientes:
( ) ( ) ( ) ( )
0 a b 1 0 a b 1 a 0 1 b 0 a b 1
g1 = , g2 = , g3 = , g4 =
a a a a b b b b 1 b a 0 b 1 0 a
( ) ( ) ( ) ( )
0 a b 1 0 a b 1 0 a b 1 0 a b 1
g5 = , g6 = , g7 = , g8 =
1 0 1 0 0 0 0 1 1 1 0 1 b a b a
Hay 44 = 256 aplicaciones de A en A, de las cuales sólo fE1 , fE2 , fE3 , fE4 son definidas por formas disyuntivas
estándar. De acuerdo con el teorema siguiente, las 252 aplicaciones restantes no son definidas por expresiones
booleanas.
Teorema 3.9. Sean E1 , E2 dos expresiones booleanas en n-letras y B = [A, ∨, ∧,− ] un álgebra booleana.
Además sea fj : An −→ A la aplicación definida por Ej (j = 1, 2). Entonces se cumple que:
E1 y E2 son equivalentes ⇐⇒ f1 = f2
Definición 3.6. Sean B = [A, ∨, ∧,− ] un álgebra booleana y f : An −→ A una aplicación. Diremos que f
es una aplicación (función) booleana sobre B sii existe una expresión booleana en n letras E que define a f .
En el ejemplo 3.4 vimos que sobre un algebra booleana con 2-átomos no es cierto que toda las aplicaciones
de 1-variable sean booleanas. El teorema siguiente establece que cuando el álgebra booleana B = [A, ∨, ∧,− ]
tiene sólo un atomo, entonces toda aplicación f : An −→ A es booleana.
Teorema 3.10. Sea f : Cn = (C1 )n −→ C1 . Entonces existe una única forma disyuntiva estándar Ef que
define a f . Esta expresión viene dada por
∨
Ef (l1 , l2 , . . . , ln ) = (l1x1 ∧ l2x2 . . . lnxn )
(x1 ,x2 ,...,xn )∈f −1 (1)
{
lj si xj = 1
y f −1 (1) = {(x1 , x2 , . . . , xn ) ∈ Cn : f (x1 , x2 , . . . , xn ) = 1}
x
donde lj j =
lj si xj = 0
Ejemplo 3.11. Sea f : C3 −→ C1 la aplicación lineal dada por la tabla siguiente:
x1 x2 x3 000 001 011 111 110 100 101 010
f (x1 x2 x3 ) 1 0 1 1 1 0 1 0
Luego f −1 (1) = {000, 011, 111, 110, 101}. En 3-letras l1 , l2 , l3 , las conjunciones fundamentales l1x1 ∧ l2x2 ∧ l3x3
producidas por los elementos x1 x2 x3 de f −1 (1) son: l1 ∧ l2 ∧ l3 (dada por 000), l1 ∧ l2 ∧ l3 (dada por 011),
l1 ∧ l2 ∧ l3 , l1 ∧ l2 ∧ l3 y l1 ∧ l2 ∧ l3 . En consecuencia, la expresión booleana en 3-letras que define a f es:
Observación 3.2. Para facilitar la escritura, de ahora en adelante omitiremos el conectivo ∧ en las conjun-
ciones.
La expresión Ef del ejemplo anterior queda en la forma siguiente:
Ef (l1 , l2 , l3 ) = l1 l2 l3 ∨ l1 l2 l3 ∨ l1 l2 l3 ∨ l1 l2 l3 ∨ l1 l2 l3
Problemario 3.4.
1. Para cada una de las aplicaciones fi : C5 −→ C1 dadas a continuación, encontrar una expresión
booleana Ei en 5-letras que defina a fi (i = 1, 2, 3, 4).
f1 f2 f3 f4
11100 1 1 0 1
11101 1 0 1 1
01100 0 1 1 0
01101 1 0 0 1
10100 1 1 1 0
11001 0 1 1 0
01110 1 0 0 1
01111 1 1 0 1
01010 1 0 0 0
01000 0 1 1 1
00110 1 0 1 0
00010 0 1 1 0
00111 0 1 1 1
ElementosRestantes 0 0 0 0
a) Encontrar una expresión booleana, en 3-letras y en forma conjuntiva estándar, que defina a la
aplicación g.
b) Utilizar este ejemplo para encontrar una fórmula similar a la del Teorema 3.10, pero en forma
conjuntiva estándar.
c) Aplicar esta fórmula a cada aplicación del Problema 3.4.1
3. Para cada una de las expresiones booleanas del Problema 3.3.4, construir la tabla de la aplicación que
la expresión define de C4 en C1
diodos, transistores, reguladores (relays) y muchos otros. Las leyes que rigen los circuitos lógicos son “las
mismas” de las álgebras booleana. Veamos como surgen los postulados de las mismas.
Para analizar circuitos lógicos, no es importante el valor numérico de la señal con la cual ha de funcionar.
Aquı́ denotaremos por 0 y 1 los dos valores posibles, pero hay otras notaciones.
Cada señal debe tener asignada una variable X (Y, Z, . . . , X1 , X2 , . . . , Xn , etc) que servirá para indicar “el
valor o entrada” de la señal. La tabulación de estos valores proporciona el primer postulado (1ra ley) para
los circuitos lógicos.
′
(P1 ) X = 0 si X ̸= 1 (P1 ) X = 1 si X ̸= 0
Los demás postulados van apareciendo al revisar el comportamiento de diversos dispositivos que se utilizan
para construir los circuitos lógicos. Entre estos dispositivos se encuentran varios tipos de CONTACTOS, entre
éllos los de tipo abierto y los de tipo cerrado. A cada contacto se le asigna una variable, llamada transmisión
del contacto. Para un contacto de tipo abierto, la transmisión es X = 0 si se encuentra en posición normal
(inactivo); al estar activado, la transmisión es X = 1. A un contacto cerrado también se le asocia una variable,
pero se debe tomar en cuenta que un contacto cerrado debe estar inactivo (pero en transmisión 1) cuando un
contacto abierto esté inactivo (con transmisión 0); para tomar en cuenta esta relación se utiliza el sı́mbolo X
para la transmisión del contacto cerrado, entendiendo que en el contacto abierto la transmisión es X. Aquı́
aparece el segundo postulado.
′
(P2 ) Si X = 0 entonces X = 1 (P2 ) Si X = 0 entonces X = 1
X1 X2
↓ X2 X1 → 0 1
0 0 0
1 0 1
La tabla establece que “la transmisión de la conexión en serie es 1 únicamente cuando los contactos o dispo-
sitivos tienen transmisión 1”. La operación definida por esta tabla suele ser simbolizada como un producto
X1 · X2 . En vista de la similitud con la operación de conjunción del 1-cubo unitario, aquı́ la representaremos
simbólicamente por X1 ∧ X2 ; la descripción de la tabla proporciona tres nuevos postulados para el álgebra
de interruptores o de los circuitos lógicos.
( P3 ) 0 ∧ 0 = 0
( P4 ) 1 ∧ 1 = 1
( P5 ) 0 ∧ 1 = 0 = 1 ∧ 0
Si los contactos o dispositivos son conectados en paralelo, la transmisión resultante es 0 únicamente cuando
las dos transmisiones son 0, como la tabla siguiente.
3.6. CIRCUITOS LÓGICOS. COMPUERTAS 83
X1 X2
↓ X2 X1 → 0 1
0 0 0
1 0 1
La notación tı́pica para esta operación es X1 + X2 ; pero utilizaremos X1 ∨ X2 por la similitud con la
operación de “disyunción” del 1-cubo unitario. La descripción de esta última tabla da los enunciados duales
de los postulados P3 , P4 y P5 .
(P3 )′ 1 ∨ 1 = 1 (P4 )′ 0 ∨ 0 = 0 ( P5 ) ′ 1 ∨ 0 = 1 = 0 ∨ 1
(Esta dualidad entre los postulados se establece fácilmente: al intercambiar 0 con 1 y ∧ con ∨ en un postulado
PJ se obtiene el postulado PJ ′ .)
Con estos postulados podemos examinar cierto tipo de circuitos lógicos y determinar el comportamiento del
circuito para cada una de las entradas (combinaciones) posibles. Este tipo de circuito es llamado es llamado
circuito interruptor combinacional, y sus salidas dependen únicamente de las entradas que está procesando.
Otros circuitos pueden hacer uso de señales o entradas procesadas con anterioridad, además de las que en el
momento está procesando: este tipo de circuitos se denominan secuencial.
Ejemplo 3.12. En la figura se muestra un circuito, cuya transmisión T se puede obtener como la conjunción
de dos sub-transmisiones T1 y T2 . Ası́:
X3
X1 X2
X4
T1 T2
T = T1 ∧ T2 , T1 = x1 ∧ x2 , T2 = x3 ∨ x4 , T = (x1 ∧ x2 ) ∨ (x3 ∨ x4 )
Está última igualdad representa la transmisión T mediante una expresión booleana en 4-letras x1 , x2 , x3 , x4 .
Esta expresión define una aplicación booleana de C4 en C1 , cuya tabla se muestra a continuación.
DEC x1 x2 x3 x4 T
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 0
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 0
7 0 1 1 1 0
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 0
12 1 1 0 0 0
13 1 1 0 1 1
14 1 1 1 0 1
15 1 1 1 1 1
84 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS
x1 = x2 = x3 = 1, x4 = 0, x1 = x2 = x4 = 1, x3 = 0 y x1 = x2 = x3 = x4 = 1
La tabla de la transmisión T nos permite obtener una expresión en forma disyuntiva estándar. Según el
Teorema, dicha expresión es
pero podemos simplificar la notación, utilizando directamente los elementos de C4 y escribimos entonces T =
1110∨1101∨1111.
∨ También podemos usar la notación decimal (DEC); en ese caso escribimos T = 13∨14∨15
o T = (13, 14, 15)
Una manera diferente de representar gráficamente los circuitos lógicos es mediante diagramas de bloque, en
los cuales las conexiones en serie y en paralelo son representadas por compuertas AND y OR, respectivamente.
Estas se muestran a continuación.
x1 x1
x2 x2
.. T = x1 ∧ x2 ∧ · · · ∧ xn−1 ∧ xn .. T = x1 ∨ x2 ∨ · · · ∨ xn−1 ∨ xn
. .
xn−1 -transmisión- xn−1 -transmisión-
xn xn
-variables- -variables-
o o
-contactos- -contactos-
COMPUERTA AND COMPUERTA OR
T = 1 ⇐⇒ x1 = x2 = · · · = xn−1 = xn = 1 T = 0 ⇐⇒ x1 = x2 = · · · = xn−1 = xn = 0
x2
x3
x4
Problemario 3.5.
x3 x1 x5
x4 x2
x1 x2 x3
x x = 0 =⇒ x = 1
T =x
entrada
transmisión x = 1 =⇒ x = 0
(a) Diseñar un circuito que utilice únicamente compuerta OR y NOT, que sustituya una compuerta
AND.
(b) Diseñar un circuito que sustituya una compuerta OR, utilizando sólo compuertas AND y OR.
(c) Diseñar un circuito cuya transmisión sea T = x ∨ y ∨ (x ∧ w) y que utilice compuertas OR y
NOT (después, utilice sólo compuertas AND y NOT).
T1
x •
y
C y
w • •
T2
86 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS
(E ∧ x) ∨ (E ∧ x) = E
Demostración.
(E ∧ x) ∨ (E ∧ x) = E ∧ (x ∨ x) = E ∧ I = E
Ejemplo 3.13.
E = [x y z ∨ x y z] ∨ [x y z ∨ x y z]
= [x y (z ∨ z)] ∨ [x z (y ∨ y)]
= (x y I) ∨ (x z I) = x y ∨ x z
La forma estándar original tiene 4-letras y 12-apariciones de letras; la forma normal que se obtuvo al
final sólo tiene 2-términos y 4-apariciones de letras.
(b) En ocasiones se requiere el uso de otros postulados para simplificar al máximo la expresión dada. En la
expresión E = x y z ∨ x y z ∨ x y z podemos aplicar directamente el Teorema 3.11 a los dos primeros
términos para obtener
E=y z ∨ xy z
También podemos aplicar esa regla de simplificación al 1er término y al 3ro para obtener E = x z ∨
x y z. Pero si utilizamos idempotencia, podemos hacer una simplificación más completa, como se mues-
tra a continuación:
E=xy z ∨ xy z ∨ xy z
=xy z ∨ xy z ∨ xy z ∨ xy z
= (x y z ∨ x y z) ∨ (x y z ∨ x y z)
=y z ∨ xz
3.7. OPTIMIZACIÓN DE APLICACIONES BOOLEANAS 87
(c) En ocasiones encontramos expresiones a las cuales se les puede aplica varias veces la regla de simplifi-
cación del Teorema 3.11, como ocurre con la expresión siguiente:
Observación 3.3. La expresión ya simplificada que obtuvimos en el ejemplo anterior (b) tiene 2-términos y
4-apariciones de letras, pero “factorizando” se reduce a la expresión E = (y∨x)∧z que tiene 2-términos y sólo
3-ocurrencias de letras. Pero esta última expresión no está en forma disyuntiva sino conjuntiva. De acuerdo
con la Definición 3.7, la búsqueda de la expresión minimal la realizaremos entre las formas disyuntivas.
Después de encontrarla, se le podrán aplicar otras simplificaciones para disminuir número de términos o de
apariciones de letras.
La técnica de simplificación mostrada en los ejemplos anteriores es poco útil cuando se trabaja con
expresiones que tengan muchos términos, de muchas letras cada uno. Estudiaremos a continuación algunas
técnicas de tipo algorı́tmico. Comenzaremos por estudiar los conceptos fundamentales.
Definición 3.8.
(a) Sean E1 , E2 expresiones booleanas en n-letras. Diremos que E1 implica E2 (denotado por E1 =⇒ E2
sii para cualquier asignación de valores binarios que haga E1 = 1 ocurre que E2 ̸= 0 (o sea, E2 = 1).
Teorema 3.12. Sean E1 , E2 expresiones booleanas en n-letras. Entonces E1 y E2 son equivalentes sii E1 =⇒
E2 y E2 =⇒ E1
Demostración. E1 y E2 son equivalentes sii definen la misma aplicación de Cn en C1 (Teorema 3.9) esta
última proposición equivale a tener que E1 y E2 toman los mismos valores en los diferentes elementos de Cn ;
o sea, E2 vale 1 cuando E1 vale 1 y E2 vale 0 cuando E1 vale 0. Es decir, E1 =⇒ E2 y E2 =⇒ E1 .
Teorema 3.13. Sea E = α1 ∨ α2 ∨ · · · ∨ αk una expresión booleana en n-letras, en forma disyuntiva normal,
y sea f : Cn −→ C1 la aplicación definida por E. Entonces cada una de las conjunciones α1 , α2 , . . . , αk es
implicante de f .
Ejemplo 3.14.
(b) F = x y implica G = x y ∨ x y z pues G = 1 cada vez que F = 1 (ésto ocurre únciamente cuando
x = y = 1).
Definición 3.9. Una conjunción α es implicante primo de una aplicación f : Cn −→ C1 sii se cumplen las
dos condiciones siguientes:
(1) α es implicante de f
(2) Al quitarle a α cualquiera de las letras que la forman, lo que queda no implica a f
88 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS
Teorema 3.14. Si β1 , β2 , . . . , βk son todos los implicantes primos de una aplicación f : Cn −→ C1 , entonces
la expresión E = β1 ∨ β2 · · · ∨ βk define a f (o sea, E ≡ Ef )
Ya debemos notar que una expresión minimal para f debe estar constituida únicamente por implicantes
primos de f , ya que éstos son los que tienen menos apariciones de letras. Estos nos lleva a definir la 1a etapa
en la búsqueda de la expresión minimal para f : consiste en encontrar todos los implicantes primos de f .
En la definición y el teorema siguiente encontramos las herramientas para lograr reducir el número de térmi-
nos.
Definición 3.10. Sea E una expresión boolean en n-letras, en forma disyuntiva normal, que define a una
aplicación f : Cn −→ C1 . Diremos que la expresión E es f -irredundante sii se cumplen las dos condiciones
siguientes:
(2) Al quitarle a E cualquiera de las conjunciones que la forman se obtiene una expresión que no define a
f
Este resultado nos permite plantear una 2a etapa del proceso de búsqueda de expresión minimal. Una vez
conseguidos todos los implicantes primos de f , éllos son utilizados para construir todas las expresiones f -
irredundantes: entre éllas encontraremos la (o las) expresión(es) minimal(es). Antes de encontrar un método
para construir todas estas expresiones f -irredundante, describiremos el Método de McCluskey-Quine para
todos los implicantes primos de f .
Paso 2: Clasificar las conjunciones de Ef según la cantidad de componentes iguales a 1 y colocar estas clases
resultantes en una columna, ordenada de menor cantidad (de componentes iguales a !) a mayor
cantidad, como lo indica el esquema siguiente:
Paso 3: Aplicar el Teorema 3.11 a elementos de clases adyacentes que defieren apenas en una componente
(ejemplo: 10010 y 10110); al eliminar una “letra” se coloca en su lugar (10010∨10110 = 10 10). Los
elementos resultantes se colocan en otra columna, en el orden en que son obtenidos, sin repeticiones
y conservando las clases según las componentes iguales a 1.
3.8. MÉTODO DE MCCLUESKEY-QUINE PARA OBTENER LOS IMPLICANTES PRIMOS DE F A PARTIR DE LA FOR
Paso 4: Continuar la simplificación (repetir el Paso 3) hasta que no se pueda simplificar más.
Paso 5: Todos los elementos o términos no simplificados son implicantes primos de f .
Ejemplo 3.16. Encontrar los implicantes primos de la aplicación f dada por
Ef = x y z w u ∨ x y z w u ∨ x y z w u ∨ x y z w u ∨ x y z w u ∨ x y z w u ∨ x y z w u ∨ x y z w u ∨ x y z w u
Al dar el 1er paso obtenemos Ef en notación binaria:
Ef = 10101 ∨ 00111 ∨ 10001 ∨ 00011 ∨ 01010 ∨ 00100 ∨ 10100 ∨ 00000 ∨ 11111
(0) : 0000 ✓
(4) : 00100 ✓
(17) : 10001 ✓
(3) : 00011 ✓
Ahora obtenemos las clases, 2do paso, (10) : 01010 ∗
(20) : 10100 ✓
(21 :) 10101 ✓
(7) : 00111 ✓
(31) : 11111 ∗
Comparación ⧸ Simplificación
↓ ↓
(0, 4) 00 00 ∗
Al aplicar el 3er paso tenemos, (4, 20) 0100 ∗
(17, 21) 10 01 ∗
(3, 7) 00 11 ∗
(20, 21) 1010 ∗
(∗ significa que el término no fué comparado; ✓ significa que si fué comparado).
Los implicantes primos son: 01010, 1111, 00 00, 0100, 10 01, 00 11, 1010 ; o sea,
x y z w u, x y z w u, x y w u, y z w u, x y w u, x y w u, x y z w
Veamos ahora como se completa el procedimiento, encontrando la técnica para formar las expresiones ∨-
irredundantes.
Definición 3.11. Sean α, β dos conjunciones. Se dice que α está contenida en β o que β contiene a α (α ⊂ β
o β ⊃ α) sii las letras que forman α aparecen exactamente iguales en β.
Ejemplo 3.17. α = a b c está contenida en a b c d y en a b c d e g. Por su parte α = x y z no está contenida
en x y z w u. (En notación binaria para cuatro componentes, se tiene a b c ≡ 0 1 1 y a b c d ≡ 0 1 1 0,
ası́ que 0 1 1 ⊂ 0 1 1 0. Similarmente, 1 1 1 ⊂ 1 0 1 1 0.)
Al tener los implicantes primos de f , necesitamos combinaciones de éllos que formen expresiones equiva-
lentes a Ef (o sea, que definan a f ). Para que ésto ocurra, debe cumplirse que cada conjunción fundamental
de Ef contenga al menos un implicante primo de los que serán seleccionados para las combinaciones. Una
manera de realizar esta selección es la siguiente.
(1◦ ) Es construida la TABLA DE IMPLICANTES PRIMOS con las conjunciones fundamentales que formen
Ef y los implicantes primos de Ef que sean conjunciones fundamentales, tal como se indica en la figura
siguiente:
C1 C2 C3 ... Ck
α1 ...
α2 ...
.. .. .. .. ..
. . . . .
αk ...
90 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS
(2◦ ) Las casillas de esta tabla son llenadas con los sı́mbolos x y −.
Se coloca x cuando αi ⊂ Cj y es − si αi ⊂ Cj
(3◦ ) Una vez llenadas las casillas, se seleccionan los implicantes primos que son únicos en una columna y las
conjunciones fundamentales que son implicantes primos (estas conjunciones tienen sólo − en las casillas
de sus columnas).
Estos términos se mezclan en una forma disyuntiva que es llamada NÚCLEO de las expresiones f -
irredundantes y es parte de todas ellas.
(4◦ ) Al descartar los términos seleccionados para el núcleo, deben ser descatadas todas las conjunciones
fundamentales que contengan algún término seleccionado. Con los implicantes primos y conjunciones
fundamentales que quedan (quizás) se forma una TABLA RESTANTE (si no quedan términos, el
mismo núcleo es la única expresión f -irredundante y, al mismo tiempo, minimal). En la Tabla Restan-
te no deben aparecer conjunciones fundamentales con la columna vacı́a. En cuanto a los implicantes
primos, se presentan dos alternativas.
(a) Implicantes primos con fila vacı́a: éstos deben ser descartados porque no producirán expresiones
fundamentales.
(b) Varios implicantes primos están contenidos en una (o varias) conjunción fundamental: en este
caso, cad uno de éllos puede ser agregado al núcleo para obtener una expresión f -irredundant. Si
hay varias conjunciones fundamentales, hay que seleccionar las combinaciones de implicantesque
recorran esas conjunciones.
(5◦ ) Ya construidas todas las expresiones f -irredundantes, se procede a seleccionar la(s) que tenga(n) menos
términos y menos apariciones de letras.
Ejemplo 3.18. Apliquemos todo el método a la aplicación
f = 0000 ∨ 0010 ∨ 0100 ∨ 1100 ∨ 1010 ∨ 0110 ∨ 0111 ∨ 1011 ∨ 1110 ∨ 1111
(0, 2) 00 0 ✓
(0, 4) 0 00 ✓
(0) 0000 ✓ (2, 10) 010 ✓
(2) 0010 ✓ (2, 16) 0 10 ✓
(4) 0100 ✓ (4, 12) 100 ✓ (0, 2, 4, 6) 0 0 ∗
(12) 1100 ✓ (4, 6) 01 0 ✓ (0, 4, 2, 6) 0 0 ∗
(10) 1010 ✓ (12, 14) 11 0 ✓ (4, 6, 12, 14) 1 0 ∗
(6) 0110 ✓ (10, 11) 101 ✓ (2, 10, 6, 14) 10 ∗
(7) 0111 ✓ (10, 14) 1 10 ✓ (19, 11, 14, 15) 1 1 ∗
(11) 1011 ✓ (6, 7) 011 ✓ (6, 7, 14, 15) 11 ∗
(14) 1110 ✓ (6, 14) 110 ✓
(15) 1111 ✓ (7, 15) 111 ✓
(11, 15) 1 11 ✓
(14, 15) 111 ✓
(0) (2) (4) (12) (10) (6) (7) (11) (14) (15)
0000 0010 0100 1100 1010 0110 01111 1011 1110 1111
0 0 x x x x (0, 2, 4, 6)
1 0 x x x x (4, 6, 12, 14)
10 x x x x
1 1 x x x x (10, 11, 14, 15)
11 x x x x (6, 7, 14, 15)
↑ ↑ ↑ ↑
3.8. MÉTODO DE MCCLUESKEY-QUINE PARA OBTENER LOS IMPLICANTES PRIMOS DE F A PARTIR DE LA FOR
N =0 0 ∨ 1 0 ∨ 11 ∨ 1 1 1
= (0, 2, 4, 6) ∨ (4, 6, 12, 14) ∨ (10, 11, 14, 15) ∨ (6, 7, 14, 15)
y no hay más (no restan). En consecuencia, para la tabla restante sólo quedará el implicante primo
10, pero con la fila vacı́a. Esto permite concluir que hay una única expresión f -irredundante y élla
misma es la expresión minimal: coincide con el núcleo N .
(0, 4) 0 00
(0, 8) 000
(8, 10) 10 0
(3, 11) 011
(3, 7) 0 11
(10, 11) 101
(4, 5, 6, 7) 01
Núcleo: N = (4, 5, 6, 7)
En la tabla restante, encontramos 4-alternativas para recorrer las 5-conjunciones fundamentales restantes.
A saber:
E 1 = N ∨ A1 E2 = N ∨ A2
E 3 = N ∨ A3 E4 = N ∨ A4
Problemario 3.6.
93
94 CAPÍTULO 4. MÁQUINAS DE ESTADO FINITO
La tabla de estados es una tabulación simultánea de las dos aplicaciones, la de cambio de estados
y la de salidas. Para una máquina M = [I, O, E , ce, co] que tenga I = {a1 , a2 , . . . , aj , . . . , an , } y E =
{e1 , e2 , . . . , ei , . . . , em }, una manera de organizar la tabla es la siguiente.
ce co
M
a1 . . . aj . . . an e1 . . . e i . . . e m
e1 ce(a1 , e1 ) . . . ce(aj , e1 ) . . . ce(an , e1 ) co(a1 , e1 ) . . . co(aj , e1 ) . . . co(an , e1 )
.. .. ..
. . .
ei ce(a1 , ei ) . . . ce(aj , ei ) . . . ce(an , ei ) co(a1 , ei ) . . . co(aj , ei ) . . . co(an , ei )
.. .. ..
. . .
em ce(a1 , em ) . . . ce(aj , em ) . . . ce(an , em ) co(a1 , em ) . . . co(aj , em ) . . . co(an , em )
En el Ejemplo 4.1, las tablas de estados están presentadas en una forma distinta a la que acabamos de
describir.
Ejemplo 4.2. La máquina M cuyo diagrama de estados se muestra en la gráfica tiene estado inicial e0 ,
alfabetos I = O = {0, 1} y conjunto de estados internos E = {e0 , e1 }.
1,1
0,0 e0 e1 0,0
1,1
La manera en que funciona se puede describir en la forma siguiente: se le proporciona una secuencia de
entradas (instrucciones) x1 x2 . . . xn . Cada vez que en esa secuencia aparece un 1, hay un cambio de estado.
Si la cantidad de unos leı́dos es par, la máquina se encuentra en estado e0 ; pero si es impar, entonces M
debe estar en e1 . Por ejemplo, la secuencia de entrada ã = 00101011101 produce una secuencia de estados
internos y una secuencia de salidas, como se describe en el diagrama siguiente.
sale entra
0 0
Nótese que en cada paso, la salida es la misma entrada. Esta máquina es llamada “CHEQUEADORA DE
PARIDAD”. Podemos agregar al alfabeto I una entrada “?” que representa la pregunta “¿el número de unos
ya leı́dos es par o impar?; y al alfabeto O le agregamos dos sı́mbolos, P (par), I (impar). El diagrama de
estados, con estas modificaciones, queda ası́:
?,P 1,1
0,0 e0 e1 0,0
1,1
?,I
4.2. MÁQUINAS EQUIVALENTES. OPTIMIZACIÓN 95
Problemario 4.1.
1. En la máquina M = [I, O, E , ce, co] del Ejemplo 4.1, tómese e0 como estado inicial. Imitar el desarrollo
mostrado en el Ejemplo 4.2 para obtener una secuencia de estados internos y de salidas que corresponden
a la secuencias de entradas que se dan a continuación: ã = [0110111010], b̃ = [10110011101], c̃ =
[001010001101].
2. Sea M? la máquina del Ejemplo 4.2 con alfabeto I = {0, 1, ?}, O = {0, 1, P, I}. Encontrar las se-
cuencias de estados internos y de salidas correspondientes a las secuencias de entradas siguientes:
ã = [00011?1110?], b̃ = [10101?0010?0101?].
3. a) Diseñar una MEF que tenga estado inicial e0 y alfabeto I = O = {0, 1} y que al recibir una
secuencia de entradas ã = [x1 x2 . . . xk ] produzca como secuencia de salidas s̃ = [0x1 x2 . . . xk−1 ].
Mostrar diagrama y tabla de entradas de M .
b) Como en la parte 3 a, de manera que la salida sea s̃ = [00x1 x2 . . . xk−2 ].
4. Sean I = O = {n ∈ N ⧸n es divisor de 210}. Diseñar una MEF que realice la operación ∗ = mcm. Es
decir, si la máquina se le proporciona una secuencia de entradas ã = [x1 x2 . . . xk ], la salida debe ser
s̃ = [y1 y2 . . . yk ] dada por y1 = x1 , y2 = mcm(x1 , x2 ), . . . , yk = mcm(x1 , x2 , . . . , xk ).
⊗ 0 1
0 0 1
1 1 0
O sea, la máquina tiene alfabetos I = O = {0, 1} y al recibir una secuencia de entradas ã = [x1 x2 . . . xk ]
genera la salida siguiente s̃ = [y1 y2 . . . yk ] con y1 = x1 , y2 = y1 ⊗ x2 , . . . , yk = yk−1 ⊗ xk .
cek+1 : I k × E −→ E k+1
dada por cek+1 ([x1 x2 . . . xk ], z) = [zz1 z2 . . . zk ]
cok : I × E −→ O
k k
dada por cok ([x1 x2 . . . xk ], z) = [y1 y2 . . . yk ]
Nótese que esto puede hacerse para cada número entero positivo k.
Si se tiene otra máquina M = [I, O, E , ce, co] con los mismos alfabetos, al escoger un estado interno z de
M , un estado interno z de M y aplicar una secuencia de entradas ã = [x1 x2 . . . xk ] a las dos máquinas, se
obtendrán en cada una de las dos las secuencias de entradas internas y de salidas. En M las hemos denotados
por
(a) M cubre a M (denotaremos por M ⊒ M ) sii para cada estado finito e de M existe un estado e
de M tal que ξk (ã, e) = ξ k (ã, e) para todo entero positivo k y para toda secuencia de entradas ã =
[x1 x2 . . . xk ] ∈ I
(b) M es equivalente a M (denotado por M eq M ) sii M ⊒ M y M ⊒ M
(c) M es una máquina minimal sii entre las máquinas que cubren a M no existe una que tenga menos
estados internos que M
Teorema 4.1.
Similarmente,
x1 = 0 x2 = 0 x1 = 0 x2 = 0
e0 e2 e0 e2 e0 e2
sale 0 sale 0 sale 0 sale 0
x1 = 0 x2 = 1 x1 = 0 x2 = 1
e0 e2 e1 e2 e0 e1
sale 0 sale 1 sale 0 sale 1
1 0 1 0
e0 e1 e2 e2 e1 e0
sale 1 sale 1 sale 1 sale 1
1 1 1 1
e0 e1 e2 e2 e1 e2
sale 1 sale 0 sale 1 sale 0
(iii) G(EQr )⧹G(EQr−1 ) = { } para algún r > 1 =⇒ G(EQr+j ) = G(EQr ) para todo j ≥ 0
Veamos algunos datos que proporcionan estos teoremas.
1◦ Ya que necesitamos conocer G(EQ) para diseñar la máquina minimal, la parte (c) del Teorema 4.3 nos
dice que podemos “calcular” G(EQ) y con él procedemos obtener el conjunto G(EQ) = E ×E ⧹ G(EQ)
2◦ La parte (b) del Teorema 4.3 establece que para calcular G(EQ) hay que encontrar G(EQr ) para todo
r ∈ Z+
3◦ Los conjuntos G(EQ1 ) y G(EQ1 ) se obtienen observando la tabla de estados de la máquina M , y el
Teorema 4.3 parte (b) establece que
4◦ Si e EQr e′ pero e EQj e′ para todo j < r, entonces (e, e′ ) ∈ G(EQr ) y (e, e′ ) ∈ G(EQr−1 ); de ahı́
que (e, e′ ) ∈ G(EQr ) ⧹ G(EQr−1 ). O sea, con secuencias de entradas de r − 1 (o menos) componentes,
los estados internos e y e′ producen las mismas secuencias de salidas; pero esto no se mantiene con
secuencias de entradas con r−componentes, de manera que la dificultad está en la entrada r−ésima y
en el estado que queda después de la entrada r − 1 (y por eso la parte (i) del Teorema 4.4 señala que
ce(r) (ã, e) EQ ce(r) (ã, e′ )). Pero otra manera de ver la situación es la siguiente, aplicamos la primera en-
trada x1 de cualquier secuencia de entradas y a los estados que resultan ce(x1 , e) y ce(x1 , e′ ) se les aplica
el resto de la secuencia [x2 x2 . . . xr ]. Por ser (e, e′ ) ∈ G(EQr ) tiene que ser ce(x1 , e) EQr−1 ce(x1 , e′ ).
Por otra parte, del Teorema 4.3(i) resulta que G(EQr ) ⊂ G(EQr+1 ) y la parte (ii) del Teorema 4.4 se
puede re-enunciar como sigue:
Esta forma del enunciado nos permite ver que un par (e, e′ ) ∈ G(EQ1 ) pasa a G(EQ2 ) si es trans-
formado por una entrada sencilla x en un par de estados internos (z, z ′ ) ∈ G(EQ1 ). Similarmente,
para obtener G(EQ3 ) se toman todos los pares que forman G(EQ2 ) y se les agregan todos aque-
llos pares de estados (e, e′ ) ∈ G(EQ2 ) que son transformados por alguna entrada sencilla x en pares
(z, z ′ ) ∈ G(EQ2 ) ⧹ G(EQ1 ). En consecuencia, G(EQ3 ) = E × E ⧹ G(EQ3 ).
5◦ El argumento anterior se repite hasta llegar, de acuerdo con el Teorema 4.4(iii), a un r ∈ Z+ tal que
G(EQr ) = G(EQr−1 ); debido a esa igualdad resulta que:
Ası́ que los estados e0 y e2 son equivalentes y “realizan las mismas labores”. En consecuencia, sólo hace falta
uno de éllos para esa tarea, y entenderemos que la máquina
4.2. MÁQUINAS EQUIVALENTES. OPTIMIZACIÓN 99
ce co
M
0 1 0 1
e0 e0 e1 0 1 sustitución : e0 en lugar de {e0 , e2 }
e1 e0 e0 1 0 e1 en lugar de {e1 }
cubre a M pero con menos estados internos. Nótese que el número de estados internos de M no puede ser
disminuido (sin alterar la función de la máquna)
Ejemplo 4.5. Busquemos G(EQ) para la máquina que se da en la tabla anexa.
ce co
M
0 1 0 1
e0 e2 e1 0 1
e1 e0 e2 0 1
e2 e0 e1 1 0
Vemos que G(EQ1 ) = {(e0 , e0 ), (e0 , e1 ), (e1 , e0 ), (e1 , e1 ), (e2 , e2 )} y GEQ) = {(e0 , e2 ), ((e1 , e2 ), (e2 , e0 ), (e2 , e1 )}.
Las clases de equivalencia son EQ11 = {e0 , e1 } y EQ21 = {e2 }. Ahora tomemos (e0 , e1 ): si se proporciona
entrada 0, el par se transforma en (e2 , e0 ) que no está en G(EQ1 ). Eso indica que (e0 , e1 ) ∈ / G(EQ2 ), en
consecuencia G(EQ2 ) = {(e0 , e0 ), (e1 , e1 ), (e2 , e2 )} y las clases de equivalencia son EQ12 = {e0 }, EQ22 = {e1 },
EQ32 = {e2 }. De aquı́, se deduce que G(EQ) = {(e0 , e0 ), (e1 , e1 ), (e2 , e2 )} y no se puede reducir el número de
estados internos.
Ejemplo 4.6. Encontrar (si existe) una máquina minimal para M dada en tabla.
ce co
M
0 1 0 1
e1 e1 e2 1 0
e2 e1 e3 1 0
e3 e5 e1 1 0
e4 e4 e2 1 0
e5 e4 e3 0 1
Para simplificar la notación, haremos uso de la reflexividad y la simetrı́a de las relaciones EQr , EQ y sobren-
tenderemos los pares reflexivos (ej , ej ), ası́ como el par simétrico (ej , ei ) de cada par (ei , ej ) que anotemos
en G(EQr ), G(EQ). Además, escribiremos el ı́ndice j en lugar de ej . Tenemos entonces que
G(EQ1 ) = {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)}
G(EQ1 ) = {(1, 5), (2, 5), (3, 5), (4, 5)}
y las clases de equivalencia de la relación EQ1 son EQ11 = {1, 2, 3, 4} y EQ21 = {5}. Para facilitar el “cálculo”
de los conjuntos G(EQr ), G(EQr ), r ≥ 2, es útil la tabla siguiente que muestra los pares resultantes de
aplicarle las entradas posibles (0 y 1) a los pares del conjunto G(EQ1 ).
T 0 1
(1, 2) (1, 1) (2, 3)
(1, 3) (1, 5) (2, 1)
(1, 4) (1, 4) (2, 2)
(2, 3) (1, 5) (3, 1)
(2, 4) (1, 4) (3, 2)
(3, 4) (5, 4) (1, 2)
Allı́ vemos que (1, 3) se transforma en (1, 5) ∈ G(EQ1 ) si entra 0, de manera que (1, 3) ∈ G(EQ2 ) y nos
queda G(EQ2 ) = G(EQ1 ) ∪ {(1, 3), (2, 3), (3, 4)}. Las clases de equivalencia de EQ2 son EQ12 = {1, 2, 4},
EQ22 = {3} y EQ32 = {5}.
Para determinar G(EQ3 ), tomamos los pares de G(EQ2 ) y revisamos, a ver si alguno de éllos se transforma
100 CAPÍTULO 4. MÁQUINAS DE ESTADO FINITO
con una entrada (0 o 1) en un par (i, j) que esté en G(EQ1 ) y en G(EQ2 ) ((i, i) ∈ G(EQ2 ) ⧹ G(EQ1 )). En
la tabla T vemos que (1, 2) se convierte en (2, 3) ∈ G(EQ2 ), (2, 4) en (3, 2). El resultado que obtenemos es
G(EQ3 ) = G(EQ2 ) ∪ {(1, 2), (2, 4)}, G(EQ3 ) = {(1, 4)}.
Ahora vemos que G(EQ4 ) = G(EQ3 ) y G(EQ4 ) = G(EQ3 ) = {(1, 4)}.
En consecuencia G(EQ) = {(1, 4)} y las clases de equivalencia de EQ son EQ1 = {1, 4}, EQ2 = {2},
EQ3 = {3} y EQ4 = {5}. Esto muestra que los estados e1 y e4 hacen la misma labor y pueden ser “fundidos”
en un sólo estado. Ası́ obtenemos una máquina minimal M con 4− estados internos, a saber: e1 en lugar
de e1 y e4 , e2 es e2 , e3 es e3 y e4 es e5 . La tabla de estados de M es :
η ξ
M
0 1 0 1
e1 e1 e2 1 0
e2 e1 e3 1 0
e3 e4 e1 1 0
e4 e1 e3 0 1
Problemario 4.2.
ce2 co2
M2
0 1 0 1
ce1 co1
M1 e1 e8 e1 1 1
a b a b
e2 e2 e2 1 0
e1 e2 e2 b a
e3 e7 e5 0 1
e2 e3 e3 b a
e4 e2 e2 1 0
e3 e4 e4 b a
e5 e2 e2 1 0
e4 e4 e4 a b
e6 e3 e9 1 0
e5 e5 e6 b b
e7 e6 e8 1 0
e6 e6 e5 b b
e8 e9 e9 1 0
e9 e4 e6 0 0
entrada a ser leı́da, e′ = ce(a, e) = próximo estado, s = co(a, e) = salida que se producirá y m = δ(a, e) =
movimiento próximo (o sea, desplazamiento próximo de la cinta).
′
Ejemplo 4.7. Una máquina de Turing que chequea la paridad de los 1 s en una secuencia binaria se da
a continuación. Utilizamos un estado inicial e0 y alfabeto IO = {0, 1, P, I, ♯}; el sı́mbolo ♯ se utiliza para
denotar espacios en blancos en la cinta y P, I denotaran par e impar, respectivamente. Suponemos que las
secuencias que van a ser procesadas están escritas a la izquierda.
Máquina T
e0 ♯ e0 ♯ L e1 0 e1 0 L e2 0 e2 0 L
e0 0 e1 0 L e1 1 e2 1 L e2 1 e1 1 L
e0 1 e2 1 L e1 ♯ e1 P HALT e2 ♯ e2 I HALT
El estado e0 es el estado en que se encuentra la máquina cuando es activada para comenzar a leer. El estado e1
′
es memorizar la paridad de la cantidad de 1 s leı́dos y e2 corresponde a cantidades impares. La “instrucción”
′ ′
HALT se utiliza para detener la máquina. (Cada secuencia de 0 s y 1 s debe ser escrita sin espacio en blanco
intermedios; los espacios en blancos se pueden utilizar para separar secuencias).
En el gráfico siguiente se muestra el funcionamiento de este máquina de Turing sobre una secuencia de
entradas, con las secuencias de estados y salidas respectivas.
Ejemplo 4.8. La máquina siguiente compara la cantidad de ceros con la cantidad de unos y determina si
son iguales o distintos. Las secuencias binarias están formadas por un “bloque” de ceros, seguido del bloque
de unos y al final de cada secuencia hay al menos un espacio blanco. En alguna casilla se imprime I o D
según las cantidades de ceros y unos sean iguales o distintias. Una descripción de la máquina es la siguiente.
Máquina T
e0 ♯ e0 ♯ L e2 1 e3 ♯ R e3 ♯ e7 ♯ L
e0 0 e1 ♯ L e2 0 e5 0 L e5 ♯ e6 D HALT
e1 0 e1 0 L e2 ♯ e5 ♯ L e7 ♯ e6 I HALT
e1 1 e1 1 L e3 1 e3 1 R e7 1 e5 1 R
e1 ♯ e2 ♯ R e3 0 e4 0 R e4 0 e4 0 R
e0 1 e5 1 R e4 ♯ e0 ♯ L
Para conocer el funcionamiento de la máquina, se puede ver el efecto que tiene sobre las secuencias de
entradas siguientes: ♯1100♯, ♯11100♯, ♯11000♯, ♯111♯, ♯000♯.
Observación 4.1. El Ejemplo 4.7 muestra una máquina de Turing que puede realizar el trabajo correspon-
diente a una MEF. El teorema siguiente formaliza dicha situación. Se debe resaltar el hecho siguiente: la
situación recı́proca no se da. Es decir, hay maquinas de Turing que no pueden ser reemplazadas por MEF.
Teorema 4.5. Sea M = [I, O, E , ce, co] una MEF y sea T = [IO, E , ce, co, δ] el sistema dado por:
IO = I ∪ O ∪ {♯} E =E
{ { {
η(a, e) si a ∈ I ξ(a, e) si a ∈ I R si a ∈ I
η(a, e) = ξ(a, e) = δ(a, e) =
e si a = ♯ ♯ si a = ♯ HALT si a = ♯
Entonces T es una maquina de Turing que “hace todo lo que hace M ”
Problemario 4.3.
3. Diseñar una máquina de Turing que recibe una matriz binaria 2 × 2 escrita como secuencia
y la salida es
. . . ♯♯a33 a23 a13 ♯a32 a22 a12 ♯a31 a21 a11 ♯♯ . . .
4. Diseñar una máquina de Turing que recibe una secuencia de dos vectores binarios bidimensionales
separados por ∗ y calcular el “producto escalar” de los dos vectores. Si la entrada es
♯♯♯y2 y1 ∗ x2 x1 ♯♯♯