Está en la página 1de 11

Informática en Empresarial – Programación – MSc.

Graciela Madrigal Anchía

Álgebra de Boole
Álgebra de Boole (también llamada Retículas booleanas) en informática y matemática,
son estructuras algebraicas que rigorizan las operaciones lógicas Y, O y NO, así como el
conjunto de operaciones unión, intersección y complemento.

Se denomina así en honor a George Boole, matemático inglés que fue el primero en
definirla como parte de un sistema lógico a mediados del siglo XIX. Específicamente, el
álgebra de Boole fue un intento de utilizar las técnicas algebraicas para tratar expresiones
de la lógica proposicional. En la actualidad, el álgebra de Boole se aplica de forma
generalizada en el ámbito del diseño electrónico. Claude Shannon fue el primero en
aplicarla en el diseño de circuitos de conmutación eléctrica biestables, en 1938.

Definición
El Álgebra de Boole es una estructura algebraica que puede ser considerada desde distintos
puntos de vista matemáticos:

Operaciones
Hemos definido el conjunto A = {0,1} como el conjunto universal sobre el que se aplica el
álgebra de Boole, sobre estos elementos se definen varias operaciones, veamos las mas
fundamentales:

-1-
Informática en Empresarial – Programación – MSc. Graciela Madrigal Anchía
a b a+b

Operación suma 0 0 0

La operación suma (+) asigna a cada par de valores a, b de A un valor c 0 1 1


de A:
1 0 1

1 1 1
Su equivalencia en lógica de interruptores es un circuito de dos
interruptores en paralelo.

Si uno de los valores de a o b es 1, el resultado será 1, es necesario que los dos sumandos
sean 0, para que el resultado sea 0.

a b a b

Operación producto 0 0 0

La operación producto ( ) asigna a cada par de valores a, b de A un valor c 0 1 0


de A:
1 0 0

1 1 1
Esta operación en lógica de interruptores es un circuito en serie de dos
interruptores

solo si los dos valores a y b son 1, el resultado será 1, si uno solo de ellos es 0 el resultado
será 0.

-2-
Informática en Empresarial – Programación – MSc. Graciela Madrigal Anchía

Operación negación a

La operación negación presenta el opuesto del valor de a: 0 1

1 0

Un interruptor inverso equivale a esta operación:

Álgebra de Boole aplicada a la informática


Se dice que una variable tiene valor booleano cuando, en general, la variable contiene un 0
lógico o un 1 lógico. Esto, en la mayoría de los lenguajes de programación, se traduce en
false (falso) o true (verdadero), respectivamente.

Una variable puede no ser de tipo booleano, y guardar valores que, en principio, no son
booleanos; ya que, globalmente, los compiladores trabajan con esos otros valores,
numéricos normalmente aunque también algunos permiten cambios desde, incluso,
caracteres, finalizando en valor booleano. ..

El 0 lógico

-3-
Informática en Empresarial – Programación – MSc. Graciela Madrigal Anchía

El valor booleano de negación suele ser representado como false, aunque también permite y
equivale al valor natural, entero y decimal (exacto) 0, así como la cadena "false", e incluso
la cadena "0".

El 1 lógico

En cambio, el resto de valores apuntan al valor booleano de afirmación, representado


normalmente como true, ya que, por definición, el valor 1 se tiene cuando no es 0.
Cualquier número distinto de cero se comporta como un 1 lógico, y lo mismo pasa con casi
cualquier cadena (menos la "false", en caso de ser ésta la correspondiente al 0 lógico).

Función booleana
Se denomina función lógica o booleana a aquella función matemática cuyas variables son
binarias y están unidas mediante los operadores del álgebra de Boole suma lógica (+),
producto lógico (·) o negación(').

Modos de representación
Existen distintas formas de representar una función lógica, entre las que podemos destacar
las siguientes:

 Algebraica
 Por tabla de verdad
 Numérica
 Gráfica

El uso de una u otra, como veremos, dependerá de las necesidades concretas en cada caso.

Algebraica

-4-
Informática en Empresarial – Programación – MSc. Graciela Madrigal Anchía

Se utiliza cuando se realizan operaciones algebraicas. A continuación se ofrece un ejemplo


con distintas formas en las que se puede expresar algebraicamente una misma función de
tres variables.

a) F = [(A + BC’)’ + ABC]’ + AB’C


b) F = A’BC’ + AB’C’ + AB’C + ABC’

Por tabla de verdad

Una tabla de verdad contiene todos los valores posibles de una función lógica dependiendo
del valor de sus variables. El número de combinaciones posibles para una función de n
variables vendrá dado por 2n. Una función lógica puede representarse algebraicamente de
distintas formas como acabamos de ver, pero sólo tiene una tabla de verdad.

Numérica

La representación numérica es una forma simplificada de representar las expresiones


canónicas. Si consideramos el criterio de sustituir una variable sin negar por un 1 y una
negada por un 0, podremos representar el término, ya sea una suma o un producto, por un
número decimal equivalente al valor binario de la combinación. Por ejemplo, los siguientes
términos canónicos se representarán del siguiente modo (observe que se toma el orden de A
a D como de mayor a menor peso):

AB’CD = 10112 = 1110


A’ + B + C’ + D’ = 01002 = 410

Para representar una función canónica en suma de productos utilizaremos el símbolo Σn


(sigma) y en producto de sumas Πn (pi), donde n indicará el número de variables. Así, la
representación numérica correspondiente a la tabla de verdad del punto anterior quedará
como:

F = Σ3(2, 4, 5, 6) = Π3(0, 1, 3, 7)

-5-
Informática en Empresarial – Programación – MSc. Graciela Madrigal Anchía

Gráfica

La representación gráfica es la que se utiliza en circuitos y esquemas electrónicos. En la


siguiente figura se representan gráficamente dos funciones algebraicas, una con símbolos
no normalizados, superior, y la otra con normalizados, inferior (véanse los símbolos de las
puertas lógicas) Representación gráfica de dos funciones lógicas

Métodos de simplificación
Por simplificación de una función lógica se entiende la obtención de su mínima expresión.
A la hora de implementar físicamente una función lógica se suele simplificar para reducir
así la complejidad del circuito.

A continuación se indican los modos más usuales de simplificar una función lógica.

Algebraico

Para la simplificación por este método no sólo bastará con conocer todas las propiedades y
teoremas del álgebra de Boole, además se debe desarrollar una cierta habilidad lógico-
matemática que se adquiere fundamentalmente con la experiencia.

Como ejemplo se simplificará la siguiente función:

F = A’C’ + ABC + BC’ + A’B’C + A’BC

Observando cada uno de los sumando podemos ver que hay factores comunes en los
sumandos 2º con 5º y 4 con 5º que conllevan simplificación:

-6-
Informática en Empresarial – Programación – MSc. Graciela Madrigal Anchía

F = A’C’ + BC’ + BC(A + A’) + A’C(B + B’)

Note que el término 5º se ha tomado dos veces, de acuerdo con la propiedad que dice que
A + A´ = 1. Aplicando las propiedades del álgebra de Boole, queda

F = A’C’ + BC’ + BC + A’C

Repitiendo nuevamente el proceso,

F = A’( C’ + C) + B( C’ + C) = A’ + B

No siempre las funciones son tan fáciles de simplificar como la anterior. El método
algebraico, por lo general, no resulta cómodo para los no expertos, a los cuales, una vez
simplificada una ecuación le pueden quedar serias dudas de haber conseguido la máxima
simplificación.

Gráfico de Karnaugh

Este método consiste en formar diagramas de 2n cuadros, siendo n el número de variables.


Cada cuadro representa una de las diferentes combinaciones posibles y se disponen de tal
forma que se puede pasar de un cuadro a otro en las direcciones horizontal o vertical,
cambiando únicamente una variable, ya sea en forma negada o directa.

Este método se emplea fundamentalmente para simplificar funciones de hasta cuatro


variables. Para un número superior utilizan otros métodos como el numérico. A
continuación pueden observarse los diagramas, también llamados mapas de Karnaugh, para
dos, tres y cuatro variables.

Mapas de Karnaugh para dos, tres y cuatro variables

Es una práctica común numerar cada celda con el número decimal correspondiente al
término canónico que albergue, para facilitar el trabajo a la hora de plasmar una función
canónica.

Para simplificar una función lógica por el método de Karnaugh se seguirán los siguientes
pasos:

-7-
Informática en Empresarial – Programación – MSc. Graciela Madrigal Anchía

1º) Se dibuja el diagrama correspondiente al número de variables de la función a


simplificar.

2º) Se coloca un 1 en los cuadros correspondientes a los términos canónicos que forman
parte de la función.

3º) Se agrupan mediante lazos los unos de casillas adyacentes siguiendo estrictamente las
siguientes reglas:

a) Dos casillas son adyacentes cuando se diferencian únicamente en el estado de una


sola variable.
b) Cada lazo debe contener el mayor número de unos posible, siempre que dicho
número sea potencia de dos (1, 2, 4, etc.)
c) Los lazos pueden quedar superpuestos y no importa que haya cuadrículas que
pertenezcan a dos o más lazos diferentes.
d) Se debe tratar de conseguir el menor número de lazos con el mayor número de
unos posible.

4º) La función simplificada tendrá tantos términos como lazos posea el diagrama. Cada
término se obtiene eliminando la o las variables que cambien de estado en el mismo lazo.

A modo de ejemplo se realizan dos simplificaciones de una misma función a partir de sus
dos formas canónicas:

F = Σ3(0,2,3,4,7) = Π3(1,2,6)

De acuerdo con los pasos vistos anteriormente, el diagrama de cada función quedará del
siguiente modo:

Simplificación de una función de tres variables

La función simplificada tendrá tres sumandos en un caso y dos productos en el otro. Si nos
fijamos en el mapa correspondiente a la suma de productos, observamos que en el lazo 1

-8-
Informática en Empresarial – Programación – MSc. Graciela Madrigal Anchía

cambia la variable A (en la celda 0 es negada y en la 4 directa), en el lazo 2 es la C y en el


lazo 3 vuelve a ser A. por lo tanto, la ecuación simplificada es:

F = B’C’ + A’B + BC

Razonando de modo similar en el mapa de productos de sumas, nos quedará:

F = (B + C’)(A’ + B’ + C)

Funciones incompletas
Hasta ahora todas las funciones estudiadas tienen definido un valor lógico, 0 ó 1, para cada
una de las posibles combinaciones. Estas funciones se denominan completas o totalmente
definidas. También existen funciones con una o varias combinaciones no definidas,
llamadas funciones incompletas. Esta situación puede deberse por las dos causas siguientes:

1. Hay combinaciones de entrada que no existen, por lo que a la salida se le puede


asignar indistintamente el valor 0 o el 1.
2. En ciertas combinaciones de entrada la salida del sistema lógico está inhibida,
siendo por lo tanto su valor indiferente.

En la tabla de verdad de una función incompleta, los términos indiferentes se designan


mediante una equis (X). En cuanto a la forma canónica se separan los términos definidos de
los que no lo son (indicados mediante el símbolo φ).

A la hora de simplificar una función incompleta, los términos indiferentes servirán como
“comodines” a la hora de tomar lo lazos, esto es, si nos interesa que sea un 1 porque así el
lazo es mayor, lo tomaremos como 1, y en caso contrario como 0.

Veamos a continuación un ejemplo que aclare todo lo anterior. Partiremos de la siguiente


tabla de verdad:

PERMUTACIONES
Las permutaciones son maneras de distribuir objetos.

Dados n objetos distintos, cualquier forma de ordenarlos se denomina una permutación.


Las formas de ordenar r de los n objetos se denominan permutaciones r a r.

Ejemplo: Enumerar todas las permutaciones 2 a 2 de las letras a, b y c.

-9-
Informática en Empresarial – Programación – MSc. Graciela Madrigal Anchía

Solución: ab, ac, ba, bc, ca y cb

La regla del producto indica el número de pares ordenados que se pueden formar a partir de
los conjuntos A y B y es n1 x n2; donde n1 = |A| y n2 = |B|

Ejemplo: Se tienen 3 procesos y 4 computadoras. Hay que asignar cada tarea a una sola
computadora y ninguna debe recibir más de un proceso. ¿De cuántas maneras se puede
hacer esto?

Solución: Hay 3 x 4 maneras de asignar 3 procesos a 4 computadoras. (Considere una tabla


de 3 filas, una por cada proceso, y 4 columnas, una por cada computadora).

Teorema: El número de permutaciones r a r de n objetos diferentes está dado


por:

P(n,r) = n(n-1)(n-2)….(n-r+1), r ≤n

Ejemplo: ¿De cuántas formas se pueden disponer tres letras del alfabeto inglés?

Solución: El alfabeto inglés consta de 26 letras. Por lo tanto, se pueden distribuir 3 letras de
P(26,3), esto es 26 · 25 · 24 = 15,600 maneras.

COMBINACIONES
Una combinación r a r de un conjunto de n elementos es una selección desordenada de r
elementos del conjunto.

Ejemplo: Un departamento consta de 4 personas A, B, C y D. Enumerar todos los comités


de tamaño 2 que se pueden formar.

Solución: {A,B}, {A,C}, {A,D}, {B,C}, {B,D}, {C,D}

Teorema: El número de combinaciones r a r formadas a partir de un conjunto de n objetos


está dado por:
n!
C(n,r) = _________

r! (n-r)!

- 10 -
Informática en Empresarial – Programación – MSc. Graciela Madrigal Anchía

Ejemplo: Hay 10 dígitos decimales. ¿Cuántos conjuntos se pueden formar que contengan
exactamente 3 de esos dígitos?

Solución: C (10, 3) = (10 · 9 · 8) / (1 · 2 · 3) = 120

O aplicando la fórmula …

10!
C(10, 3) = _________ = 120

3! (10-3)!

- 11 -

También podría gustarte