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

Índice general

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

4. Máquinas de Estado Finito 93


4.1. Máquinas de Estado Finito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.2. Máquinas Equivalentes. Optimización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.3. Máquinas de Turing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

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

2. Para los conjuntos V1 = {v1 , v2 , v3 } y A1 = {−



a1 , −

a2 , −

a3 , −

a4 }, la “correspondencia” que se muestra en la
tabla siguiente no es una apliación de A1 en V1 × V1 (¿por qué?)

→a −

a1 −

a2 −

a4
g(−

a) (v1 , v3 ) (v2 , v3 ) (v2 , v1 )

1
2 CAPÍTULO 1. GRAFOS Y DIGRAFOS

En consecuencia, la terna [V1 , A1 , g] no es un digrafo.

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.

Digrafo Nulo con un vértice

Digrafo Nulo con dos vértices

Digrafo Nulo con tres vértices

Digrafo Nulo con cuatro vértices

Definición 1.2. Sea D = [V, A, f ] un digrafo.


1. Para v1 , v2 ∈ V , la multiplicidad del par (v1 , v2 ) es el número entero no negativo m(u, v) dado por,
m(v1 , v2 ) = card{−→a ∈ A ⧸f (−→
a ) = (v1 , v2 )}

2. Un lazo en D es un arco que tiene vértice inicial = vértice final.


3. Dos arcos −→a1 , −

a2 son paralelos sii f (−

a1 ) = f (−

a2 ) (o sea, “origen de −

a1 = origen de −

a2 ” y “final de −

a1 =


final de a2 ”).

→ − → −
→ −
→ −

4. Dos arcos b1 , b2 son opuestos sii “vértice inicial de b1 = vértice final de b2 ” y “vértice final de b1 =


vértice inicial de b2 ”.

5. El digrafo D es finito sii son finitos los dos conjuntos A y V .


Ejemplo 1.3. En la figura anexa encontramos la representación sagital de un digrafo D, que tiene 5 vértices
y 9 arcos.

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

Además, con esos 3 arcos vemos que m(v1 , v2 ) = 3 pero m(v2 , v1 ) = 0

Otras multiplicidades son:


m(v5 , v5 ) = 1, m(v5 , v4 ) = 1, m(v3 , v2 ) = 0, m(v2 , v5 ) = 0 m(v2 , v4 ) = 1, m(v4 , v2 ) = 1

En el digrafo D hay apenas una pareja de arcos opuestos, a saber −



a6 y −

a9
1.1. DIGRAFOS 3

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

1.1.1. Potencias de R. Trayectorias


c, se define la relación compuesta
Si en un conjunto no vacı́o V tenemos dos relaciones R y R c en
R◦R
la forma siguiente:
c)v ⇐⇒ ∃x ∈ V ⧸ u R x y x R
u (R ◦ R cv

Si escogemos R c = R, entonces al buscar la compuesta R ◦ R c obtenemos la relación R ◦ R = R2 , si


c = R , entonces la compuesta R ◦ R
utilizamos R
2 c es en realidad R ◦ R2 = R3 y al continuar este proceso
inductivo se forman las potencias de la relación R. Ası́ tenemos que:

∀k ∈ N = {1, 2, 3, . . .} se define Rk+1 := R ◦ Rk


La composición de relaciones no es conmutativa; sin embargo, en algunas casos particulares si es válida tal
propiedad.
Lema 1.1. ∀k ∈ N = {1, 2, 3, . . .} R ◦ Rk = Rk ◦ R
Demostración. (Ejercicio: utilizar inducción y asociatividad de la composición)
Supongamos ahora que V es un conjunto finito, de manera que la relación R admite representación
matricial MR binaria y cada una de sus potencias R también tiene representación matricial binaria, M k .
k
R
Entonces tenemos el resultado siguiente,
( )k
Lema 1.2. M k = MR
R
Demostración. Ejercicio

Finalmente, tenemos una manera de interpretar las potencias R de R en términos de los vértices y los
k

arcos del digrafo, cuando R es la relación binaria asociada a un digrafo simple.


Teorema 1.1. Sea Ds un digrafo simple y sea R la relación binaria asociada a Ds . Si u0 , uk son vértices
del digrafo Ds , entonces se cumple que

u0 R uk ⇐⇒ existen vértices u1 , u2 , . . . , uk−1 y arcos −→


a1 , −

a2 , . . . , −
→ en D tales que
k
ak s

→ −
→ −

a1 = (u0 , u1 ), a2 = (u1 , u2 ), . . . , ak = (uk−1 , uk ) (k ≥ 2)
1.1. DIGRAFOS 5


a−→
a~2 k−1

a~1 v1 v2 vk−2 vk−1 a~k


k
v0 u0 R uk vk

Demostración. Ejercicio

Corolario 1.1. Si Ds es un digrafo simple finito con n−vértices v1 , v2 , . . . , vn y k ≥ 2, entonces se cumple


que
( )k
vi R vj ⇐⇒ la componente ij de la matriz
k
MR es igual a 1

(Nota: MR = Mc (Ds ), ver observación 1.3)

1.1.2. Trayectorias. Conexidad Fuerte


Definición 1.5. En un digrafo D = [V, A, f ], llamamos:
1. trayectoria a cualquier secuencia finita de vértices y arcos alternados en la forma

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

2. trayectoria simple a cualquier trayectoria que no repita arcos.

3. trayectoria elemental a cualquier trayectoria que no repita vértices.

4. ciclo o circuito a cualquier trayectoria que tenga iguales el primer vértice y el último vértice.

5. ciclo simple a cualquier ciclo que no repita arcos.

Ejemplo 1.8. En el digrafo de la figura anexa,


→ −

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

Otras trayectorias en D son



→ −
→ −
→ −
→ −

T5 = [v1 , 1 , v2 , 3 , v3 , 6 , v3 , 4 , v4 , 5 , v3 ], (simple, no es elemental, o(T ) = 5)

→ −
→ −

T6 = [v3 , 4 , v4 , 12, v1 , 13, v6 ], (simple, elemental, o(T6 ) = 3)

→ −

T7 = [v5 , 9 , v6 , 10, v5 ], (ciclo simple, o(T7 ) = 2)

→ −
→ −
→ −

T8 = [v5 , 9 , v6 , 14, v6 , 10, v5 , 8 , v5 ], (ciclo simple, o(T ) = 4)

→ −
→ −
→ −

T9 = [v5 , 9 , v6 , 10, v5 , 9 , v6 , 10, v5 ], (ciclo no-simple, o(T9 ) = 4)

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:

v es accesible desde u en el digrafo D ⇐⇒ v es accesible desde u en D∗


Demostración. Si u = v, entonces v es accesible desde u en D y también en D∗ . Supongamos que u ̸= v.
∗ ∗
(=⇒) Si v es accesible desde u en D , entonces en D hay una trayectoria que comienza en u y termina en
v. Pero esa misma trayectoria también está en el digrafo D, por tanto v también es accesible desde u
en el digrafo D.

(⇐=) 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].

Si uno de los arcos −


→ci es un lazo, entonces los vértices wi y wi+1 son iguales y al “borrar” el arco −

ci la
trayectoria T se convierte en

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

componente que sea igual a 0, permanece como 0


componente que sea diferente de 0, convertida en 1

Para un digrafo no-simple y finito D que tenga digrafo simple asociado D∗ , se define

Acc(D) = Acc(D )

Ejemplo 1.10. La figura muestra un digrafo finito no-simple D.


v1

v2
v3

v4

v5
v7

v6

La matriz de conexión de este digrafo D es,


 
0 2 0 0 0 0 0
 1 0 0 1 2 0 0 
 
 2 0 2 1 0 0 2 
 
Mc (D) = 
 0 1 1 0 0 0 2 

 0 0 0 2 0 1 0 
 
 0 0 0 0 0 1 1 
0 0 0 0 0 0 1

La matriz de conexión del digrafo simple D∗ asociado a D es,


 
0 1 0 0 0 0 0
 1 0 0 1 1 0 0 
 
 1 0 0 1 0 0 1 
∗  
M = Mc ( D ) = 
 0 1 1 0 0 0 1 

 0 0 0 1 0 1 0 
 
 0 0 0 0 0 0 1 
0 0 0 0 0 0 0
8 CAPÍTULO 1. GRAFOS Y DIGRAFOS

Las potencias hasta la de orden 6 de M son:


     
1 0 0 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1
 0 1 1 1 0 1 1   1 1 1 1 1 0 1   1 1 1 1 1 1 1 
     
 0 1 1 0 0 0 1   1 0 0 1 1 0 1   0 1 1 1 0 1 1 
     
M =
2
 1 0 0 1 1 0 1 , M = 
 3
 0 1 1 1 0 1 1  , M4 = 
  1 1 1 1 1 0 1 

 0 1 1 0 0 0 1   1 0 0 1 1 0 1   0 1 1 1 0 1 1 
     
 0 0 0 0 0 0 0   0 0 0 0 0 0 0   0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   
1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1   1 1 1 1 1 1 1 
   
 1 1 1 1 1 0 1   1 1 1 1 1 1 1 
   
M =
5
 1 1 1 1 1 1 1  , M6 = 
  1 1 1 1 1 1 1 

 1 1 1 1 1 0 1   1 1 1 1 1 1 1 
   
 0 0 0 0 0 0 0   0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0
Finalmente,

Acc(D) = Acc(D ) = bin[I7 + M + M 2 + M 3 + M 4 + M 5 + M 6]
   
5 5 4 5 4 3 4 1 1 1 1 1 1 1
 5 6 5 6 5 4 5   1 1 1 1 1 1 1 
   
 4 4 5 5 3 2 6   
   1 1 1 1 1 1 1 
= bin 
 4 5 5 6 4 3 6  
  1 1 1 1 1 1
= 1 

 3 4 4 5 4 3 5   
   1 1 1 1 1 1 1 
 0 0 0 0 0 1 1   0 0 0 0 0 1 1 
0 0 0 0 0 0 1 0 0 0 0 0 0 1

En el digrafo D∗ , mostrado en la figura anexa,


v1

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

(d) (e) (f)


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

e) Si el digrafo es finito y tiene vértices v1 , v2 , . . . , vn entonces la suma de las componentes de la


fila−i de Mc (D) es igual a g + (vi ) y la suma de las componentes de la columna−j de Mc (D) es
igual a g − (vj ).

4. Estudiar la conexidad fuerte de los digrafos del problema 1.1.1, utilizando matrices.

5. En un digrafo D = [V, A, f ], para cualquier vértice u, v se define “la distancia de u a v” en la forma


siguiente:


0 si u = v
dist(u, v) := ∞ si v no es accesible desde u


mı́nimo del conjunto {o(T )⧸T es trayectoria de u a v} si v es accesible desde u

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)

7. Si D es un digrafo simple y fuertemente conexo que tiene n−vértices, demostrar que:

a) el menos número de arcos que D puede tener es n


b) el mayor número de arcos que D puede tener es n(n − 1)

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:

a) ciclos consecutivos tienen apenas un vértice común.


b) ciclos no-consecutivos no tienen vértices común.

Ilustrar gráficamente este caso. Demostrar que D es fuertemente conexo.


12 CAPÍTULO 1. GRAFOS Y DIGRAFOS

1.1.3. Digrafos Ponderados. Trayectorias Óptimas.


Definición 1.8. Una ponderación de un digrafo D = [V, A, f ] es una función ρ : A −→ R>0 , que le asocia a
cada arco del digrafo D un único número real positivo. Para una trayectoria T = [v0 , −

a1 , v 1 , −

a2 , v2 . . . , vk−1 , −
→, v ]
ak k
∑k
en ese digrafo con ponderación p, la ponderación es p(T ) = p(−

ai ).
i=1
Si u, v son vértices del digrafo D y T (u, v) representa el conjunto de todas las trayectorias de u a v, entonces
una de esas trayectorias T0 de u a v es óptima si cumple que p(T0 ) ≤ p(T ), para toda T ∈ T (u, v).
Ejemplo 1.14. En la figura se muestra un digrafo finito ponderado: cada arco tiene escrito su ponderación
al lado, en lugar de su nombre −

a1 , −

a2 , . . .
Ası́ en v1 hay un lazo de ponderación 2.

v2 3 v3
3 2
v1

2
2 1

2
2 3 v7
v4

2
4

1
v5
4
v6

De v4 a v1 hay un arco que tiene ponderación 2.


De v4 a v5 hay un arco que tiene ponderación 4.
De v2 a v6 hay una trayectoria de orden 5, que hace el recorrido siguiente
T : de v2 a v4 a v3 a v7 a v6
La ponderación de esta trayectoria es p(T ) = 1 + 2 + 2 + 2 + 4 = 11.
Otras trayectorias de v2 a v6 son descritas mediante los recorridos siguientes:
T2 : de v2 a v3 a v7 a v6 , p(T2 ) = 3 + 2 + 1 = 6
T3 : de v2 a v3 a v7 a v6 , p(T3 ) = 2 + 2 + 1 = 5
T4 : de v2 a v4 a v3 a v7 a v6 , p(T4 ) = 1 + 2 + 2 + 1 = 6
T5 : de v2 a v4 a v7 a v6 , p(T5 ) = 1 + 3 + 1 = 5
T6 : de v2 a v4 a v5 a v6 , p(T6 ) = 1 + 4 + 4 = 9
Todavı́a hay más trayectorias de v2 a v6 , pero tienen ponderación mayores que las de las trayectorias
T2 , T3 , T4 , T5 . Si no hay trayectorias de v2 a v6 que tengasn ponderación mayor que 5, entonces podemos
asegurar que T3 y T5 son óptimas entre todas las trayectorias de v2 a v6 .
¿Cómo garantizar que no se puede encontrar alguna trayectoria de v2 a v6 , que no tenga ponderación mayor
que 5?
Nótese que en un digrafo que tenga más arcos que le digrafo de Ejemplo 1.14 (y los mismos vértices), se hace
más complicado la busqueda de trayectorias. Por eso necesitamos un procedimiento que sirva para encontrar
trayectorias óptimas y que evite la complicación que representa la gran cantidad de trayectorias.
Definición 1.9. Sea D un digrafo y p : A −→ R>0 una ponderación para D. Para cualquiera vértices
u, v ∈ V se define la distancia de u a v en la forma siguiente:


0 si u = v
dist(u, v) = ∞ si u ̸= v y T (u, v) es vacı́o


p(T0 ) si u ̸= v, T (u, v) ̸= vacı́o y T0 es una trayectoria óptima de u a v
1.1. DIGRAFOS 13

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:

T10 : , un arco directo de v2 a v3 , p(T10 ) = 3


T11 : , un arco directo de v2 a v3 , p(T11 ) = 2
T12 : , de v2 a v3 , p(T12 ) = 1 + 2 = 3

en consecuencia, dist(v2 , v3 ) = 2. De v3 a v2 no hay trayectorias, por tanto dist(v3 , v2 ) = ∞.

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:

u∗0 = v0 , d0 (u∗0 ) = ∞ y d0 (v) = ∞ para todo v ̸= v0

Paso Vértices Utilizados Datos para el Cálculo de Selección de


N◦ Conjunto Ui paso a desarrollar di+1 u∗i+1
Seleccionar vértice
u∗0 = v0 , Para todo v ∈ / U0 , calcular w1∗ tal que el nú-
0 U0 = {v0 } d0 (u∗0 ) = 0 ∗
d1 (v) = min{d0 (v), δ(u0 , v)} mero d1 (u∗1 ) sea
d0 (v) = ∞ ∀v ∈ / U0 mı́nimo entre los
valores d1 (v)
Seleccionar vértice
u∗1 , Para todo v ∈ / U1 , calcular u∗2 tal que el nú-
1 U1 = {v0 , u∗1 } d1 (u∗1 ) ∗ ∗
d2 (v) = min{d1 (v), d1 (u1 ) + δ(u1 , v)} mero d2 (u∗2 ) sea
d1 (v) ∀v ∈ / U1 mı́nimo entre los
valores d2 (v)
Seleccionar vértice
u∗2 , Para todo v ∈ / U2 , calcular u∗3 tal que el nú-
2 U2 = {v0 , u∗1 , u∗2 } d2 (u∗2 ) ∗ ∗
d3 (v) = min{d2 (v), d2 (u2 ) + δ(u2 , v)} mero d3 (u∗3 ) sea
d2 (v) ∀v ∈ / U2 mı́nimo entre los
valores d3 (v)
.. .. .. .. ..
. . . . .
Seleccionar vértice
u∗i , Para todo v ∈ / Ui , calcular u∗i+1 tal que el nú-
i Ui = {v0 , u∗1 , u∗2 , . . . , u∗i } dk (u∗i ) di+1 (v) = min{di (v), di (u∗i ) + δ(u∗i , v)} mero di+1 (u∗i+1 ) sea
di (v) ∀v ∈ / Ui mı́nimo entre los
valores di+1 (v)
.. .. .. .. ..
. . . . .

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,

d1 (u1 ∗) = dist(v0 , u∗1 ), d2 (u2 ∗) = dist(v0 , u∗2 ), d3 (u3 ∗) = dist(v0 , u∗3 ), . . .


14 CAPÍTULO 1. GRAFOS Y DIGRAFOS

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

PASO Ui DATOS di+1 u∗i+1


d0 (v0 ) = 0 d1 (v1 ) = mı́n{∞, 6} = 6
u∗0 = v0 d1 (v2 ) = mı́n{∞, ∞} = ∞ u∗1 = v3
0 U0 = {v0 } d0 (v1 ) = d0 (v2 ) = d1 (v3 ) = mı́n{∞, 5} = 5 ←− d1 (u∗1 ) = 5
d0 (v3 ) = d0 (v4 ) = d1 (v4 ) = mı́n{∞, 5} = 5
d0 (v5 ) = ∞ d1 (v5 ) = mı́n{∞, ∞} = ∞
u∗1 = v3 d2 (v1 ) = mı́n{6, 5 + 7} = 6
1 U1 = {v0 , v3 } d1 (v1 ) = 6 d2 (v2 ) = mı́n{∞, 5 + 6} = 11 u∗2 = v4
d1 (v4 ) = 5 d2 (v4 ) = mı́n{5, 5 + ∞} = 5 ←− d2 (u∗2 ) = 5
d1 (v2 ) = d1 (v5 ) = ∞ d2 (v5 ) = mı́n{∞, 5 + ∞} = ∞
u∗2 = v4
2 U2 = {v0 , v3 , v4 } d2 (v1 ) = 6 d3 (v1 ) = mı́n{6, 5 + ∞} = 6 ←− u∗3 = v1
d2 (v2 ) = 11 d3 (v2 ) = mı́n{11, 5 + 9} = 11 d3 (u∗3 ) = 6
d2 (v5 ) = ∞ d3 (v5 ) = mı́n{∞, 5 + ∞} = ∞
u∗3 = v1
3 U3 = {v0 , v1 , v3 , v4 } d3 (v2 ) = 11 d4 (v2 ) = mı́n{11, 6 + 7} = 11 ←−u∗4 = v2
d3 (v5 ) = ∞ d4 (v5 ) = mı́n{∞, 6 + ∞} = ∞ d4 (u∗4 ) = 11
u∗4 = v2 u∗5 = v5
4 U4 = {v0 , v1 , v2 , v3 , v4 } d4 (v5 ) = ∞ d5 (v5 ) = mı́n{∞11 + ∞} = ∞ ←− d5 (u∗5 ) = ∞
5 U5 = {v1 , v2 , v3 , v4 , v5 } FIN
A continuación se especifican las distancias de v0 a los demás vértices del digrafo:

dist(v0 , v1 ) = 6; dist(v0 , v2 ) = 11; dist(v0 , v3 ) = 5; dist(v0 , v4 ) = 5; dist(v0 , v5 ) = ∞

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

4. retrocedemos al paso anterior (1) y allı́ encontramos d2 (v2 ) = 11;

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.

1. Demostrar que en un digrafo D = [V, A, f ] con ponderación p : A −→ R también es válida la desigualdad


triangular (ver Problema 1.1.6).

2. Respecto al digrafo mostrado en la figura anexa,

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

a) encontrar trayectorias óptimas de v0 a v4 , de v1 a v3 y de v5 a v1


b) calcular los valores de x, y, z.
3. Sea D un digrafo con ponderación p; demostrar que si T es una trayectoria óptima en D (de un vértice
u a otro vértice v), entonces T es una trayectoria elemental y simple. ¿Es verdad el recı́proco?
4. En una cierta región montañosa de un parque, un sector del mismo tiene distribuidas las estaciones de
los guardias según indica el digrafo anexo.
s6

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

a) utilizar el algoritmo y encontrar las distancias de v0 a los demás vértices restantes.


b) utilizar el metodo de retroceso y encontrar las trayectorias óptimas correspondientes a las distan-
cias.
1.2. GRAFOS 17

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 }

(g2 no es una aplicación con dominio A: a4 no tiene imagen)


Una asignación de imágenes para todo los elementos de A que no satisface lo requerido por la Definición
1.10 es mostrada en la tabla siguiente.

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

Definición 1.11. Consideremos un grafo G = [V, A, g].


1. Llamaremos lazo de G a cualquier arista a ∈ A que tenga iguales sus dos extremos.
2. Para cada vértice v ∈ V , el grado de v es el numero de incidencias de aristas en v y lo denotaremos
por gr(v).
18 CAPÍTULO 1. GRAFOS Y DIGRAFOS

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

La matriz de adyacencias del grafo G1 es la matriz 5 × 5 que se muestra a continuación


 
0 0 1 0 0
 0 0 2 0 0 
 
Ma (G1 ) = 
 1 2 1 0 0 

 0 0 0 0 0 
0 0 0 0 0

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.

(a) (b) (c)


G1 G2 G3
1.2. GRAFOS 21

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

Definición 1.16. Sea G = [V, A, g] un grafo.


1. Si u y v son vértices del grafo G, diremos que u y v están conectados si y sólo si u = v o existe una
cadena que tiene sus extremos en u y en v.

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

Conexo (No hay cadenas que conecten vértices distintos)

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

Finalmente estudiaremos las componentes a continuación.


Dado un grafo simple G = [V, A, g], entre los vértices de G se define una relación binaria ∼ en la forma
siguiente:
“u ∼ v ⇐⇒ u y v están conectados′′
Esta relación ∼ es: reflexiva, simétrica y transitiva. En otras palabras, es una relación de equivalencia. En
consecuencia, a cada vértice u del grafo G le corresponde una clase de equivalencia que denotaremos por G(u)
y que es descrita ası́:
G(u) = {x ∈ V ⧸x ∼ u}
(en G(u) están todos los vértices x que están conectados a u).
24 CAPÍTULO 1. GRAFOS Y DIGRAFOS

Ejemplo 1.23. Veamos ejemplos en el grafo de la figura anexa.

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

G(v1 ) = G(v2 ) = G(v9 )


G(v3 ) = G(v4 ) = G(v5 ) = G(v12 ) = G(v13 )
Los vértices v1 , v2 , v9 (y las aristas entre éllas) forman una componente. Los vértices v3 , v4 , v5 , v12 , v13 (y las
aristas entre éllas) forman una componente.

Una propiedad importante de las clases de equivalencia, es la siguiente:

Si u, v son dos vértices del grafo G y u ∼ v, entonces G(u) = G(v);


pero si u ≁ v, entonces G(u) ∩ G(v) = ∅

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:

Si u ∼ v, entonces u y v generan la misma componente, pero


si u ≁ v, entonces u y generan componentes disjuntas.

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

v18 v16 v14


v10

v19 v17 v15 v13

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

De esta teorema se extrae un criterio numérico para determinar conexidad.


Corolario 1.4. Supongamos que G es un grafo simple que tiene n−vértices y m−aristas, con n ≥ 2. Entonces
es cierto que,
1
m > (n − 1)(n − 2) =⇒ G es conexo
2
Demostración. Supongamos que G no es conexo; entonces G tiene por lo menos 2 componentes. Con n−vérti-
ces y 2-componentes, el número de aristas m tiene que ser
1 1
m≤ (n − k)(n − k + 1) = (n − 2)(n − 1)
2 2
(k=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

1.2.2. Grafos Eulerianos, Grafos Hamiltonianos


Definición 1.17. Sea C = [v0 , a1 , v1 , . . . , vk−1 , ak , vk ] una cadena en un grafo G = [V, A, g]. Diremos que:
1. La cadena C es euleriana sii C contiene todas las aristas del grafo G sin repetirlas (o sea: {a1 , a2 , . . . , ak } =
A y ai ̸= aj si i ̸= j, i, j ∈ {1, 2, . . . , k}).
2. La cadena C es hamiltoniana sii C contiene todos los vértices de G sin repetirlos (o sea: {v1 , v2 , . . . , vk } =
V y vi ̸= vj si i ̸= j, i, j ∈ {1, 2, . . . , k}).
3. C es un ciclo euleriano sii v0 = vk y a1 , a2 , . . . , ak son todas las aristas del grafo G sin repeticiones
(ai ̸= aj si i ̸= j, i, j ∈ {1, 2, . . . , k}).
4. C es un ciclo hamiltoniano sii v0 = vk y v0 , v1 , . . . , vk−1 son todos las vértices del grafo G sin repeticiones
(vi ̸= vj si i ̸= j, i, j ∈ {1, 2, . . . , k − 1}).
Ejemplo 1.26.

1. En el grafo de la figura anexa,


v1
v2 2 G1
1
3 v0

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

la secuencia de aristas 7 − 6 − 5 − 4 − 3 − 2 − 1 proporciona una cadena euleriana que no es hamiltoniana


(ya que repite el vértice v).
3. En el grafo G3 ,
G3

no es posible encontrar cadenas eulerianas ni cadenas hamiltonianas.


1.2. GRAFOS 29

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.

Definición 1.18. Un grafo G es :


1. semieuleriano sii G es conexo y contiene una cadena euleriana.
2. euleriano sii G es conexo y contiene una ciclo euleriano.
3. semihamiltoniano sii G contiene una cadena hamiltoniana.
4. hamiltoniano sii G es contiene un ciclo hamiltoniano.
Ejemplo 1.27.

1. El grafo G1 del Ejemplo 1.26.1 es hamiltoniano y euleriano (también es semihamiltoniano y semieule-


riano)

2. El grafo G2 del Ejemplo 1.26.2 es semieuleriano pero no es euleriano. Tampoco es hamiltoniano ni


semihamiltoniano.

Teorema 1.9. Para cualquier garfo conexo G se cumple que:


1. G es euleriano ⇐⇒ cada vértice de G tiene grado par
2. G es semieuleriano ⇐⇒ en G hay a lo sumo dos vértices con grado impar.
Ejemplo 1.28. En el grafo completo Kn , cada vértice tiene grado n − 1. Si n es impar entonces Kn es
euleriano. Si n = 2, entonces G = K2 tiene exactamente dos vértices con grado impar y es semieuleriano.
Pero cuando n es par y n > 2, Kn no es semieuleriano ni euleriano.

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

2. tiene 3 o más vértices


n
3. todo vértice v de G tiene gr(v) ≥ donde n = n◦ de vértices de G.
2
Entonces se puede asegurar que G es hamiltoniano.

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

C = [v1 , 1, v2 , 2, v3 , 3, v4 , 4, v5 , 5, v6 , 6, v7 , 7, v8 , 8, v9 , 9, v10 , 10, v1 ]

La definición 1.18.4 permite concluir que C es hamiltoniano.


30 CAPÍTULO 1. GRAFOS Y DIGRAFOS

v4 v3
3
v5 4 2 v2

5 1
v6 v1
6 10

v7 7 9 v10
8
v8 v9

1.2.3. Algoritmo de Fleury


Dado un grafo conexo, el Teorema 1.9 proporciona un criterio para determinar si G es o no es un grafo
euleriano. El Algoritmo de Fleury permite encontrarlo en grafos finitos. La descripción de este algoritmo es
la siguiente:
Paso 1: Seleccionar un vértice cualquiera u.
Paso 2: Recorrer cualquier arista que incida en u y permita ir a otro vértice v (o al mismo u, la arista puede
ser un lazo).
Paso 3: Continuar recorriendo aristas (que no hayan sido “utilizadas”) en forma encadenada hasta completar
el ciclo. En cada selección de aristas para recorrer, se deben aplicar las reglas siguientes:
Regla 1: aristas ya recorridas deben ser “borradas” o descartadas; también deben ser “borrados” los
vértices que queden aislados.
Regla 2: aristas que sean istmos (ver Problema 1.4.4) no deben ser recorridas mientras exista otra
alternativa.
Ejemplo 1.30.

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

Ciclo Euleriano: [v1 , 1, v2 , 2, v3 , 3, v4 , 4, v1 , 5, v5 , 6, v4 , 7, v6 , 8, v5 , 9, v3 , 10, v1 ]


Problemario 1.5.

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 .

2−cı́rculo 3−cı́rculo 3−rueda 4−rueda

Determinar los valores de n para los cuales Rn es

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

7. Determine cuántos ciclos eulerianos distintos se pueden encontrar en:

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.

Algoritmo 1: Eliminación de ciclos simples (destructivo)


Este método se basa en la eliminación de ciclos simples en G. Su desarrollo es el siguiente:
Paso 1: seleccione un ciclo simple en G, elimine una arista de ese ciclo.
Paso 2: en el subgrafo parcial de G que quedó después Paso 1:, seleccione un ciclo simple y elimı́nele una
arista.
Paso 3: repetir el paso anterior hasta agotar los ciclos simples de G.
El subgrafo parcial final es un árbol generador de G.

Algoritmo 2: Construcción de un árbol generador (constructivo)


Este método se basa en la generación de una secuencia de árboles, hasta completar un árbol generador de
G. La construcción se hace mediante selección adecuada de vértices y aristas. Su desarrollo es el siguiente.
Paso 1: seleccionar un vétice s1 , hacer H1 = {s1 }.
Paso 2: seleccionar una arista a1 que tenga un extremo en H1 , el otro extremo s2 ∈
/ H1 . Hacer H2 = H1 ∪{s2 }.
Paso 3: seleccionar una arista a2 que tenga un extremo en H2 , el otro extremo en un vértice s3 ∈
/ H2 . Hacer
H3 = H2 ∪ {s3 }.
..
.
Paso j; seleccionar una arista aj−1 que tenga un extremo en Hj−1 , el otro extremo en un vértice sj ∈
/ Hj−1 .
Hacer Hj = Hj−1 ∪ {sj }.
34 CAPÍTULO 1. GRAFOS Y DIGRAFOS

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.

Método Destructivo: Eliminación de Ciclos Simples

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

Método Constructivo: Construcción de un Árbol Generador

H1 = {v4 } H2 = {v4 , v7 } H3 = {v4 , v5 , v7 }

selecciona selecciona c12


v5
v7 y c11 v7 v5 y c12 v7
c11 c11

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

c12 selecciona c12 selecciona c12


v5 v5 v5
v7 c9 v2 v3 y c3 v7 c9 v2 v2 y c9 v7
c11 c11 c11
c3

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.2.5. Grafos Ponderados. Árbol Generador Óptimo


Ası́ como ocurrió con los digrafos, los grafos también pueden ser “ponderados”. Para un grafo G = [V, A, g],
una ponderación es una función p : A −→ R>0 que a cada arista x le asigna un número real positivo p(x).
La suma de las ponderaciones de las aristas que forman C se denomina ponderación de C (= p(C)).
Si Ag (G) es el conjunto formado por todos los árboles generadores de G, y G es ponderado, entonces diremos
que un cierto árbol H0 es un árbol generador óptimo sii cumple dos condiciones:
1. H0 ∈ Ag (G)
2. p(H0 ) ≤ p(H), ∀H ∈ Ag (G)
Con pequeñas modificaciones, los dos algoritmos anteriormente estudiados se pueden utilizar para buscar
árboles generadores óptimos.
Problemario 1.6.

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

2. Encuentre todos los árboles generadores para: K5 , K6 , K3,3 , K3,4 , R5 , R6 .


3. Demostrar que en cualquier árbol con n−vértices, n ≥ 2, existen al menos dos vértices colgantes.
4. Sea G ̸= N1 un grafo que tiene n◦ de aristas = n◦ de vértices colgantes . Comprobar que G: o es
disconexo o es un árbol.
5. Sea G un grafo y sean u, v dos vértices de G. Además sea C(u, v) el conjunto de todas las cadenas que
conectan u y v. Se define la distancia de u a v en la forma siguiente:


0 si u = v
dist(u, v) = ∞ si C(u, v) es vacı́o (u ̸= v)


mı́n o(C) si C(u, v) es no vacı́o y C varı́a en C(u, v)

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

2.1. Relación Binaria. Representaciones. Propiedades


Definición 2.1. Una relación binaria R sobre un conjunto A es un subconjunto del producto cartesiano
A × A.
Ejemplo 2.1. Si A = {a, b, c} entonces A × A = {(a, a), (a, b), (a, c), (b, a), (b, b), (b, c), (c, a), (c, b), (c, c)}.
Son relaciones binarias sobre el conjunto A = {a, b, c}:

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:

R5 = ∅ (relación vacı́a) R6 = A × A R7 = {(a, a)}


R8 = {(b, c)} R9 = {(a, b), (b, c)} R10 = {((a, b), (b, c), (a, c)}
Cuando el conjunto A finito, cualquier relación binaria puede ser representada gráficamente, mediante
un diagrama sagital o digrafo: los elementos del conjunto son representados como vértices del digrafo y cada
pareja (x, y) de la relación es representado por un arco dirigido desde x hacia y.
Ejemplo 2.2. Representaciones gráficas de las relaciones R1 , R2 , R3 del Ejemplo 2.1

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

2.1.1. Propiedades Básicas de una Relación Binaria


Consideremos una relación binaria R sobre un conjunto no vacı́o A
1. Diremos que la relación R es reflexiva ⇐⇒ la condición aRa es verdadera para todo elemento a ∈ A
(o sea, cuando es verdadera la proposición ∀a ∈ A, aRa).
[Claramente R no es reflexiva cuando ∃a ∈ A, aR ⧸a].

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?

2. Diremos que la relación R es antisimétrica ⇐⇒ la condición [xRy ∧ y Rx −→ x = y] es verdadera para


cualquier x, y ∈ A. (O sea, es verdadera la proposición ∀x, y ∈ A xRy ∧ y Rx =⇒ x = y) Proposición
Equivalente: ∀x, y ∈ A x ̸= y ∧ xRy =⇒ y Rx
Nótese que esta última proposición no es verdadera cuando ∃x, y ∈ A, x ̸= y ∧ xRy ∧ y Rx

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?

4. Decimos que la relación R es conexa ⇐⇒ para todo par de elementos x, y ∈ A, x ̸= y es verdadera la


proposición xRy o y Rx. (O sea, cuando es verdadera la proposición ∀x, y ∈ A : xRy o y Rx.)
R no es conexa cuando ∃x, y ∈ A, x ≠ y ∧ x Ry ∧ y Rx

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

2.1.2. Orden Parcial. Conjunto Parcialmente Ordenado

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

un orden parcial, ninguna de las propiedades se pierde.


2.
40 CAPÍTULO 2. RETICULADOS

e e

R d R −1 d RB d

c c

b b b

a a a

R es de orden total R −1 es de orden total RB es de orden total

2.1.3. Comparabilidad. Predecesor Inmediato. Diagrama de Hasse


Definición 2.3. En un CPO [A, ≤], tomemos elementos p, q, r, s.
1. Diremos que p es comparable con q (denotado por p comp q) sii p ≤ q o q ≤ p
2. Diremos que r es predecesor inmediato de s (se denota por r ≺ s) sii son cumplidas las condiciones
siguientes:
a) r ≤ s, r ̸= s
b) no existe x ∈ A que haga verdadera la desigualdad r ≤ x ≤ s.
Ejemplo 2.10.
1.

e d a comp c, a comp e a ⊀ e porque a ≤ c ≤ e


a comp b, a comp d a ≺ c, a ≺ b
b
c b comp a, b comp d c ≺ e, b ≺ d

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

A continuación vemos la representación correspondiente a los dos ejemplos previos.

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.

2.1.4. Algoritmo para calcular M≺ a partir de M≤

Sea k = n◦ de elementos del CPO.

Paso 1: Calcular M≤

Paso 2: Calcular Mα = M≤ − Ik

Paso 3: Calcular (Mα )2

Paso 4: M≺ = Mα − (Mα )2

La matriz M≺ que se obtiene al terminar el PASO 4 es la representación matricial de la relación predecesor


inmediato: con la información contenida en la matriz (información numérica) se construye la representació
gráfica de la relación predecesor inmediato.

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

como utilizar el algoritmo anterior para construir el diagrama de Hasse

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.

2.1.5. Algoritmo para calcular M≤ a partir de M≺


Paso 1: Calcular M≺
2.1. RELACIÓN BINARIA. REPRESENTACIONES. PROPIEDADES 43

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.

1. Determinar cuáles de los gráficos siguientes corresponden a CPO y cuáles a CTO.

(a) (b) (c)

(d) (e) (f )

2. Determinar cuáles de las relaciones siguientes son ordenes parciales o totales


a) (a, b)R1 (c, d) ⇐⇒ a ≤ c, b ≤ d en R2 .
b) X R2 Y ⇐⇒ X ⊂ Y, X ̸= Y con X, Y ∈ P(I5 ), I5 = {1, 2, 3, 4, 5}.
c) A R3 B ⇐⇒ card A ≤ card B con A, B ∈ {{a, b}, {a, c}, {b, c, d}, {c}}.
d) X R4 Y ⇐⇒ X ⊆ Y con X, Y ∈ P(In ), In = {1, 2, 3, . . . , n}.
e) x R5 y ⇐⇒ 0 ≤ x + y con x, y ∈ [−2, 2].
f) x R6 y ⇐⇒ x = y con x, y ∈ A y A un conjunto no vacı́o.
3. Demostrar que la relación de divisibilidad es:
(a) Un orden parcial sobre N (b) Un orden total sobre el conjunto {2k /k = 1, 2, 3, . . . }
4. Demostrar que [P(A), ⊆] es un CPO, sea cual sea el conjunto A.
5. Hallar el diagrama de Hasse de
a) Cada uno de los CPO del problema 2.1.1
b) [P({1}), ⊆]
c) [P({1, 2}), ⊆]
d) [P({1, 2, 3}), ⊆]
6. A cada uno de los diagramas siguientes, hacerle el estudio indicado:
a) Determinar si puede ser, o no, un diagrama de Hasse.
44 CAPÍTULO 2. RETICULADOS

b) En caso que si sea un diagrama de Hasse, encontrar el diagrama sagital correspondiente.

7. Suponga que [A, ≤] es un CPO con A = {a1 , a2 , . . . , an } y con representación matricial M≤ . Si la


componente ij de M≤ es cij , demostrar que:

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.

a) Exhibir un isomorfismo de orden entre [P({1, 2}), ⊆ ] y [{1, 2, 3, 6}, | ]


b) Comprobar que [P({1, 2, 3}), ⊆] y [D30 , ⧸] son CPO isomorfos. (D30 es el conjunto formado por
los divisores de 30).
c) Demostrar que si h : A1 −→ A2 es un isomorfismo de orden, entonces h−1 : A2 −→ A1 también
lo es.
d) Si h es un isomorfismo de orden entre dos CPO finitos [A1 , ≤1 ] y [A2 , ≤2 ], ¿cómo son entre si los
diagrama de Hasse de los dos CPO?

2.2. Elementos Notables. Cotas Universales. Supremo. Infimo


Definición 2.4. En un CPO [A, ≤], escojamos un subconjunto no vacı́o B. Diremos que
2.2. ELEMENTOS NOTABLES. COTAS UNIVERSALES. SUPREMO. INFIMO 45

1. un elemento s ∈ A es cota superior de B sii todo elemento x ∈ B cumple x ≤ s

2. un elemento p ∈ B es elemento maximal de B sii todo x ∈ B cumple x ≤ p o x comp


⧸ p

3. un elemento m ∈ B es elemento máximo de B sii todo x ∈ B cumple x ≤ m

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}

2◦ Elementos maximales de B son: i, h.


Nótese que: c ≤ i, d ≤ i, e ≤ i, i ≤ i, h comp
⧸ i (vea la definición de elemento maximal), c ≤ h, e ≤ h,
h ≤ h, d comp
⧸ h, i comp ⧸ h.

3◦ No hay un elemento z ∈ B que cumpla x ≤ z para todo x ∈ B; en consecuencia, no hay elemento má-
ximo de B

4◦ Cotas Inferiores de B son: c, a (ci(B) = {a, c})

5◦ Elementos minimales de B son: c (único). Nótese que: c ≤ c, c ≤ e, c ≤ d, c ≤ i, c ≤ h.

6◦ Elementos mı́nimos de B: c (único).

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.

3. En un subconjunto B de un CPO no puede haber más de un elemento máximo (resp. mı́nimo)

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.

CPO [A, ≤] = X CPO dual [A, (≤)−1 ] = X


l=I c a b

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

Dos conceptos adicionales, de mucha importancia, encontramos a continuación.


Definición 2.5. En un CPO [A, ≤], tomemos un subconjunto no vacı́o B. Si z es un elemento de A, diremos
que:

(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

Para el conjunto B = {c, d, e, h, i} tenemos que:

cs(B) = {l, n, p} y csm(B) = {l}


ci(B) = {a, c} y cim(B) = {c}
Para el conjunto B ′ = {e, h, i, l} resulta que

cs(B ′ ) = {l, n, p} y csm(B ′ ) = {l}


ci(B ′ ) = {a, b, c, e} y cim(B ′ ) = {e}

Ejemplo 2.16. Respecto al CPO de la figura anexa,

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:

(1◦ ) w ≤ b, ∀b ∈ B y (2◦ ) ∀w′ ∈ ci(B) : w′ ≤ w

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

(Hay muchas parejas de elementos comparables, sólo exhibimos algunas.)


En cuanto a elementos no-comparables, tenemos que:

para {g, f }, cs({g, f }) = ∅, csm({g, f }) = ∅, por consiguiente no existe supremo de {g, f },


ci({g, f }) = {⊘, a, b, d}, cim({g, f }) = {d}, ası́ que d = ı́nf {g, f } = g ∧ f ;
para {c, d}, cs({c, d}) = {g}, csm({g, f }) = {g}, por tanto existe supremo de {c, d}, c ∨ d = g
ci({c, d}) = {⊘, b}, cim({c, d}) = {b}, por tanto b = c ∧ d.

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.

2. A continuación mostramos varios CPO que si 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:

(1◦ ) sup({x, y}) = x ∨ y (2◦ ) ı́nf({x, y}) = x ∧ y

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)

2. a ∨ b = b ∨ a, a ∧ b = b ∧ a ∀a, b ∈ A (propiedad de conmutatividad)

3. a ∨ (b ∨ c) = (a ∨ b) ∨ c, a ∧ (b ∧ c) = (a ∧ b) ∧ c ∀a, b, c ∈ A (propiedad de asociatividad)

4. a ∨ (a ∧ b) = a, a ∧ (a ∨ b) = a ∀a, b ∈ A (propiedad de absorción)

Demostración.

1. Debido a la relación ≤ es reflexiva, tenemos que a ≤ a, ∀a ∈ A. Ahora, el Principio de la Consistencia


nos permite asegurar que a = a ∧ a y a = a ∨ a, a ∈ A.

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 ∧).

3. Si x = a ∨ (b ∨ c) y z = (a ∨ b) ∨ c, entonces debemos comprobar que x = z. Para lograrlo recurriremos


a la antisimetrı́a de ≤, ası́ que comprobaremos que x ≤ z y que z ≤ x. Ası́
2.2. ELEMENTOS NOTABLES. COTAS UNIVERSALES. SUPREMO. INFIMO 51

x = a ∨ (b ∨ c) =⇒ x ∈ cs({a, b ∨ c}) (porque supremo es cota superior mı́nima)


=⇒ a ≤ x, b ∨ c ≤ x (definición de cota superior)
=⇒ a ≤ x, b ≤ b ∨ c ≤ x, c ≤ b ∨ c ≤ x (b ∨ c ∈ cs({b, c}))
=⇒ a ≤ x, b ≤ x, c ≤ x (transitividad de ≤ )
=⇒ x ∈ cs({a, b}), c ≤ x (definición de cota superior)
=⇒ a ∨ b ≤ x, c ≤ x (porque a ∨ b es cota sup. mı́nima de {a, b})
=⇒ x ∈ cs({a ∨ b, c}) (por definición de cota superior)
=⇒ (a ∨ b) ∨ c ≤ x (supremo es mı́nima entre cotas superiores)
=⇒ z ≤ x (definición de z)

Similarmente se comprueba que x ≤ z.


4. Ejercicio: demostrar absorción (imitar la anterior)

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

Ası́ que ≤ es antisimétrica.


3. Para a, b, c ∈ X

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

De manera que la relación ≤ es transitiva


Ya tenemos demostrado que [X, ≤] es un CPO, vamos a comprobar ahora que este CPO es un reticulado.
Para lograrlo, debemos comprobar que cada par de elementos a, b ∈ X posee supremo e ı́nfimo: si tomamos
a, b que sean comparables (esto es, a ≤ b o b ≤ a), entonces el Principio de Consistencia garantiza la existencia
de supremo e ı́nfimo de la pareja {a, b}, ası́ que necesitamos considerar el caso en que a, b no son comparables.
Debido a que ∗1 es una operación sobre el conjunto X, existe m ∈ X tal que a ∗1 b = m y podemos asegurar
que m ̸= a, m ̸= b (puesto que m = a ⇒ b ≤ a, m = b ⇒ a ≤ b).
Ahora resulta que:

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

de manera que a ≤ m y b ≤ m, esto es, m ∈ cs({a, b}).


Además, si p ∈ cs({a, b}), entonces a ≤ p y b ≤ p (por definición de cota superior) y la definición de ≤ nos
permite asegurar que a ∗1 p = p y b ∗1 p = p.
Entonces resulta que: m ∗1 p = (a ∗1 b) ∗1 p = a ∗1 (b ∗1 p) = a ∗1 p = p por consiguiente m ≤ p, y el resumen
presentado al final de la observación 2.2 nos permite concluir que

sup({a, b}) = m = a ∗1 b

De manera similar tenemos que existe n ∈ X tal que n = a ∗2 b: entonces resulta que

n ∗1 a = (a ∗2 b) ∗1 a = a ∗1 (a ∗2 b) = a (por absorción), de manera que n ≤ a


y n ∗1 b = (a ∗2 b) ∗1 b = b ∗1 (b ∗2 a) = b (por absorción), de manera que n ≤ b

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

∀ Y ∈ P(S) es verdad que Y ∪ Y = Y, Y ∩ Y = Y


∀ Y, Z ∈ P(S) es verdad que Y ∪ Z = Z ∪ Y, Y ∩ Z = Z ∩ Y
∀ Y, Z, W ∈ P(S) es verdad que (Y ∪ Z) ∪ W = Y ∪ (Z ∪ W ), (Y ∩ Z) ∩ W = Y ∩ (Z ∩ W )
∀ Y, Z ∈ P(S) es verdad que Y ∪ (Y ∩ Z) = Y, Y ∩ (Y ∪ Z) = Y

El Corolario 2.1 nos permite concluir que [P(S), ∪, ∩ ] es un reticulado.


(b) El conjunto N = {1, 2, 3, . . . , } es no vacı́o, y mcm (mı́nimo común múltiplo), mcd (máximo común
divisor) son operaciones sobre N. Con un trabajo muy laborioso, aunque muy sencillo, se comprueba
que mcm y mcd possen las 4-propiedades requeridas en el Corolario 2.1, ası́ que podemos concluir que
[N, mcm, mcd ] es un reticulado.
(c) Aunque el conjunto R es no vacı́o, resulta que mcm y mcd NO SON operaciones sobre R, de manera
que [R, mcm, mcd ] no es un reticulado. Pero [R, mı́n, máx] si es un reticulado.
(máx(a, b) es el mayor de los números a, b; similarmente, mı́n(a, b) es el menor de los números. Ası́:
máx(3, 5) = 5, mı́n(3, 5) = 3)
2.2. ELEMENTOS NOTABLES. COTAS UNIVERSALES. SUPREMO. INFIMO 53

Problemario 2.2.

1. Determine cuáles de los diagramas siguientes corresponden a reticulados.

(a) (b) (c) (d) (e)

2. Determine cuáles de los sistemas siguientes son reticulados.


a) [R, ≤] (orden usual)
b) [N, ⧸]
c) [P(S), ⊆], S es cualquier conjunto.
d) [R2 , α] donde α se define por (a, b)α(c, d) ⇐⇒ a ≤ c, b ≤ d
e) [A1 × A2 × · · · × An , σ] donde [A1 , ≤1 ], [A2 , ≤2 ], . . . , [An , ≤n ] son reticulados y σ es la relación
definida sobre el conjunto A1 × A2 × · · · × An mediante la siguiente regla:

(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

(f) [A1 × A2 × · · · × Ak , ⊔, ⊓] donde [A1 , ∨1 , ∧1 ], [A2 , ∨2 , ∧2 ], . . . , [Ak , ∨k , ∧k ] son reticulados y

(a1 , a2 , . . . , ak ) ⊔ (b1 , b2 , . . . , bk ) = (a1 ∨1 b1 , a2 ∨2 b2 , . . . , ak ∨k bk )

(a1 , a2 , . . . , ak ) ⊓ (b1 , b2 , . . . , bk ) = (a1 ∧1 b1 , a2 ∧2 b2 , . . . , ak ∧k bk )


11. Si [A, ∨, ∧] es un reticulado, B es un conjunto no vacı́o y h : A −→ B es una apliación biyectiva, ¿se
pueden definir sobre B dos operaciones binarias ∗1 , ∗2 de manera que [B, ∗1 , ∗2 ] sea un reticulado?
12. Demostrar que en cualquier reticulado R = [A, ∨, ∧] son verdaderas las proposiciones siguientes.
(a) ∀x, y, z ∈ A : x ∨ (y ∧ z) ≤ (x ∨ y) ∧ (x ∨ z)
(b) ∀x, y, z ∈ A : (x ∧ z) ∨ (x ∧ z) ≤ x ∧ (y ∨ z)
(c) ∀x, y, z ∈ A : (x ∧ y) ∨ (y ∧ z) ∨ (z ∧ x) ≤ (x ∨ y) ∧ (y ∨ z) ∧ (z ∨ x)

2.3. Isomorfismos. Subreticulados. Reticulados Distributivos. Com-


plementos
Definición 2.7. Supongamos que L1 = [A1 , ∨1 , ∧1 ] y L2 = [A2 , ∨2 , ∧2 ] son reticulados y que h : A1 −→ A2
es una aplicación. Diremos que:
(a) la aplicación h preserva las operaciones si se cumple que

h(x1 ∨1 x2 ) = h(x1 ) ∨2 h(x2 ) y h(x1 ∧1 ) = h(x1 ) ∧2 h(x2 )

(b) h es un isomorfismo entre reticulados ⇐⇒ h es biyectiva y preserva las operaciones.

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

También tenemos las tablas de dos correspondencias h1 y h2 entre elementos de L1 y elementos de L2 .


X ∅ {1} {2} {1, 2} X ∅ {1} {2} {1, 2}
h1 (X) 6 1 3 2 h2 (X) 1 2 3 6

En L1 vemos que En L2 vemos que


{1} ∪ {2} = {1, 2} ⇝ pero ⇝ h1 ({1}) = 1, h1 ({2}) = 3
con h1 ({1, 2}) = 2 y h1 ({1}) sup h1 ({2}) = mcm(1, 3) = 3

Ası́ vemos que h1 no preserva la operación de supremo,


∴ h1 no es un isomorfismo de reticulado(aunque es biyectiva)
Respecto a la aplicación h2 tenemos que:
(1) h2 es biyectiva,
h2 ({1, 2}) = 6, h2 ({1}) = 2, h2 ({2}) = 3 y h2 ({1}) sup h2 ({2}) = mcm(2, 3) = 6
2.3. ISOMORFISMOS. SUBRETICULADOS. RETICULADOS DISTRIBUTIVOS. COMPLEMENTOS55

(2) Con cada pareja X, X ′ de elementos de L1 se puede comprobar que


h2 (X ∪ X ′ ) = mcm(h2 (X), h2 (X ′ )) y h2 (X ∩ X ′ ) = mcd(h2 (X), h2 (X ′ ))
Debido a (1) y (2), h2 es un isomorfismo entre reticulados.
Definición 2.8. Supongamos qu L1 = [A1 , ∨, ∧] es un reticulado. Si L2 = [B, ∨′ , ∧′ ] también es un reticu-
lado, diremos que L2 es un subreticulado deL1 si y sólo si se cumple que:
(1) B ⊆ A
(2) x ∨′ x′ = x ∨ x′ ∀x, x′ ∈ B
(3) x ∧′ x′ = x ∧ x′ ∀x, x′ ∈ B
Ejemplo 2.22. A continuación encontramos 4 diagramas. El primero, el segundo y el tercero representan
3-reticulados, el cuarto no.

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

Conjunto Conjunto Conjunto Conjunto


A = {a, b, c, d, e, f, g} B1 = {a, b, d, e, f, g} B2 = {a, c, e, f, g} B3 = {b, c, f, g}

L1 es reticulado y B1 ⊆ A pero en L1 es e ∧1 f = a y en L es e ∧ f = c ̸= e ∧1 f (no cumple (2))


∴ L1 NO ES SUBRETICULADO de L
L2 es reticulado, B2 ⊆ A: e ∧2 f = c = e ∧ f, e ∨2 f = g = e ∨ f , para toda pareja x, x′ ∈ B2 se comprueba
que x ∨2 x′ = x ∨ x′ , x ∧2 x′ = x ∧ x′ . Ası́ que L2 si es subreticulado de L.
La figura D representa un CPO que no es un reticulado, por eso no puede ser subreticulado de L
Comentario: la Definición 2.8 establece que los subreticulados de L1 se construyen con subconjuntos del
reticulado; en estos subconjuntos hay que “crear” operaciones ∨′ , ∧′ que coincidan con las operaciones que
hay en L1 (y que conviertan al subconjunto en un reticulado). En el teorema siguiente vemos que NO HAY
que “crear” nuevas operaciones, sino utilizar las operaciones de L1 . Además, este nuevo teorema estipula las
condiciones que debe cumplir el subconjunto para que con él se pueda construir un subreticulado.
Teorema 2.6. Supongamos que L = [A, ∨, ∧] es un reticulado, que B ̸= ∅ es un subconjunto de A y que
∨B , ∧B son las restricciones de ∨, ∧ al subconjunto B. Entonces se cumple que:

[B, ∨B , ∧B ] es un subreticulado de L ⇐⇒ las operaciones ∨, ∧ son cerradas en el subconjunto B


(esto es, que x ∨ x′ , x ∧ x′ ∈ B, ∀x, x′ ∈ B)
Ejemplo 2.23. En la figura anexa vemos un reticulado L, cuyo conjunto es A = {m, n, p, q, r, s, t}. Si
tomamos el subconjunto B1 = {n, q, r, t} vemos que

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

Definición 2.9. Un reticulado L = [A, ∨, ∧] es distributivo ⇐⇒ las igualdades x ∨ (y ∧ z) = (x ∨ y) ∧ (x ∨ z),


x ∧ (y ∨ z) = (x ∧ y) ∨ (x ∧ z) para todos los valores que puedan tomar las variables x, y, z sobre el conjunto
A.

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)

Ejemplo 2.25. El diagrama anexo muestra un reticulado con 5-elementos.

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

x ∧ (y ∨ z), L = (x ∧ y) ∨ (x ∧ Z) y chequear si coinciden J = K, H = L.


Ambas coincidencias deben darse, en las 125 asignaciones posibles, para poder concluir que el reticulado si
es distributivo (al fallar una de las igualdades, se concluye que el reticulado no es distributivo). En nuestro
ejemplo vemos que:
{
J = x ∨ (y ∧ z) = b ∨ (c ∧ d) = b ∨ a = b
x = b, y = c, z = d =⇒
K = (x ∨ y) ∧ (x ∨ z) = (b ∨ c) ∧ (b ∨ d) = e ∧ e = e

de manera que J ̸= K y el reticulado no es distributivo

Teorema 2.7 (Criterio para distributividad). Un reticulado L es distributivo ⇐⇒ ningún subreticulado de


L es isomorfo a alguno de los dos reticulados siguientes:

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

Definición 2.10. En un reticulado L = [A, ∨, ∧] que sea acotado, tomemos elementos p, q


(a) Diremos que q es un complemento de p si cumple: p ∧ q = ⊘, p ∨ q = I

(b) Diremos que el reticulado es complementado ⇐⇒ todo elemento p de L poose, al menos, un comple-
mento

Ejemplo 2.27. Dado el diagrama anexo,

I I I
L1 L2 L3 w
b a m n t r s
u
⊘ ⊘ ⊘
58 CAPÍTULO 2. RETICULADOS

En el reticulado L1 podemos ver que


⊘ ∧I = ⊘ ⊘∨I =I
a∧b=⊘ a∨b=I

en consecuencia I es un complemento de ⊘, b es un complemento de a.


(Nótese que I ∧ ⊘ = ⊘, I ∨ ⊘ = I, b ∧ a = ⊘, b ∨ a = I, de manera que ⊘ es un complemento de I, a es un
complemento de b). L1 es un reticulado complementado.
En L2 vemos que m ∧ n = ⊘, m ∨ n = I, m ∧ t = ⊘, m ∨ t = I; esto significa que tanto n como t son
complementos de m. Nótese que, en L2 , la cota universal I es un complemento de ⊘ y ⊘ es un complemento
de I.
En L3 , también es verdad que ⊘ ∧ I = ⊘, ⊘ ∨ I = I (o sea, I es un complemento de ⊘) y que I ∧ ⊘ =
⊘, I ∨ ⊘ = I (ası́ que ⊘ es un complemento de I); pero ninguno de los elementos r, s, u, w tiene complemento.
En consecuencia, el reticulado L3 no es complementado.
A continuación encontramos propiedades del complemento.
Teorema 2.8. Si p, q son elementos de un reticulado acotado L = [A, ∨, ∧] y q es un complemento de p,
entonces p es un complemento de q.
Demostración.

q es un complemento de p =⇒ p ∧ q = ⊘, p ∨ q = I ( debido a definición de complemento)


=⇒ q ∧ p = ⊘, q ∨ p = I (debido a conmutatividad de ∨, ∧)
=⇒ p es un complemento de q (debido a definición de complemento)

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

Entonces tenemos r = r ∧ s = s ∧ r = s (contradicción con r ̸= s).


En conclusión, x no puede tener más de un complemento.
Observación 2.5. El Teorema 2.9 establece que en un reticulado distributivo y acotado un elemento x puede
tener un complemento único, no puede tener más. En ese caso, al complemento de x se le denota por x (porque
en ese caso no hay riesgo de ambigüedad).
Ejemplo 2.28. En el reticulado L1 del Ejemplo 2.27 vimos que cada elemento tiene un único complemento,
ası́ que podemos escribir ⊘ = I, a = b, b = a, I = ⊘.
En el reticulado L2 del mismo Ejemplo 2.27 vemos que m tiene dos complementos: n y t. ¿Cuál de ellos
dos serı́a representado por el sı́mbolo m?. La ambigüedad presente en este caso es razón suficiente para no
utilizar m.
2.3. ISOMORFISMOS. SUBRETICULADOS. RETICULADOS DISTRIBUTIVOS. COMPLEMENTOS59

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

vemos que j ∨ h = I, j ∧ h = ⊘, j ∨ g = I, j ∧ g = ⊘, j ∨ f = I, j ∧ f = ⊘, j ∨ a = I, j ∧ a = ⊘ ası́ hemos


encontrado 4-complementos del elemento j, en consecuencia el reticulado L no es distributivo.
Teorema 2.10. Supongamos que L = [A, ∨, ∧] es un reticulado acotado y distributivo. Si a, b son elementos
de L, y poseen complementos a, b respectivamente, entonces:
(1) a tiene complemento y es a (o sea, a = a)[Propiedad de INVOLUCIÓN]

}
(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.

(1) De acuerdo con el Teorema 2.8, a es complemento de a =⇒ a es complemento de a. Pero el complemento


es único porque L es distributivo, en consecuencia a = a.
(2) Ahora comprobaremos que a ∧ b es complemento (único) de a ∨ b; para eso, debemos ver que (a ∨ b) ∧
(a ∧ b) = ⊘ y (a ∨ b) ∨ (a ∧ b) = I
Primero:

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

(a ∨ b) ∨ (a ∧ b) = [(a ∨ b) ∨ a] ∧ [(a ∨ b) ∨ b] (distributividad)


= [(b ∨ a) ∨ a] ∧ [(a ∨ b) ∨ b] (conmutatividad de ∨)
= [b ∨ (a ∨ a)] ∧ [a ∨ (b ∨ b)] (asociatividad de ∨)
= [b ∨ I] ∧ [a ∨ I] (definición de complemento)
=I ∨I (I es cota superior universal, principio de consist.)
=I (Idempotencia de ∧)
60 CAPÍTULO 2. RETICULADOS

(3) Ejercicio

Problemario 2.3.

1. Suponer que L1 = [A1 , ∨1 , ∧1 ] y L2 = [A2 , ∨2 , ∧2 ] son reticulados y h : A1 −→ A2 es un isomorfismo


entre reticulados. Demostrar que:

(a) Si L1 es acotado entonces L2 es acotado


(b) Si L1 es distributivo entonces L2 es distributivo
(c) Si L1 es complementado entonces L2 es complementado y al ser q complemento de p en A1 ,
también h(q) es complemento de h(p) en A2
(d) Si B1 ⊆ A1 es un subreticulado de L1 entonces B2 = h(B1 ) es un subreticulado de L2
2. Si L = [A, ∨, ∧] es un reticulado, demostrar que todo subconjunto totalmente ordenado B ⊆ A define
un subreticulado de L

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.

(a) (b) (c) (d)

2.4. Representación en Reticulados


Consideremos un reticulado L = [A, ∨, ∧] y elementos a, b, c, d ∈ A. Al escribir una expresión como
[(a ∨ b) ∧ c] ∨ [(a ∨ c ∨ d) ∧ b] se esta describiendo una cierta forma de combinar los elementos a, b, c, d mediante
las operaciones ∨, ∧. En esa expresión aparecen indicadas las operaciones que se deben realizar: al efectuar
esas operaciones, se van obteniendo otros elementos de A. Ası́: a ∨ b = p, (a ∨ b) ∧ c = p ∧ c = q, a ∨ c =
2.4. REPRESENTACIÓN EN RETICULADOS 61

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:

dado x ∈ A, se escoge dos predecesores inmediatos de x, diagamos w1 y w2 (w1 ̸= w2 ). De ahı́ resulta


que x = w1 ∨ w2 .
Ahora, a w1 y w2 se les aplica el mismo procedimiento y se obtienen elementos w11 , w12 , w21 , w22 que
satisfacen w1 = w11 ∨w12 y w2 = w21 ∨w22 con w11 ̸= w12 , w21 ̸= w22 , ası́ que x = w11 ∨w12 ∨w21 ∨w22 .
Ahora se le aplica el procedimiento a w11 , w12 , w13 , w14 y se continuará repitiendo con los elementos
que se obtengan. Bajo unas condiciones “buenas”, este proceso terminará (finito) cuando los elementos
que se obtengan ya no tengan dos o más predecesores inmediatos (cada uno). En ese momento, para el
elemento x se ha encontrado una representación de la forma

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.

(a) En el reticulado L mostrado en la figura, son elementos ∨-irreducibles ⊘, a, b, c, d, f, h (debido a que


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)

Otra expresión para I:

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

Nótese que en g = c ∨ a ∨ f resulta que a es comparable con f (a ≤ f ), en consecuencia el Principio de


Consistencia establece que a ∨ f = f y la expresión c ∨ a ∨ f se simplifica y nos queda g = c ∨ f . Esta situación
se presenta en muchas otras representaciones, como vemos a continuación:

I = d ∨ c ∨ b ∨ h = (d ∨ c) ∨ (b ∨ h) = d ∨ h (esta última espresión no se puede reducir de tamaño)


I = d ∨ c ∨ a ∨ f = (d ∨ c) ∨ (a ∨ f ) = d ∨ f (esta última espresión no se puede reducir de tamaño)
g = b ∨ a ∨ f = b ∨ (a ∨ f ) = b ∨ f
d = d ∨ c = d, d = d ∨ ⊘ = d
a = 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:

(a) Si w ∈ A1 es un elemento ∨1 -irreducible, entonces h(w) es ∨2 -irreducible.


(b) Si p1 , p2 , . . . , pk son elementos de A1 y p1 ∨p2 ∨· · ·∨pk es una expresión ∨1 -irredundante, entonces
h(p1 ∨ p2 ∨ · · · ∨ pk ) es una expresión ∨2 -irredundante.
64 CAPÍTULO 2. RETICULADOS
Capı́tulo 3

Álgebras Booleanas

3.1. Primera definición de Álgebra Booleana


En el Capı́tulo 2 estuvimos estudiando la estructura básica de CPO, sobre la cual se construye la estructura
de reticulado (en las ocasiones que cada par de elementos del CPO posse supremo e ı́nfimo). También
estudiamos la 2a versión de reticulado, que exhibe las operaciones de un conjunto no vacı́o con dos operaciones
binarias, cada una con cuatro propiedades: idempotencia, conmutatividad, asociatividad y absorción.
Ası́ mismo, estudiamos el concepto de subreticulado y el problema de representación en reticulados, y los
tipos de reticulados: distributivos y complementados. Al juntar varias caracterı́sticas, aparece ahora una
nueva estructura.
Definición 3.1. Llamaremos álgebra booleana (o álgebra de Boole) a cualquier reticulado que sea acotado,
distributivo y complementado. Usualmente denotaremos álgebras booleanas mediante

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:

X {} {a} {b} {a, b}

X {a, b} {b} {a} {}

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

Encontrará la respuesta en las secciones venideras. No se la pierda.

3.2. Dualidad en Algebras Booleanas. Diagrama de Hasse de un


Álgebra Booleana Finita
Trabajemos un álgebra booleana Bn = [A, ∨, ∧,− , ⊘, I] que tenga n-átomos a1 , a2 , . . . , an . El Teorema
3.1 nos dice que únicamente son ∨−irreducibles los 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

Figura 3.1: 3 Niveles Inferiores de Bn

∃x12 ∨ x13 = (a1 ∨ a2 ) ∨ (a1 ∨ a3 ) = a1 ∨ a2 ∨ a3 = x123


.. .. ..
. . .
∃x12 ∨ x1n = (a1 ∨ a2 ) ∨ (a1 ∨ an ) = a1 ∨ a2 ∨ an = x12n

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.

x12 ∨ x34 = a1 ∨ a2 ∨ a3 ∨ a4 = x1234

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

y concluimos que dn = an (dn es complemento de an ).


De manera general tenemos que dj = aj (j = 1, 2, . . . , n)
(recuérdese que en un álgebra booleana, cada elemento x tiene complemento x único).
Ahora podemos pensar en el efecto de invertir el orden parcial que corresponde a las operaciones ∨, ∧. Al

hacerlo pasamos de Bn a un álgebra booleana dual que denotaremos por Bn , con operaciones ∨∗ , ∧∗ y −∗
∗ ∗
y con cotas universales: ⊘ = I, I = ⊘.

En Bn , los átomos∗ son los sucesores inmediatos de ⊘∗ = I, y estos son precisamente d1 , d2 , . . . , dn (por

eso es que los llamamos d-átomos). En Bn , los únicos elementos ∨∗ -irreducibles son ⊘∗ y los d-átomos
d1 , d 2 , . . . , d n .

En este caso, la versión de ∨∗ -irreducible en Bn se presenta como sigue:

un elemento d es ∨∗ -irreducible en B∗n si ocurre que: d = p ∨∗ q =⇒ p = d o q = d (3.1)

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 :

un elemento d es ∧ -irreducible en Bn si ocurre que: d = p ∧ q =⇒ p = d o q = d

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

x = dx1 ∧ dx2 ∧ · · · ∧ dxh

donde x ≤ dxj (j = 1, 2, . . . , h).


Ası́ pues, podemos decir que en Bn ocurre que todo elemento x ̸= I posee una única representación canónica
conjuntiva de la forma x = dx1 ∧dx2 ∧· · ·∧ dxh en la cual aparecen exactamente los d-átomos dxj que cumplen
la condición x ≤ dxj .
El teorema siguiente menciona otra caracterı́sticas importantes de estos elementos notables de las álgebras
booleanas.
Teorema 3.3. Sea Bn un álgebra booleana con n-átomos a1 , a2 , . . . , an y sean d1 = a1 , d2 = a2 , . . . , dn = an
los d-átomos. Entonces resulta que:
1. Si z es un elemento de Bn , z ≠ ⊘ y z ̸= I, entonces z no puede ser comparable simultáneamente con
un átomo aj y con el d-átomo dj .
2. Si x es un elemento de Bn , x ̸= ⊘ y x ̸= I, y sus representaciones canónicas son
x = ax1 ∨ ax2 ∨ · · · ∨ axk
x = dx1 ∧ dx2 ∧ · · · ∧ dxh (no es dxj = axj )

entonces se cumple que k + h = n y {ax1 , ax2 , . . . , axk } ∪ {dx1 , dx2 , . . . , dxh }


Problemario 3.1.
70 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS

1. Determinar cuáles de los reticulados siguientes son álgebras booleanas.

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.

3. Determinar cuáles de los reticulados siguientes son álgebras booleanas:

a) [D20 , mcm, mcd]


b) [D378 , mcm, mcd]
c) [D210 , mcm, mcd]
d) [D105 , mcm, mcd]
e) [I100 , máx, mı́n]
f) [{0, 1}, máx, mı́n]
g) Un CTO finito

3.3. Segunda Definición de Álgebra Booleana. Cubo Unitario. Iso-


morfismo Booleanos
Cuando estudiamos el concepto de reticulado, comenzamos tomándolo como un CPO en el cual cada
par de elementos tiene supremo e ı́nfimo. Posteriormente encontramos otra presentación de ese tipo de
estructura, con la apariencia de un conjunto (no vacı́o) dotado de dos operaciones binarias que satisfacen
ciertas propiedades. Con las álgebras booleanas ocurre algo similar. El teorema siguiente muestra una primera
parte del asunto.

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

[AB2 ] Conmutatividad ∀a, b ∈ A a ∨ b = b ∨ a, a ∧ b = b ∧ a

[AB3 ] Asociatividad ∀a, b, c ∈ A (a ∨ b) ∨ c = a ∨ (b ∨ c), (a ∧ b) ∧ c = a ∧ (b ∧ c)


3.3. SEGUNDA DEFINICIÓN DE ÁLGEBRA BOOLEANA. CUBO UNITARIO. ISOMORFISMO BOOLEANOS71

[AB4 ] Absorción ∀a, b ∈ A a ∨ (a ∧ b) = a, a ∧ (a ∨ b) = a

[AB5 ] Modularidad ∀a, b, c ∈ A a ∧ [b ∨ (a ∧ c)] = (a ∧ b) ∨ (a ∧ c)

[AB6 ] Distributividad ∀a, b, c ∈ A a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)

[AB7 ] Acotación Universal ∀a ∈ A a ∨ ⊘ = a, a ∧ ⊘ = ⊘, a ∨ I = I, a ∧ I = a

[AB8 ] Complementación ∀a ∈ A a ∨ a = I, a ∧ a = ⊘

[AB9 ] Involución ∀a ∈ A a = a

[AB10 ] Dualización ∀a, b ∈ A a ∨ b = a ∧ b, a ∧ b = a ∨ b

y de manera recı́proca aparece, en el teorema siguiente, la segunda parte del asunto.

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

Además, en Cn se escogen ⊘n = (0, 0, . . . , 0), In = (1, 1, . . . , 1) y se comprueba entonces la validez de


[AB1], [AB2], . . . , [AB10]. El álgebra booleana que se obtiene con este proceso es el n-cubo unitario o
cubo unitario de dimensión n
n n n
[Cn , ∨, ∧, − , On , In ]
Usualmente no representamos los elementos de Cn como n-uplas sino en forma de “listas” con n-
componentes binarias: en lugar de escribir (x1 , x2 , . . . , xn ) escribimos x1 x2 . . . xn .
Ası́, los elementos de C2 son: 00,01,10 y 11, los elementos de C3 son: 000, 001, 010, 011, 100, 101, 110, 111.
La representación gráfica (diagrama de Hasse) del (n + 1)-cubo unitario Cn+1 se pude construir combinando
2 copias del n-cubo unitario Cn . Esto es debido a que

Cn+1 =C1 × Cn = {0, 1} × Cn


=({0} × Cn ) ∪ ({1} × Cn )
={(x1 , x2 , . . . , xn+1 )⧸ x1 = 0, (x2 , x3 , . . . , xn+1 ) ∈ Cn } ∪
{(x1 , x2 , . . . , xn+1 )⧸ x1 = 1, (x2 , x3 , . . . , xn+1 ) ∈ Cn }

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)

A estos les agregamos una cuarta componente y formamos los elementos de C4 :


0000 0100 1000 1100
0001 0101 1001 1101
0010 0110 1010 1110
0011 0111 1011 1111
(nueva componente: 0) (nueva componente: 1)

Ahora, con 2 copias del diagrama de C1 , construimos el diagrama de C2 :

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

Con 2 copias de C2 podemos construir C3 Versiones Usuales de los Diagramas

111

011 101 110

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

00 000 0001 0010 0100 1000

0000

tenga n-átomos. Esta situación es formalizada en la definición y el teorema siguientes.


Definición 3.2. Llamaremos isomorfismo booleano a cualquier aplicación h entre dos álgebras booleanas,
que sea biyectiva y que preserve las tres operaciones (∨, ∧,− )
O sea, dadas dos álgebras booleanas B1 = [A1 , ∨1 , ∧1 ,−1 , ⊘1 , I1 ] y B2 = [A2 , ∨2 , ∧2 ,−2 , ⊘2 , I2 ], un
isomorfismo booleano de B1 en B2 es una aplicación biyectiva h : A1 −→ A2 que cumple las condiciones
siguientes:
1. ∀a, b ∈ A1 : h(a ∨1 b) = h(a) ∨2 h(b)
2. ∀a, b ∈ A1 : h(a ∧1 b) = h(a) ∧2 h(b)
2
3. ∀a ∈ A1 : h(a1 ) = h(a)
Ejemplo 3.3. Es fácil construir un isomorfismo booleano de C2 en el álgebra booleana [P({1, 2}), ⊆],
utilizando los diagramas respectivos. Asignación de imágenes:

11 ∅
C2 [P({1, 2}, ⊆]

01 10 {1} {2}

00 {1, 2}

h(11) = {1, 2}, h(01) = {2}, h(10) = {1}, h(00) = ∅


74 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS

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

En C2 , escogemos 01 y 10 Imagenes h(01) = {2}, h(10) = {1}


01 ∧2 10 = 00 h(01) ∧ h(10) = {2} ∩ {1} = ∅ = h(00)
01 ∨2 10 = 11 h(01) ∨ h(10) = {2} ∪ {1} = {1, 2} = h(11)

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:

h(00) = h(11) = {1, 2} = ∅ = h(00)


h(01) = h(10) = {1} = {2} = h(01)
h(10) = h(01) = {2} = {1} = h(10)
h(11) = h(00) = ∅ = {1, 2} = h(11)

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.

1. Determinar cuáles de los sistemas siguientes son álgebras booleanas.


a) [D20 , mcm, mcd]
b) [I100 , máx, mı́n]
c) [D378 , mcm, mcd]
d) [D385 , mcm, mcd]
e) [D210 , ⧸]
f) [D90 , ⧸]
3.3. SEGUNDA DEFINICIÓN DE ÁLGEBRA BOOLEANA. CUBO UNITARIO. ISOMORFISMO BOOLEANOS75

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 )

i) [B, ⊔, ⊓] donde [A; ∨, ∧] es álgebra booleana, h : A −→ B en una aplicación biyectiva y ⊔, ⊓ se


calculan de acuerdo con lo que establece la regla siguiente: si x, y ∈ B y a, b ∈ A son los unicos
elementos que satisfacen h(a) = x, h(b) = y, entonces x ⊔ y = h(a ∨ b), x ⊓ y = h(a ∧ y).

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) El postulado AB1 se puede obtener de AB4.


b) El postulado AB5 se puede obtener de AB1,AB2,AB3,AB4 y AB6.
c) Los postulados AB9 y AB10 se pueden obtener de los 8 postulados restantantes.

4. Sea B = [A, ∨, ∧,− , ⊘, I] un álgebra booleana. 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

5. En un álgebra booleana B = [A, ∨, ∧,− , ⊘, I] se define la diferencia simétrica △ en la forma siguiente:

a △ b = (a ∧ b) ∨ (a ∧ b) para cualesquiera a, b ∈ A

Demostrar que para cualesquiera a, b, c, x ∈ A se cumple:

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

3.4. Expresiones Booleanas


Consideremos un álbegra booleana B = [A, ∨, ∧,− ] y tomemos en ella varios elementos p1 , p2 , . . . , pn .
Las operaciones ∨, ∧,− nos permiten “mezclar” o “conectar” esos elementos para representar otros elementos
de B. Formalmente, tenemos la definición siguiente.

Definición 3.3. Las combinaciones booleanas de p1 , p2 , . . . , pn son los elementos de B que se obtienen al
aplicar las normas siguientes:

(CB1) Cada pj es combinación booleana de p1 , p2 , . . . , pn (j = 1, 2, . . . , n)

(CB2) El complemento de una combinación booleana de p1 , p2 , . . . , pn también es una combinación booleana


de p1 , p2 , . . . , pn

(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

En C4 , el elemento 1111 es combianción booleana de 0010, 1000, 0100, 0001 pues


(0010 ∨ 1000) ∧ (0100 ∨ 0001) ∨ (0001 ∨ 1000) = 1010 ∧ 0101 ∨ 1001 = 0000 ∨ 1001 = 1111 ∨ 1001 = 1111

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:

(EB1) Cada ⊘, l1 , l2 , . . . , lk son expresiones booleanas en l1 , l2 , . . . , lk

(EB2) El “complemento” de una expresión booleana en l1 , l2 , . . . , lk también es una expresión booleana en


l1 , l2 , . . . , lk

(EB3) Disyunción y conjunción de expresiones booleanas en l1 , l2 , . . . , lk son expresiones booleanas en l1 , l2 , . . . , lk


3.4. EXPRESIONES BOOLEANAS 77

(EB4) Cualquier expresión booleana en l1 , l2 , . . . , lk resulta de aplicar las normas anteriores una cantidad finita
de veces.

Ejemplo 3.5. Las fórmulas siguientes son expresiones booleanas en 3-letras l1 , l2 , l3 :

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 )

Una expresión booleana de la forma α1 ∧ α2 ∧ · · · ∧ αr con α1 , α2 , . . . , αr ∈ {l1 , l2 , . . . , lk , l1 , l2 , . . . , lk } es


llamada una conjunción.

Una conjunción fundamental en l1 , l2 , . . . , lk es una expresión λ1 ∧ λ2 · · · ∧ λk en la que λj = lj o λj = lj .

Al cambiar el conectivo ∧ por ∨ se obtiene las disyunciones y las disyunciones fundamentales en l1 , l2 , . . . , lk .

Ejemplo 3.6. En 4-letras a, b, c, d se tiene que:

(i) Son conjunciones a, b, a ∧ b, a ∧ b ∧ c, a ∧ b ∧ c ∧ d, ⊘

(ii) Son conjunciones fundamentales a ∧ b ∧ c ∧ d, a ∧ b ∧ c ∧ d, a ∧ b ∧ c ∧ d

(iii) Son disyunciones a, b, a ∨ b, a ∨ b ∨ c, a ∨ b ∨ c ∨ d, ⊘

(iv) Son disyunciones fundamentales a ∨ b ∨ c ∨ d, a ∨ b ∨ c ∨ d, a ∨ b ∨ c ∨ d

Algunas manera especiales de presentar expresiones booleanas en l1 , l2 , . . . , lk son las siguientes:

(1a ) Forma Conjuntiva Normal A1 ∧ A2 ∧· · ·∧ Ar , en la cual A1 , A2 , . . . , Ar son disyunciones en l1 , l2 , . . . , lk .


Una forma conjuntiva normal muy particular es ⊘.

(2a ) Forma Conjuntiva Estándar D1 ∧ D2 ∧ · · · ∧ Ds o ⊘, donde D1 , D2 , . . . , Ds son disyunciones fundamen-


tales en l1 , l2 , . . . , lk .

(3a ) Forma Disyuntiva Normal B1 ∨B2 ∨· · ·∨Br o ⊘, donde B1 , B2 , . . . , Br son conjunciones en l1 , l2 , . . . , lk .

(4a ) Forma Disyuntiva Estándar C1 ∨C2 ∨· · ·∨Cs o ⊘, donde C1 , C2 , . . . , Cs son conjunciones fundamentales
en l1 , l2 , . . . , lk .

Ejemplo 3.7. En 3-letras x, y, z, las expresiones E1 = x ∧ (x ∨ y) ∧ (x ∨ y) ∧ y, E2 = z, E3 = x ∨ y están


en forma conjuntiva normal, mientras que E4 = x ∨ y ∨ z, E5 = (x ∨ y ∨ z) ∧ (x ∨ y ∨ z) están en forma
conjuntiva estándar. En forma normal disyuntiva están E6 = (x ∧ y) ∨ z ∨ (x ∧ z) ∨ (x ∧ y ∧ z), E7 = x ∧ z,
E8 = y; por otra parte, E9 = x ∧ y ∧ z y E10 = (x ∧ y ∧ z) ∨ (x ∧ y ∧ z) ∨ (x ∧ y ∧ z) ∨ (x ∧ y ∧ z) están en
forma disyuntiva estándar.

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 .

Demostración. Sea C = λ1 ∧ λ2 ∧ · · · ∧ λk una conjunción fundamental en l1 , l2 , . . . , lk . Con la letra lk+1


podemos escribir

C = C ∧ I = (λ1 ∧ λ2 ∧ · · · ∧ λk ) ∧ (lk+1 ∨ lk+1 ) = (λ1 ∧ λ2 ∧ · · · ∧ λk ∧ lk+1 ) ∨ (λ1 ∧ λ2 ∧ · · · ∧ λk ∧ lk+1 )


78 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS

Corolario 3.1. Existen 2k conjunciones fundamentales en k-letras l1 , l2 , . . . , lk


Demostración. Procedamos por inducción en el número de letras. Para k = 1, la conclusión es claramente
cierta, pues las únicas conjunciones fundamentales en 1-letra son l1 y l1 .
Supongamos que para k = n es cierta la conclusión; esto es, que hay 2n conjunciones fundamentales en
n-letras l1 , l2 , . . . , ln , a saber C1 , C2 , . . . , C2n . Al agregar una nueva letra ln+1 , el Teorema ?? asegura que
cada conjunción Cj (j = 1, 2, . . . , 2n ) produce dos conjunciones fundamentales: Cj ∧ ln+1 y Cj ∧ ln+1 . En
consecuencia, se tienen 2,2n = 2n+1 conjunciones fundamentales en las n + 1 letras l1 , l2 , . . . , ln , ln+1 .
Observación 3.1. El procedimiento aplicado en la demostración del Teorema 3.7 permite llevar una expre-
sión booleana, dada en forma normal disyuntiva, a formal normal disyuntiva estándar, como veremos en el
ejemplo siguiente.
Ejemplo 3.8. La expresión booleana E = (a∧b)∨(a∧c)∨b está en forma normaldisyuntiva. Cada una de las
tres conjugaciones que allı́ aparece puede ser llevada a forma disyuntiva estándar, como vemos a continuación:
a ∧ b = (a ∧ b) ∧ I = (a ∧ b) ∧ (c ∨ c) = (a ∧ b ∧ c) ∨ (a ∧ b ∧ c)
a ∧ c = (a ∧ c) ∧ I = (a ∧ c) ∧ (b ∨ b) = (a ∧ b ∧ c) ∨ (a ∧ b ∧ c)
b = b ∧ I = b ∧ (a ∨ a) = (a ∧ b) ∨ (a ∧ b) = [(a ∧ b) ∨ (c ∧ c)] ∨ [(a ∧ b) ∨ (c ∧ c)]
= (a ∧ b ∧ c) ∨ (a ∧ b ∧ c) ∨ (a ∧ b ∧ c) ∨ (a ∧ b ∧ c)
Al sustituir, la expresión E queda as:́

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

F = [x ∨ (y ∨ z)] ∧ [(y ∧ z) ∨ (x ∧ z)] (por dualización)


= [x ∨ (y ∧ z)] ∧ [(y ∧ z) ∨ (x ∧ z)] (por distribución)
= (x ∧ yz) ∨ (x ∧ x ∧ z) ∨ (y ∧ z ∧ y ∧ z) ∨ (y ∧ z ∧ x ∧ z) (por distributividad)
= (x ∧ yz) ∨ (⊘ ∧ z) ∨ (⊘ ∧ z) ∨ (x ∧ y ∧ ⊘) (AB1, AB2, AB3, AB8)
= (x ∧ yz) ∨ ⊘ ∨ ⊘ ∨ ⊘ = x ∧ y ∧ z (AB7)

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

(b) En el Ejemeplo 3.8 vimos que, en 3-letras a, b, c, la expresión booleana E = (a ∧ b) ∨ (a ∧ c) ∨ b es


equivalente a la forma disyuntiva estándar G = (a ∨ b ∨ c) ∧ (a ∨ b ∨ c) ∧ (a ∨ b ∨ c) ∧ (a ∨ b ∨ c) ∧ (a ∨ b ∨ c).
(c) Similarmente F = x ∧ (y ∨ z) ∧ [(y ∧ z) ∨ (x ∧ z)] es equivalente a H = x ∧ y ∧ z
Problemario 3.3.

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.

3.5. Aplicaciones Booleanas


Tomemos una expresión booleana E en n-letras l1 , l2 , . . . , ln y un álgebra booleana B = [A, ∨, ∧,− ]. Si
a cada letra lj le asignamos un valor aj ∈ A (j = 1, 2, . . . , n) y sustituimos las letras por esos valores en
E, esta expresión se convierte en una combinación booleana de los elementos a1 , a2 , . . . , an y es un elemento
a ∈ A. En esta manera de proceder, la expresión E sirve para asociarle a cada n-upla (a1 , a2 , . . . , an ) de
elementos de A un elemento a = E(a1 , a2 , . . . , an ) ∈ A; es decir, la expresión E define una aplicación
fE : An = A × A · · · × A −→ A. Ası́ tenemos que, fijada el álgebra booelana B, toda expresión booleana en
n-letras define una aplicación de An en A. Pero ¿es cierto que toda aplicación f : An −→ A es definida por
una expresión booleana en n-letras?. En el ejemplo siguiente encontramos la respuesta.
80 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS

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:

Ef (l1 , l2 , l3 ) = (l1 ∧ l2 ∧ l3 ) ∨ (l1 ∧ l2 ∧ l3 ) ∨ (l1 ∧ l2 ∧ l3 ) ∨ (l1 ∧ l2 ∧ l3 ) ∨ (l1 ∧ l2 ∧ l3 )


Nótese que cualquier expresión booleana F que sea equivalente a Ef también define a f . Por ejemplo, F =
(l1 ∧ l2 ∧ l3 ) ∨ (l2 ∧ l3 ) ∨ [l1 ∧ (l2 ∨ l3 )] es equivalente a Ef ; si evaluamos a F en cada elemento de C3 ,
encontraremos que F asigna exactamente las mismas imágenes que Ef .
3.6. CIRCUITOS LÓGICOS. COMPUERTAS 81

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

Por su parte, la expresión para F queda ası́:

F (l1 , l2 , l3 ) = l1 l2 l3 ∨ 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

2. Sea g : C3 −→ C1 la aplicación definida en la tabla siguiente:

x 000 001 010 100 110 101 011 111


g(x) 0 1 1 0 0 1 1 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

3.6. Circuitos Lógicos. Compuertas


Un sistema digital está constituido por circuitos que realizan tareas especificas tales como combinar, gene-
rar y almacenar señales (binarias), ası́ como un receptor de radio realiza tareas de amplicación y modulación
de señales. Es notable la diferencia entre los tipos de circuitos: en el receptor de radio es muy importante
que las señales recorran toda la gamma de valores entre un máximo y otro mı́nimo. En el sistema digital, las
señales sólo admiten dos valores posibles (señales binarias) y toman o uno de los valores o el otro, pero no
recorren los valores intermedios. Usualmente, este tipo de circuito recibe el nombre de circuito lógico.
Entre los accesorios que constituyen este tipo de circuitos podemos mencionar: interruptores (switches),
82 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS

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

Los dos sı́mbolos X, X no son variables diferentes; X es el complemento de X, 0 es el complemento de 1 y


1 lo es de 0. Esta situación “complementarı́a” entre un par de contactos es tı́pica de los contactos que se
encuentran integrados dentro de un “rele” o regulador “relay”. Otro dispositivo de mucha utilidad puede ser
descrito en términos del algebra de interruptores que estamos desarrollando: se trata de un inversor, que se
encarga de “invertir” el valor de la señal que recibe, transmitiendo el otro valor posible. Si x0 es la señal que
entra y x1 es la que sale, entonces x1 = x0 .
La acción de otros dispositivos o de “instalaciones” es representada por otras operaciones algebraicas. Co-
mencemos por considerar dos contactos (o dispositivos cualesquiera) conectado en serie y con transmisiones
X1 , X2 . La transmisión resultante, correspondiente a este nuevo dispositivo, es determinada experimental-
mente y aparece descrita en la table siguiente.

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

La columna DEC muestra el número decimal cuya representación binaria es el elemento x1 x2 x3 x4 de C4 .


Los elementos de C4 cuya imagen es 1 corresponden a las ocasiones en que la transmisión del circuito es 1.
Estas situaciones se podrı́an obtener fácilmente con la expresión T = (x1 ∧ x2 ) ∧ (x3 ∨ x4 ); en el diagrama
del circuito vemos que hay transmión en el circuito (T = 1) cuando hay transmisión en x1 y en x2 y en la
conexión de x3 con x4 ; esta última se da cuando hay transmisión por lo menos en una de los dos (x3 o x4 ).
De esta manera, las combinaciones que dan transmisión T = 1 son

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

T = (x1 ∧ x2 ∧ x3 ∧ x4 ) ∨ (x1 ∧ x2 ∧ x3 ∧ x4 ) ∨ (x1 ∧ x2 ∧ x3 ∧ x4 )

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

El circuito del Ejemplo 3.12 es representado por el diagrama de bloque siguiente:


x1

x2
x3

x4

Problemario 3.5.

1. Representar el circuito siguiente mediante un diagrama de bloque. Además, encontrar la transmisión


del circuito, la tabla de combinaciones y la expresión en forma disyuntiva estándar para la transmisión.
3.6. CIRCUITOS LÓGICOS. COMPUERTAS 85

x3 x1 x5

x4 x2

x1 x2 x3

2. La operación x tambieén es representada gráficamente mediante compuertas. En este caso la compuerta


se denomina NOT y se muestra en la figura el “funcionamiento”

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

3. En el diagrama siguiente, C es una caja que contiene un circuito desconocido.

(a) Describir T1 y T2 mediante expresiones booleanas en w, x


(b) El circuito encerrado en la caja C actúa en la forma siguiente: si T1 = 0, entonces y = 0, y = 1.
Además, y = 1 si T1 = 1, a menos que T2 = 1; en este último caso es y = 0. Escribir una expresión
que describa y en términos de x, w.

T1

x •

y
C y

w • •
T2
86 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS

3.7. Optimización De Aplicaciones Booleanas


Dada una función f : Cn −→ C1 , ya sabemos como encontrar una expresión booleana en forma disyuntiva
estándar Ef que sirva de ley de correspondencia a dicha aplicación. Al tener esa expresión, es relativamente
fácil diseñar un circuito lógico cuya transmisión sea f . Pero sabemos que muchos otras expresiones booleanas
tienen a Ef como forma disyuntiva estándar y definen la misma aplicación f : ésto es, cada una de esas
expresiones corresponde a un circuito lógico que tiene transmisión igual a f . Entre todos esos circuitos, ¿cuál
es mas “más económico”?, ¿cuál utiliza menos contactos?. No es difı́cil suponer que dicho circuito (en caso
que exista) corresponde a una expresión más sencilla, con menor cantidad de términos y de “conexiones”.
Definición 3.7. Sea f : Cn −→ C1 una aplicación en forma disyuntiva estándar Ef (en n-letras) y sea
Em una expresión booleana en las mismas n-letras, en forma disyuntiva normal y que sea equivalente a
Ef . Diremos que Em es minimal para la aplicación f sii para expresión booleana E en n-letras, en forma
disyuntiva normal y equivalente a Ef se cumplen las siguientes condiciones:
1. n◦ de términos de Em ≤ n◦ de términos de E
2. n◦ de apariciones de letras en Em ≤ n◦ de apariciones de letras en E
Al pensar en reducir los números de términos y de apariciones de letras en una expresión, los postulados
(AB6), (AB7), (AB8) proporcionan una regla de simplificación de expresiones booleanas.
Teorema 3.11. Sea E una expresión booleana y sea x una letra que no aparece en E. Entonces

(E ∧ x) ∨ (E ∧ x) = E

Demostración.
(E ∧ x) ∨ (E ∧ x) = E ∧ (x ∨ x) = E ∧ I = E

Ejemplo 3.13.

(a) La expresión E = x y z ∨ x y z ∨ x y z ∨ x y z (en la cual sobrentendemos el conector ∧, de acuerdo


con la Observación 3.2 de la página 81) es simplificada al utilizar la regla del Teorema 3.11 en la forma
siguiente.

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:

F = w x y z ∨ w x y z∨w x y z ∨ w x y z∨w x y z ∨ w x y z∨w x y z ∨ w x y z


| {z } | {z } | {z } | {z }
∨ w x z} ∨ w x y ∨ w x y
= |w x z {z
| {z }
=w x∨w y

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

(b) Una conjugación α es llamada implicante de una aplicación f : Cn =⇒ C1 sii α =⇒ Ef (Ef es la


forma disyuntiva estándar de f ).

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 .

Demostración. Si x1 x2 . . . xn es un elemento de Cn en el cual αj = 1 (j ∈ {1, 2, . . . , k}), entonces también E


vale 1; como E =⇒ Ef , resulta que αj =⇒ E =⇒ Ef .

Ejemplo 3.14.

(a) Sean E1 = x y z ∨ x y z, E2 = x y z ∨ x y z. Para la asignación x = 1, y = 1, z = 0 se tiene que


E1 = 1 1 0 ∨ 1 1 0 = 111 ∨ 100 = 1 ∨ 0 = 1 pero E2 = 1 1 0 ∨ 1 1 0 = 001 ∨ 010 = 0 ∨ 0 = 0. En
⧸ E2
consecuencia E1 =⇒

(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

Ejemplo 3.15. Sea f : C3 −→ C1 la aplicación definida por la expresión booleana E = x z ∨ y z ∨ x y z.


El Teorema 3.13 establece que cada una de las tres conjunciones α1 = x y, α2 = y z, α3 = x y z es implicante
de f .
Si a α1 se le quita la letra x, queda sólo z; pero cuando z = 1 y x = y = 0, ocurre que el valor de E o de f
es f (001) = 0 1 ∨ 0 1 ∨ 0 0 1 = 0 ∨ 0 ∨ 0 = 0, de manera que z no es implicante de f . Si a α1 se le quita
z, queda x y tampoco es implicante de f . En consecuencia, α1 es implicante primo de f .
En forma similar se comprueba que α2 también es implicante primo de f . Pero α3 no es implicante primo
de f pues al quitarle x queda yz, que si es implicante de f

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:

(1) Cada conjunción de E es implicante primo de f

(2) Al quitarle a E cualquiera de las conjunciones que la forman se obtiene una expresión que no define a
f

Teorema 3.15. Si Em es una expresión minimal para una aplicación f : Cn −→ C1 , entonces Em es


f -irredundante.

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 .

3.8. Método de McClueskey-Quine para obtener los implicantes


primos de f a partir de la forma disyuntiva estándar Ef
Paso 1: Escribir cada conjunción fundamental de Ef en notación binaria. (0 si la letra esta complementada,
1 si la letra no tiene complemento).

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:

Clase de 0 componentes iguales a 1


Clase de 1 componentes iguales a 1
..
.
Clase de n componentes iguales a 1

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

(1◦ ) Búsqueda de implicantes primos

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

(2◦ ) Tabla de implicantes primos

(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

De las columnas señaladas extraemos el núcleo

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)

Las conjunciones fundamentales que contienen a estos implicantes primos son:

0, 2, 4, 6, 12, 14, 10, 11, 15, 7

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 .

Ejemplo 3.19. Consideremos la aplicación siguiente, dada en notación decimal



f = (0, 3, 4, 5, 6, 7, 8, 10, 11)

Al utilizar el método de McCluskey-Quine, se obtienen los implicantes primos de f :

(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

(0) (4) (8) (3) (5) (6) (10) (11) (7)


(4, 5, 6, 7) x x x x
(0, 4) x x
(0, 8) x x
(8, 10) x x
(3, 11) x x
(3, 7) x x
(10, 11) x x

Núcleo: N = (4, 5, 6, 7)
En la tabla restante, encontramos 4-alternativas para recorrer las 5-conjunciones fundamentales restantes.

(0) (8) (3) (10) (11)


(0, 4) x
(0, 8) x x
(8, 10) x x
(3, 11) x x
(3, 7) x
(10, 11) x x

A saber:

A1 = (0, 4) ∨ (8, 10) ∨ (3, 11)


A2 = (0, 8) ∨ (3, 11) ∨ (8, 10)
A3 = (0, 8) ∨ (3, 11) ∨ (10, 11)
A4 = (0, 8) ∨ (3, 7) ∨ (10, 11)
92 CAPÍTULO 3. ÁLGEBRAS BOOLEANAS

Esas 4-combinaciones son ∨-irredundantes y al combinarlas con N proporcionan 4 expresiones f -irredundantes,


todas coincidiendo en cantidad de términos y de apariciones de letras.
En resumen, hay 4 expresiones minimales para f : a saber,

E 1 = N ∨ A1 E2 = N ∨ A2

E 3 = N ∨ A3 E4 = N ∨ A4

Problemario 3.6.

1. En cada uno de los casos siguiente, averiguar si E1 =⇒ E2 y E2 =⇒ E1


(a) E1 = a b c b, E2 = a b c d ∨ a b c d
(b) E1 = x y ∨ x y z, E2 = x y z ∨ y z
(c) E1 = p q ∨ p r, E2 = p q r ∨ q r
2. En cada uno los casos siguientes, averiguar si α es implicante primo de f
(a) α = p q r, f = p q r s ∨ p q r s ∨ p q r s
(b) α = a b, f = a b c d ∨ a b c d ∨ a b c d ∨ a b c d
(c) α = x y w, f = x y z w ∨ x y z w ∨ x y z w ∨ x y z w
(d) α = a b, f = a b c d ∨ a b c d a b c d ∨ a b c d ∨ a b c d
3. En 4-letras a, b, c, d, las completaciones de la conjunción α = ac son las 4-conjunciones siguientes:
abcd, abcd, abcd, abcd.
En 5-letras: a, b, c, d, e, son 8-completaciones: abcde, abcde, abcde, abcde, abcde, abcde, abcde, abcde.
Si todas las completaciones de ab en 4-letras aparecen en una expresión de E, ¿es verdad que ab implica
a E?, ¿qué pasa si no aparecen todas las completaciones de ab en E?
4. Encontrarle la expresión minimal a cada una de las funciones siguientes

(a) f (a, b, c) = (0, 3, 5, 6)

(b) f (a, b, c) = (0, 3, 4, 6)

(c) f (a, b, c, d) = (0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 15)

(d) f (a, b, c, d) = (0, 1, 2, 4, 5, 6, 7, 10, 11, 12, 13)

(e) f (a, b, c, d, e) = (0, 1, 3, 7, 8, 9, 10, 11, 14, 15, 16, 18, 22, 23, 24, 25, 26, 30)
Capı́tulo 4

Máquinas de Estado Finito

4.1. Máquinas de Estado Finito


Definición 4.1. Una máquina de estado finito (MEF) es una estructura M = [I, O, E , ce, co] constituida
por tres conjuntos no vacı́os y finitos I, O, E y dos aplicaciones ce : I × E −→ E , co : I × E −→ O.
Los conjuntos I, O, E son llamados alfabeto de entradas, alfabeto de salidas y conjunto de estados internos,
respectivamente. Por su parte, ce es la aplicación de cambio de estados y co es la aplicación de salidas.
Ejemplo 4.1. Pongamos I = {0, 1}, O = {a, b} y E = {e0 , e1 , e2 }. Cualquier par de aplicaciones ce :
I × E −→ E , co : I × E −→ O completa la definción de una máquina con alfabeto I, O y 3-estados internos
e0 , e1 , e2 . En la tabla siguiente se da un par ce, co.
(0, e0 ) (1, e0 ) (0, e1 ) (1, e1 ) (0, e2 ) (1, e1 )
ce e1 e0 e2 e1 e0 e2
co a b b a b a
Un par distinto, que define una MEF distinta a la anterior, es la siguiente:
(0, e0 ) (1, e0 ) (0, e1 ) (1, e1 ) (0, e2 ) (1, e1 )
ce′ e2 e1 e0 e2 e1 e0
co′ a a b a b b
Dos maneras usuales de representar una MEF son: el diagrama de estados y la tabla de estados. El
diagrama de estados es una representación sagital cuyos vértices son los estados internos de la máquina; se
dibuja una flecha de un estado e a otro estado e′ si para alguna entrada x ocurre que ce(x, e) = e′ . La flecha
lleva doble ponderación: la entrada x y la respectiva salida s = co(x, e). A continuación encontramos los
diagramas de estados de las dos máquinas del Ejemplo 4.1.

M = [I, O, E , ce, co]

1/a M = [I, O, E , ce′ , co′ ]


0/a
e1
0/a
e2 e0
0/b 1/b
1/b e0
0/b 1/a
0/b 1/a 0/b
e2 1/a e1

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.

entra 0 entra 0 entra 1 entra 0 entra 1


e0 e0 e0 e1 e1 e0
sale 0 sale 0 sale 1 sale 0 sale 1

sale entra
0 0

entra 1 entra 0 entra 1 entra 1 entra 1


e0 e1 e1 e0 e1 e0
sale 1 sale 0 sale 1 sale 1 sale 1

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

5. Diseñar una MEF que realice la operación ⊗ dada en la tabla anexa:

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

4.2. Máquinas Equivalentes. Optimización


El comportamiento secuencial de las máquinas puede ser descrito mediante aplicaciones. Dada una MEF
M = [I, O, E , ce, co] con estado inicial z, al proporcionarle una secuencia de entradas ã = [x1 x2 . . . xk ]
la MEF produce una secuencia de salidas s̃ = [y1 y2 . . . yk ] y “sufre” una secuencia de cambios internos
ẽ = [zz1 z2 . . . zk ], según se muestra en el diagrama.
Si el número k está fijo, podemos mirar las secuencias [z, z1 z2 . . . zk ], [y1 y2 . . . yk ] como las imágenes respectivas
de las secuencias ã = [x1 x2 . . . xk ] bajo las aplicaciones siguientes:

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

[zz1 z2 . . . zk ] = cek+1 ([x1 x2 . . . xk ], z) y [y1 y2 . . . yk ] = cok ([x1 x2 . . . xk ], z)

denotaremos las de M por

[z z1 z2 . . . zk ] = cek+1 ([x1 x2 . . . xk ], z) y [y1 y2 . . . yk ] = cok ([x1 x2 . . . xk ], z)

Definición 4.2. Diremos que:


96 CAPÍTULO 4. MÁQUINAS DE ESTADO FINITO

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

1. La relación ⊒ es reflexiva y transitiva.


2. La relación eq es una relación de equivalencia.
La situación M ⊒ M se puede entender en la forma siguiente: M puede realizar las mismas “labores”
que M (y quizás algunas más). Por otra parte, M eq M significa que cada una de las dos máquinas puede
hacer hacer todo lo que hace la otra.
Al pensar de esta forma, encontramos el problema siguiente: dada una MEF M , ¿es posible encontrar M que
cubra a M o que sea equivalente a M , y que tenga menos estados internos?. Busquemos ahora la solución
de este problema.
Definición 4.3. Sea M = [I, O, E , ce, co] una MEF y sen e, e′ ∈ E . Diremos que:
(a) e es r−equivalente a e′ (denotado por e EQr e′ ) sii para toda secuencia de entradas ã = [x1 x2 . . . xr ] ∈ I r
ocurre que ξr (ã, e) = ξr (ã, e′ )
(b) e es equivalente a e′ (denotado por e EQ e′ sii e EQr e′ para todo entero positivo r.
Las negaciones (e no es r-equivalente a e′ y e no es equivalente a e′ ) serán denotadas por e EQr e′ y
e EQ e′ , respectivamente. Además, para facilitar la notación se utilizan los conjuntos
G(EQr ) = {(e, e′ ) ⧸ e, e′ ∈ E y e EQr e′ }
G(EQr ) = {(e, e′ ) ⧸ e, e′ ∈ E y e EQr e′ }
G(EQ), G(EQ) que se definen analogamente.
Ejemplo 4.3. Consideremos la máquina dada por la tabla de estados anexa.
ce co
M
0 1 0 1
e0 e2 e1 0 1
e1 e0 e2 1 0
e2 e0 e1 0 1
En la tabla se ve que con secuencias de entradas con una componente, los estados e0 y e2 producen salidas
idénticas: o sea, e0 EQ e2 . Ası́ tenemos que,
G(EQ1 ) = {(e0 , e0 ), (e0 , e2 ), (e1 , e1 ), (e2 , e0 ), (e2 , e2 )}
G(EQ1 ) = {(e0 , e1 ), (e1 , e0 ), (e1 , e2 ), (e2 , e1 )}
Para encontrar G(EQ2 ), debemos proporcionar secuencias de entradas con dos componentes, ã = [xx x2 ] ∈ I 2
a los diversos estados de M . Se tiene que
(e, e′ ) ∈ G(EQ2 ) ⇔ ∀ã = [x1 x2 ] ∈ I 2 se cumple co2 ([x1 x2 ], e) = co2 ([x1 x2 ], e′ )
o sea, las secuencias de salidas deben coincidir en las dos componentes. Como deben coincidir en la 1a
componente, sólo pueden ser 2−equivalentes los estados e0 y e2 (por supuesto, todo e es 2−equivalente a si
mismo); como ya sabemos que coinciden en la 1a salida, veamos cómo puede ser la 2a . Ası́,
Entra 0 (1a entrada) =⇒ (e0 , e2 ) se transforma en (e2 , e0 ), que esta en G(EQ1 )
=⇒ con la 2a entrada, se produce la misma 2a salida
4.2. MÁQUINAS EQUIVALENTES. OPTIMIZACIÓN 97

Similarmente,

Entra 1 (1a entrada) =⇒ (e1 , e1 ) se transforma en (e2 , e0 ), que esta en G(EQ1 )


=⇒ con la 2a entrada, se produce la misma 2a salida

Comprobemos estas conclusiones mostrando las alternativas posibles.


Secuencias de entradas con 1a componente 0 son [0, 0] y [0, 1]; con [0, 0] obtenemos el desarrollo

x1 = 0 x2 = 0 x1 = 0 x2 = 0
e0 e2 e0 e2 e0 e2
sale 0 sale 0 sale 0 sale 0

coinciden las dos salidas, y con [0, 1]

x1 = 0 x2 = 1 x1 = 0 x2 = 1
e0 e2 e1 e2 e0 e1
sale 0 sale 1 sale 0 sale 1

de nuevo coinciden las dos salidas.


Si la 1a entrada es 1, las alternativas son [1, 0] y [1, 1]. Con [1, 0] obtenemos

1 0 1 0
e0 e1 e2 e2 e1 e0
sale 1 sale 1 sale 1 sale 1

coinciden las dos salidas, y con [1, 1]

1 1 1 1
e0 e1 e2 e2 e1 e2
sale 1 sale 0 sale 1 sale 0

de nuevo coinciden las dos salidas.


El procedimiento para minimizar máqunas que estudiaremos se basa en la búsqueda de los estados equi-
valentes. Para facilitar esa búsqueda, mostraremos algunas propiedades de EQr y EQ.
Teorema 4.2. Las relaciones EQr y EQ son relaciones de equivalencia.
Teorema 4.3.

(a) Para todo entero positivo r se cumple que:


(i) G(EQr ) ⊃ G(EQr+1 )
(ii) G(EQr ) ∪ G(EQr ) = E × E

+∞
(b) G(EQ1 ) ∩ G(EQ2 ) ∩ · · · ∩ G(EQr ) ∩ · · · = G(EQj ) = G(EQ)
j=1

(c) G(EQ) ∪ G(EQ) = E × E


Para obtener otros resultados importantes, agregamos ahora otra aplicación auxiliar. Dada M = [I, O, E , ce, co],
tomemos un entero positivo r y ã = [x1 x2 . . . xr ] ∈ I r . Para z1 ∈ E , la secuencia de entradas ã produce
[z1 z2 . . . zr zr+1 ] = cer+1 (ã, z1 ) y [y1 y2 . . . yr ] = cor (ã, z1 ).
Definimos ce(r) : I r × E −→ E y co(r) : I r × E −→ O mediante las correspondencias ce(r) (ã, z1 ) = zr y
co(r) (ã, z1 ) = yr , respectivamente. Con estos mismos datos, enunciamos el resultado siguiente.
Teorema 4.4. Sean e, e′ ∈ E . Entonces tenemos que:
(i) e EQ e′ =⇒ e EQ1 o ∃ã ∈ I r (para algún r ∈ Z+ ) ⧸ ce(r) (ã, e) EQ1 ce(r) (ã, e′ )
(ii) e EQr e′ pero e EQj e′ , ∀j < r =⇒ ∃x ∈ I ⧸ ce(x, e) EQr−1 ce(x, e′ )
98 CAPÍTULO 4. MÁQUINAS DE ESTADO FINITO

(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

(e, e′ ) ∈ G(EQ1 ) =⇒ (e, e′ ) ∈


/ G(EQ1 ) =⇒ (e, e′ ) ∈
/ G(EQ) =⇒ (e, e′ ) ∈ G(EQ)

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:

(e, e′ ) ∈ G(EQr ) ⧹ G(EQr−1 ) =⇒ ∃x ∈ I ⧸ (ce(x, e), ce(x, e′ )) ∈ G(EQr−1 ) ⧹ G(EQr−2 )

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:

G(EQr−1 ) = G(EQr ) = · · · = G(EQr+j ) ∀j ≥ 1


G(EQr−1 ) = G(EQr ) = · · · = G(EQr+j ) ∀j ≥ 1

En consecuencia, G(EQ) = G(EQr−1 )


Ejemplo 4.4. Calculemos G(EQ) para la máquina del Ejemplo 4.3.

G(EQ1 ) = {(e0 , e0 ), (e0 , e2 ), (e1 , e1 ), (e2 , e0 ), (e2 , e2 )}


G(EQ1 ) = {(e0 , e1 ), (e1 , e0 ), (e1 , e2 ), (e2 , e1 )}

Las clases de equivalencia de EQ1 son EQ11 = {e0 , e2 }, EQ21 = {e1 }.


Para encontrar G(EQ2 ), tomemos en G(EQ1 ) los pares diferentes, ya que la reflexividad de EQr asegura
que (ei , ei ) ∈ G(EQr ) para todo r.
Como vimos en el Ejemplo 4.3, (e0 , e2 ) ∈ G(EQ2 ) pues si entra 0 el par (e0 , e2 ) se convierte en (e2 , e0 ) que
está en G(EQ1 ); y, si entra 1, (e0 , e2 ) se convierte en (e, e1 ) ∈ G(EQ1 ). La simetrı́a de la relación EQ2
implica que (e2 , e0 ) ∈ G(EQ2 ), Ası́ tenemos que G(EQ2 ) = G(EQ1 ) y G(EQ2 ) = G(EQ1 ). De acuerdo con
la 4.2 observación previa al ejemplo, concluimos que

G(EQ) = {(e0 , e0 ), (e0 , e2 ), (e1 , e1 ), (e2 , e0 ), (e2 , e2 )}

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.

1. Demostrar los teoremas 4.1, 4.2 y 4.3.


2. Minimizar las máquinas siguientes.

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

4.3. Máquinas de Turing


Definición 4.4. Una máquina de Turing es un sistema T = [IO, E , ce, co, δ] constituida por dos conjuntos
finitos no vacı́os IO (llamado alfabeto de entradas y salidas) y E (conjunto de estados internos) y tres
aplicaciones que pueden ser especificadas “incompletamente”: ce : IO × E −→ E , co : IO × E −→ IO y
δ : IO × E −→ {L, R, HALT}. Las aplicaciones ce, co, δ son llamadas aplicaciones de cambio de estados, de
salidas y de desplazamientos, respectivamente.
La especificación incompleta se refiere a que algunos pares del conjunto IO × E pueden quedar sin imagen
mediante alguna de las aplicaciones η, ξ o δ.
Veamos una descripción de una máquina de Turing. Se tiene una máquina constituida por una caja con un
dispositivo lector para leer las instrucciones “escritas” sobre una cinta; el dispositivo puede borrar e imprimir.
Las cintas llevan escritas las entradas y al salir de la caja llevan la salida respectivas: estas cintas vienen
dividas en casillas, cada una de las cuales puede contener un sı́mbolo o letra de los alfabetos. Ademś, las
cintas se pueden suponer infinitas o extensibles arbitrariamente en ambas direcciones.
Las cintas pueden ser movidas hacia la derecha (R) o hacia la izquierda (L), una casilla cada vez. El dispositivo
lee la entrada presente en la casilla que entra en la máquina, en esa casilla escribe la salida respectiva y luego
ejecuta la instrucción de movimiento que se le da, al tiempo que cambia su estado interno. Las secuencias de
entradas son finitas.
No se dan diagramas de estados de las máquinas de Turing. La manera más usual de exhibir una máquina de
Turing es mediante la tabla de quı́ntuples (notación de Turing) (e a e′ s m) donde e = estado “actual”, a =
4.3. MÁQUINAS DE TURING 101

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.

1. Diseñar una máquina de Turing que sume tres enteros positivos.


2. Diseñar una máquina de Turing con alfabeto I = {0, 1, ♯} que lea secuencias de la forma

. . . ♯♯xn2 xn1 ♯ . . . ♯ x22 x21 ♯x12 x11 ♯♯ . . .

y las reordena, produciendo la salida

. . . ♯♯ xn1 xn2 ♯ . . . ♯ x21 x22 ♯x11 x12 ♯# . . .


102 CAPÍTULO 4. MÁQUINAS DE ESTADO FINITO

3. Diseñar una máquina de Turing que recibe una matriz binaria 2 × 2 escrita como secuencia

. . . ♯♯a22 a21 ♯a12 a11 ♯♯ . . .

y produce como salida la matriz transpuesta de la original

. . . ♯♯a22 a12 ♯a21 a11 ♯♯ . . .

Realizar el trabajo anterior con matrices binarias 3 × 3. En este caso, la entrada es

. . . ♯♯a33 a32 a31 ♯a23 a22 a21 ♯a13 a12 a11 ♯♯ . . .

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

la salida debe ser


♯P = y2 y1 ∗ x2 x1 ♯♯
con P = x1 y1 + x2 y2 (recordar que para x, y ∈ {0, 1} se tiene que x · y = x ∧ y = 1 ⇐⇒ x = y = 1,
x + y = x ∨ y = 0 ⇐⇒ x = y = 0).

Вам также может понравиться