Loading [MathJax]/jax/output/HTML-CSS/jax.js
Saltar al contenido principal
Library homepage
 

Text Color

Text Size

 

Margin Size

 

Font Type

Enable Dyslexic Font
LibreTexts Español

13.6: Expresiones booleanas

( \newcommand{\kernel}{\mathrm{null}\,}\)

En esta sección, utilizaremos nuestros antecedentes de las secciones anteriores y la teoría de conjuntos para desarrollar un procedimiento para simplificar las expresiones booleanas. Este procedimiento tiene una aplicación considerable a la simplificación de circuitos en teoría de conmutación o diseño lógico.

Definición13.6.1: Boolean Expression

Dejar[B;,,] ser cualquier álgebra booleana, y dejarx1,x2,,xk ser variables enB; esto es, variables que pueden asumir valores deB. Una expresión booleana generada porx1,x2,,xk es cualquier combinación válida de losxi y los elementos deB con las operaciones de meet, join, y complementación.

Esta definición es el análogo de la definición de una proposición generada por un conjunto de proposiciones, presentada en la Sección 3.2.

Cada expresión booleana generada pork variables,e(x1,,xk), define una funciónf:BkB dondef(a1,,ak)=e(a1,,ak). SiB es un álgebra booleana finita, entonces hay un número finito de funciones desdeBk dentroB. Esas funciones que se definen en términos de expresiones booleanas son llamadas funciones booleanas. Como veremos, hay un número infinito de expresiones booleanas que definen cada función booleana. Naturalmente, se preferirá la “más corta” de estas expresiones. Dado que los circuitos electrónicos pueden describirse como funciones booleanas conB=B2, esta economización es bastante útil.

En lo que sigue, hacemos uso del Ejercicio 7.1.5 de la Sección 7.1 para contar el número de funciones.

Ejemplo13.6.1: Two Variables Over B2

Considera algún álgebra booleana de orden 2,[B;,,]. ¿Cuántas funcionesf:B2B hay? Primero, todas las álgebras booleanas de orden 2 son isomórficas a[B2;,,] así que queremos determinar el número de funcionesf:B22B2. si consideramos una función booleana de dos variables,x1 yx2, observamos que cada variable tiene dos valores posibles 0 y 1, por lo que hay22 formas de asignar estos dos valores a lask=2 variables. De ahí que la siguiente tabla tenga22=4 filas. Hasta el momento tenemos una mesa como ésta:

\ begin {ecuación*}\ begin {array} {cc|c} x_1 & x_2 & f\ left (x_1, x_2\ derecha)\\\ hline 0 & 0 &? \\ 0 & 1 &? \\ 1 & 0 &? \\ 1 & 1 &? \\\ end {array}\ end {ecuación*}

¿Cuántas posibles funciones diferentes puede haber? Para enumerar algunos:f1(x1,x2)=x1,f2(x1,x2)=x2,f3(x1,x2)=x1x2,f4(x1,x2)=(x1¯x2)x2,f5(x1,x2)=x1x2¯x2, etc. Cada uno de estos rellenará los signos de interrogación en la tabla anterior. Las mesas paraf1  yf3 son

\ begin {ecuación*}\ begin {array} {lr}\ begin {array} {cc|c} x_1 & x_2 & f_1\ left (x_1, x_2\ derecha)\\\ hline 0 & 0 & 0\\ 0 & 1 & 0\\ 1 & 0 & 1\\ 1 & 1 & 1 & 1\\\ end {array} &\ begin {array} {cc|c} x_1 y x_2 y f_3\ izquierda (x_1, x_2\ derecha)\\ hline 0 & 0 & 0\\ 0 & 1 & amp; 1\\ 1 & 0 & 1\\ 1 & 1 & 1 & 1\\\ end {array}\\ end {array}\ end {equation*}

Dos funciones son diferentes si y solo si sus tablas son diferentes para al menos una fila. Por supuesto mediante el uso de las leyes básicas del álgebra booleana podemos ver quef3=f4. ¿Por qué? Entonces, si simplemente enumeramos por fuerza bruta todas las “combinaciones” dex1 and x2 obtendremos duplicaciones innecesarias. Sin embargo, observamos que para cualquier combinación de las variablesx1, y solox2 hay dos valores posibles paraf(x1,x2), saber 0 o 1. Así, podríamos escribir24=16 diferentes funciones en 2 variables.

Ahora, vamos a contar el número de diferentes funciones booleanas en un entorno más general. Consideraremos dos casos: primero, cuándo y segundoB=B2, cuándoB es cualquier álgebra booleana finita con2n elementos.

LetB=B2. Cada funciónf:BkB se define en términos de una tabla que tiene2k filas. Por lo tanto, dado que hay dos posibles imágenes para cada elemento deBk, hay 2 elevadas a las funciones2k, o22k diferentes. Mostraremos que cada una de estas funciones es una función booleana.

Ahora supongamos que|B|=2n>2. Una función deBk haciaB adentro todavía se puede definir en términos de una tabla. Hay|B|k filas en cada tabla y|B| posibles imágenes para cada fila. Por lo tanto, se2n elevan al poder2nk diferentes funciones. Mostraremos que sin>1, no cada una de estas funciones es una función booleana.

Dado que todos los álgebras booleanos son isomórficos a un álgebra booleana de conjuntos, los análogos de declaraciones en conjuntos son útiles en álgebras booleanas.

Definición 13.6.2: Minterm

Una expresión booleana generada porx1,x2,,xk que tiene la forma

\ begin {ecuación*}\ underset {i=1} {\ overset {k} {\ land}} y_i,\ end {ecuación*}

donde cada unoyi puede serxi o¯xi se llama un minterm generado porx1,x2,,xk. Utilizamos la notaciónMδ1δ2δk para el minterm generado porx1,x2,,xk, dondeyi=xi siδi=1 yyi=¯xi siδi=0

Un ejemplo de la notación es queM110=x1x2¯x3.

Por una aplicación directa de la Regla de Productos vemos que existen2k diferentes minterms generados porx1,,xk.

Definición 13.6.3: Minterm Normal Form

Una expresión booleana generada porx1,,xk está en forma normal minterm si es la unión de expresiones de la formaam, dondeaB ym es un minterm generado por Esx1,,xk. decir, es de la forma

pj=1(ajmj)

dondep=2k, ym1,m2,,mp son los minterms generados porx1,,xk.

Nota13.6.1

  • Parece que requerimos cada minterm generado porx1,,xk, in(???), y realmente lo hacemos. Sin embargo, algunos de los valores deaj pueden ser los00, que efectivamente hacen desaparecer al minterm correspondiente.
  • SiB=B2, entonces cada unoaj en una forma normal minterm es 0 o 1. Por lo tanto,ajmj es 0 omj.

Teorema13.6.1: Uniqueness of Minterm Normal Form

Lete(x1,,xk) be a booleana expresión sobre B. Existe una forma normal minterm únicaM(x1,,xk) que es equivalente ae(x1,,xk) en el sentido de que e y M definen la misma función desdeBk dentroB.

La singularidad en este teorema no incluye el posible ordenamiento de los minterms enM (comúnmente conocido como “singularidad hasta el orden de minterms”). La prueba de este teorema sería bastante larga, y no muy instructiva, por lo que dejaremos que el lector interesado lo intente. Las implicaciones del teorema son muy interesantes, sin embargo.

Si|B|=2n, entonces se2n elevan a las2k diferentes formas normales minterm. Dado que cada forma normal minterm diferente define una función diferente, hay un número similar de funciones booleanas desdeBk dentroB. SiB=B2, hay tantas funciones booleanas (2 elevadas a la2k) como funciones desdeBk dentroB, ya que hay 2elevado a las2n funciones desdeBk haciaB. La importancia de este resultado es que cualquier función deseada puede realizarse utilizando circuitos electrónicos que tengan valores 0 o 1 (apagado o encendido, positivo o negativo).

Los circuitos multivalores más complejos correspondientes a álgebras booleanas con más de dos valores no tendrían esta flexibilidad debido al número de formas normales minterm, y de ahí el número de funciones booleanas, es estrictamente menor que el número de funciones.

Cerraremos esta sección examinando las formas normales minterm para expresiones terminadasB2, ya que son un punto de partida para la economización de circuitos.

Ejemplo13.6.2

Considerar la expresión booleanaf(x1,x2)=x1¯x2. Un método para determinar la forma normal minterm def es pensar en términos de conjuntos. Considera el diagrama con la traducción habitual de notación en la Figura13.6.1. Entonces

\ begin {equation*}\ begin {split} f\ left (x_1, x_2\ right) &=\ left (\ overline {x_1}\ land\ overline {x_2}\ right)\ lor\ left (x_1\ land\ overline {x_2}\ right)\ lor\ left (x_1\ land x_2\ right)\\ & = M_ {00}\ or M_ {10}\ or M_ {11}\ final {división}\ final {ecuación*}

clipboard_e0129896f52687f752db76bf0119a602a.pngFigura13.6.1: Visualización de minterms parax1¯x2

Tabla13.6.1: Definición de la función booleanag

x1 x2 x3 g(x1,x2,x3)
\ (x_1\) ">0 \ (x_2\) ">0 \ (x_3\) ">0 \ (g (x_1, x_2, x_3)\) ">1
\ (x_1\) ">0 \ (x_2\) ">0 \ (x_3\) ">1 \ (g (x_1, x_2, x_3)\) ">0
\ (x_1\) ">0 \ (x_2\) ">1 \ (x_3\) ">0 \ (g (x_1, x_2, x_3)\) ">0
\ (x_1\) ">0 \ (x_2\) ">1 \ (x_3\) ">1 \ (g (x_1, x_2, x_3)\) ">1
\ (x_1\) ">1 \ (x_2\) ">0 \ (x_3\) ">0 \ (g (x_1, x_2, x_3)\) ">0
\ (x_1\) ">1 \ (x_2\) ">0 \ (x_3\) ">1 \ (g (x_1, x_2, x_3)\) ">0
\ (x_1\) ">1 \ (x_2\) ">1 \ (x_3\) ">0 \ (g (x_1, x_2, x_3)\) ">1
\ (x_1\) ">1 \ (x_2\) ">1 \ (x_3\) ">1 \ (g (x_1, x_2, x_3)\) ">0

Ejemplo13.6.3

Considera la funcióng:B32B2 definida por Table13.6.1.

La forma normal minterm para seg puede obtener tomando la unión de minterms que corresponden a filas que tienen un valor de imagen de 1. Sig(a1,a2,a3)=1, entonces incluye el mintermy1y2y3 donde

\ begin {ecuation*} y_j=\ begin {cases} x_j &\ textrm {if} a_j=1\\\ bar {x_j} &\ textrm {if} a_j=0\\\ end {casos}\ end {ecuación*}

O, para usar notación alternativa, incluirMa1a2a3 en la expresión if y solo sig(a1,a2,a3)=1

Por lo tanto,

\ begin {ecuación*} g\ izquierda (x_1, x_2, x_3\ derecha) =\ izquierda (\ overline {x_1}\ tierra\ overline {x_2}\ tierra\ overline {x_3}\ derecha)\ lor\ izquierda (\ overline {x_1}\ tierra x_2\ tierra x_3\ derecha)\ lor\ izquierda (x_1\ tierra x_2\ tierra x_3\ derecha)\ lor\ izquierda (x_1\ tierra x_1} _2\ tierra\ overline {x_3}\ derecha). \ end {ecuación*}

La forma normal minterm es un primer paso para obtener una forma económica de expresar una función booleana dada. Para funciones de más de tres variables, el enfoque de teoría de conjuntos anterior tiende a ser incómodo. Se utilizan otros procedimientos para escribir la forma normal. El más conveniente es el mapa de Karnaugh, una discusión del cual se puede encontrar en cualquier texto lógico de teoría de diseño/cambio (ver, por ejemplo, [18]), en Wikipedia.

Ejercicios

Ejercicio13.6.1

  1. Escribe las 16 posibles funciones de Ejemplo13.6.1.
  2. Escribe las tablas de varias de las funciones booleanas anteriores para demostrar que efectivamente son diferentes.
  3. Determinar las formas normales minterm de
    1. g1(x1,x2)=x1x2,
    2. g2(x1,x2)=¯x1¯x2
    3. g3(x1,x2)=¯x1x2
    4. g4(x1,x2)=1
Responder
  1. f1(x1,x2)=0f2(x1,x2)=(¯x1¯x2)f3(x1,x2)=(¯x1x2)f4(x1,x2)=(x1¯x2)f5(x1,x2)=(x1x2)f6(x1,x2)=((¯x1¯x2)(¯x1x2))=¯x1f7(x1,x2)=((¯x1¯x2)(x1¯x2))=¯x2f8(x1,x2)=((¯x1¯x2)(x1x2))=((x1x2)(¯x1¯x2))f9(x1,x2)=((¯x1x2)(x1¯x2))=((x1¯x2)(¯x1x2))f10(x1,x2)=((¯x1x2)(x1x2))=x2f11(x1,x2)=((x1¯x2)(x1x2))=x1f12(x1,x2)=((¯x1¯x2)(¯x1x2)(x1¯x2))=(¯x1¯x2)f13(x1,x2)=((¯x1¯x2)(¯x1x2)(x1x2))=(¯x1x2)f14(x1,x2)=((¯x1¯x2)(x1¯x2)(x1x2))=(x1¯x2)f15(x1,x2)=((¯x1x2)(x1¯x2)(x1x2))=(x1x2)f16(x1,x2)=((¯x1¯x2)(¯x1x2)(x1¯x2)(x1x2))=1
  2. La tabla de verdad para las funciones en la parte (a) son
    \ begin {ecuation*}\ begin {array} {llllllllll} x_1 & x_2 & f_1 & f_2 & f_3 & f_4 & f_5 & f_6 & f_7 & f_8\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1\\ 0 & 1 & 1\ 0 & 1\ 0 & 1 & 0 & 0 & 1 & 0 & 0 & 1 & 0 & 0 & 0\\ 1 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1\\ end {array}\ end {equation*}
    \ begin {ecuación*}\ begin {array} {llllllllll} x_1 y x_2 & f_9 & f_ {10} & f_ {11} & f_ {12} & f_ {13} & f_ {14} & f_ {15} & f_ {16}\\ 0 & 0 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0 & 1 & 1 & 1 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 1 & 1\\ 1 & 1 & 0 & 1 & 1 & 0 & 1 & 1 & 1 & 1 & 1 & 1\\ end {array}\ end {ecuación*}
    1. g1(x1,x2)=f15(x1,x2)
    2. g2(x1,x2)=f12(x1,x2)
    3. g3(x1,x2)=f12(x1,x2)
    4. g4(x1,x2)=f16(x1,x2)

Ejercicio13.6.2

Considere la expresión booleanaf(x1,x2,x3)=(¯x3x2)(¯x1x3)(x2x3) en[B32;,,].

  1. Simplifica esta expresión usando leyes básicas de álgebra booleana.
  2. Escribe esta expresión en forma normal minterm.
  3. Escriba la tabla para la función dada definida porf y compárela con las tablas de las funciones en las partes a y b.
  4. ¿Cuántas posibles funciones diferentes en tres variables[B2;,,] hay?

Ejercicio13.6.3

Dejar[B;,,] ser un álgebra booleana de orden 4, y dejarf ser una función booleana de dos variables enB.

  1. ¿Cuántos elementos hay en el dominio de f?
  2. ¿Cuántas funciones booleanas diferentes hay de dos, variables? ¿Tres variables?
  3. Determinar la forma normal minterm def(x1,x2)=x1x2.
  4. SiB={0,a,b,1}, define una función desdeB2 dentroB que no es una función booleana.
Responder
  1. El número de elementos en el dominio def es16=42=|B|2
  2. Con dos variables, hay43=256 diferentes funciones booleanas. Con tres variables, existen48=65536 diferentes funciones booleanas.
  3. f(x1,x2)=(1¯x1¯x2)(1¯x1¯x2)(1x1¯x2)(0x1x2)
  4. Considerarf:B2B, definido porf(0,0)=0f(0,1)=1,f(1,0)=a,f(1,1)=a,f(0,a)=b, y, con las imágenes de todos los demás paresB2 definidos arbitrariamente. Esta función no es una función booleana. Si asumimos que es función booleana entonces sef puede calcular con una expresión booleanaM(x1,x2). Esta expresión se puede poner en forma normal minterm:
    M(x1,x2)=(c1¯x1¯x2)(c2¯x1x2)(c3x1¯x2)(c4x1x2)
    f(0,0)=0M(0,0)=0c1=0f(0,1)=1M(0,0)=1c2=1f(1,0)=aM(0,0)=ac3=af(1,1)=aM(0,0)=ac4=a
    Por lo tanto,M(x1,x2)=(¯x1x2)(ax1¯x2)(ax1x2) y así, usando esta fórmula,M(0,a)=(¯0a)(a0¯a)(a0a)=a Esto contradicef(0,a)=b, y así nof es una función booleana.

This page titled 13.6: Expresiones booleanas is shared under a CC BY-NC-SA license and was authored, remixed, and/or curated by Al Doerr & Ken Levasseur.

Support Center

How can we help?