Vous êtes sur la page 1sur 17

REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCAIÓN


INSTITUTO UNIVERSITARIO DE TECNOLOGIA INDUSTRIAL
“RODOLFO LOERO ARISMENDI”
IUTIRLA
EXTENCIÓN: PUNTO FIJO

Realizado por:
Alfonso López 17.666.726
Introducción

En este trabajo nos enfocamos en las teorías, funciones y aplicaciones del


algebra booleana, con el fin de encontrar respuestas a nuestras interrogantes para la
posterior aplicación en el desarrollo de los programas informáticos.
Para ello vamos a estudiar su concepto, características, leyes fundamentales,
procedimientos y aplicaciones para la misma.
Definiciones

La herramienta fundamental para el análisis y diseño de circuitos digitales es el Álgebra


Booleana. Esta álgebra es un conjunto de reglas matemáticas (similares en algunos
aspectos al algebra convencional), pero que tienen la virtud de corresponder al
comportamiento de circuitos basados en dispositivos de conmutación (interruptores,
relevadores, transistores, etc). En este capítulo se presentan los postulados que definen
el álgebra booleana, se presentan en forma de teoremas los resultados más importantes,
se presentan también los tres ejemplos clásicos de álgebras boolenas (lógica
proposicional, álgebra de conjuntos, álgebra de switches) y herramientas básicas como
tablas de verdad y diagramas de Venn.

El álgebra booleana es un sistema matemático deductivo centrado en los valores cero y


uno (falso y verdadero). Un operador binario " º " definido en éste juego de valores
acepta un par de entradas y produce un solo valor booleano, por ejemplo, el operador
booleano AND acepta dos entradas booleanas y produce una sola salida booleana.
Para cualquier sistema algebraico existen una serie de postulados iniciales, de aquí se
pueden deducir reglas adicionales, teoremas y otras propiedades del sistema, el álgebra
booleana a menudo emplea los siguientes postulados:
• Cerrado. El sistema booleano se considera cerrado con respecto a un operador
binario si para cada par de valores booleanos se produce un solo resultado
booleano.
• Conmutativo. Se dice que un operador binario " º " es conmutativo si A º B = B º
A para todos los posibles valores de A y B.
• Asociativo. Se dice que un operador binario " º " es asociativo si (A º B) º C = A
º (B º C) para todos los valores booleanos A, B, y C.
• Distributivo. Dos operadores binarios " º " y " % " son distributivos si A º (B %
C) = (A º B) % (A º C) para todos los valores booleanos A, B, y C.
• Identidad. Un valor booleano I se dice que es un elemento de identidad con
respecto a un operador binario " º " si A º I = A.
• Inverso. Un valor booleano I es un elemento inverso con respecto a un operador
booleano " º " si A º I = B, y B es diferente de A, es decir, B es el valor opuesto
de A.

Principio de dualidad

El concepto de dualidad permite formalizar este hecho: a toda relación o ley lógica le
corresponderá su dual, formada mediante el intercambio de los operadores unión (suma
lógica) con los de intersección (producto lógico), y de los 1 con los 0.
Además hay que cambiar cada variable por su negada. Esto causa confusión al aplicarlo
en los teoremas básicos, pero es totalmente necesario para la correcta aplicación del
principio de dualidad. Véase que esto no modifica la tabla adjunta.

Adición Producto
1
2
3
4
5
6
7
8
9
Funciones Booleanas

En forma similar a como se define en los cursos de álgebra de números reales, es


posible definir una relación de dependencia de una variable booleana o variable lógica
con otras variables booleanas independientes. Es decir, es posible definir funciones
booleanas o funciones lógicas.

Definición. Sean X1,X2,...,Xn, variables booleanas, es decir, variables que pueden


tomar el valor de 0 o de 1, entonces la expresión
Y = f(X1,X2,...,Xn) denota una dependencia funcional de la variable dependiente Y
respecto a las variables independientes X1,X2,...,Xn, es decir, el valor (0 o 1) que toma
la variable Y depende de la combinación de n valores (1’s y 0’s) que tomen las n
variables X1,X2,...,Xn.

Ejemplo: La siguiente es una función booleana

Y= f(A,B,C) = AB + AC + A C

Esta función se puede evaluar para diversos valores de sus variables independientes A,
B, C:

Si A = 1, B = 0, C = 0 entonces Y= f(1,0,0) = 1.0 + 0.0 + 1.1 = 1,


Si A = 1, B = 1, C = 0 entonces Y= f(1,1,0) = 1.1 + 0.0 + 1.1 = 1,
Si A = 0, B = 1, C = 0 entonces Y= f(0,1,0) = 0.1 + 1.0 + 0.1 = 0, etc.

A diferencia de las funciones de variable real, las cuales no pueden representarse


completamente usando una tabla de valores, las funciones booleanas sí quedan
totalmente especificadas por una tabla que incluya todas las posibles combinaciones de
valores que pueden tomar las variables independientes, dicha tabla se denomina tabla de
verdad y es completamente equivalente a la expresión booleana, ya que incluye todas
sus posibilidades.

Ejemplo. La siguiente es la tabla de verdad para la función del ejemplo anterior


A B C f(A,B,C)
0000
0011
0100
0111
1001
1010
1101
1111

En general para una función de n variables, puesto que hay n variables y cada variable
tiene dos posibles valores, hay 2n maneras de asignar estos valores a las n variables, así
la tabla de verdad tendrá 2n renglones.
Por ejemplo en el ejemplo anterior f(A,B,C) es una función de 3 variables, por lo que
tenemos 23 = 8 diferentes combinaciones de las entradas y por lo tanto 8 renglones de la
tabla de verdad.

FUNCIONES BOOLEANAS DE UNA y DOS VARIABLES

En el caso de funciones de variable real sería imposible tratar de mencionar todas las
posibles funciones de una o más variables, sin embargo, en el caso de funciones
booleanas se puede hacer un listado completo de todas y cada una de las funciones para
cierto número de variables. a continuación se hace una lista de éstas para los casos de 0,
1 y 2 variables independientes:

Funciones de cero variables.


Estas son las funciones constantes y sólo hay dos:

f0 = 0 Función constante cero


f1 = 1 Función constante uno

Funciones de una variable.


Además de las funciones constantes ahora se pueden definir otras dos:
f0(A) = 0 Función constante cero
f1(A) = A Función identidad
f2(A) = A Función complemento, negación
f3(A) = 1 Función constante uno

Funciones de dos variables.


En este caso se pueden definir 16 funciones diferentes, las cuales incluyen las cuatro
anteriores y otras doce más. En las siguiente tabla se muestra un resumen de las
dieciséis funciones de dos variables, incluyendo su nombre, su tabla de verdad, y su
expresión lógica (booleana).

Const.
CERO AND Identidad Identidad EXOR OR
A B 0 A.B A B A A B B A Å B A + B
0000000000
0100001111
1000110011
1101010101

NOR EQUIVAL
ENCIA NOT NOT NAND Const.
UNO
ABA+BA?BBA+BAA+BA.B1
0011111111
0100001111
1000110011
1101010101

OBSERVACIÓN.
Ciertamente, las expresiones lógicas que aparecen en la tabla anterior no son únicas, ya
que una misma función lógica puede tener diferentes representaciones algebraicas.
Circuitos Logicos

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

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 sucede
con casi cualquier cadena (menos la "false", en caso de ser ésta la correspondiente al 0
lógico).
Simplificación

FUNCION NOT
NOT (Verdadero) = Falso
NOT (Falso) = Verdadero

FUNCION OR

Falso OR Falso = Falso


Falso OR Verdadero = Verdadero
Verdadero OR Falso = Verdadero
Verdadero OR Verdadero = Verdadero

FUNCION XOR (OR EXCLUSIVA)

Falso XOR Falso = Verdadero


Falso XOR Verdadero = Falso
Verdadero XOR Falso = Falso
Verdadero XOR Verdadero = Verdadero

FUNCION AND

Falso AND Falso = Falso


Falso AND Verdadero = Falso
Verdadero AND Falso = Falso
Verdadero AND Verdadero = Verdadero

FUNCION IMPLICANCIA (ENTONCES)

Falso ENTONCES Falso = Verdadero


Falso ENTONCES Verdadero = Falso
Verdadero ENTONCES Falso = Verdadero
Verdadero ENTONCES Verdadero = Verdadero
Factorizacion

Veamos un ejemplo:

F(a,b,c,d) = Σ m (5,6,9,10,13,14)
= a · b· c ·d + a · b·c·d +a · b· c ·d +a · b· c ·d +a · b· c ·d +a · b · c ·d (1)
= a · b· c ·d + a · b·c·d +a · c ·d · (b + b) +a · c ·d · (b + b)
= a · b · c ·d + a · b·c·d +a · c · d +a · c·d
= c·d ·(a · b +a) +c·d · (a +a · b)
= c ·d · (a + b) + c· d · (a + b)
= (c ·d +c·d) · (a + b) (2)
= a · c ·d +a ·c·d + b· c ·d + b·c·d (3)
(1) 6 AND de 4 entradas + 1 OR de 6 entradas.
(2) 2 OR de 2 entradas + 3 AND de 2 entradas.
(3) 4 AND de 3 entradas + 1 OR de 4 entradas.

Observaciones: El circuito (2) es más simple pero debe notarse que las señales A y B en
el caso (2) pasan a través de 3 niveles previo a procesar la salida.

Cualquier suma de producto o producto de suma puede realizarse por circuitos de 2


niveles donde estos pueden ser AND - OR / OR - AND /NAND - NAND/NOR - NOR.
Este tipo de expresiones se dice una expresión de 2º orden o circuito de 2º orden.
Un circuito como el (2) que corresponde a uno de mayor orden se dice un circuito
factorizado. Este nombre proviene del hecho de que el proceso a partir de uno de 2º
orden es muy similar a un proceso de factorización del álgebra convencional.
Este tipo de factorización se basa principalmente en prueba y error y en la habilidad
para recordar que cierto tipo de productos tienen dicha factorización.

A continuación se desarrolla un proceso de minimización en el cual se


obtienen expresiones de 2º orden.

Definición: Una expresión suma de productos de 2º orden se dirá mínima si:


a) No existe una expresión equivalente con menos productos
b) No hay una expresión equivalente que contenga el mismo número de productos, pero
con menos cantidad de variables Igual enunciado vale para expresiones de producto de
sumas, en las cuales se debe reemplazar producto por suma y viceversa.
� Nota: Puede existir más de una representación mínima.

Ejemplo:
A) Sea f(a,b,c) = Σm (0,1,4,6)
= a · b · c +a · b ·c +a · b · c +a·b· c
Notemos que los 2 primeros términos se combinan para dar:
a · b · c +a · b ·c = a · b ·(c +c)
=a·b
y los otros 2 dan:
a · b· c +a · b· c = a · c(b + b)
=a·c
Por lo tanto, f= a · b +a· c
Observaciones:
i) m0 y m1 son adyacentes, en ellos sólo cambia la variable “c”.
ii) al unir m0 y m1 observamos que no aparece la variable que marca la distancia entre
ambos minterm, es decir la variable “c”.
iii) igual caso entre m4 y m6.
B) Sea f(a,b,c,d) = Σm(5,7,10,13,15)
= a · b· c ·d +a · b·c·d +a · b· c·d +a ·b· c ·d +a · b·c·d
m5 m7 m10 m13 m15
m13 y m15 son adyacentes
m5 y m7 son adyacentes
ambos grupos son adyacentes entre sí.
m5+m7+m13+m15 = a · b· c ·d + a · b·c·d +a · b· c ·d +a · b·c·d
= bd
Luego, en la agrupación restante se han eliminado A y C, las
cuales son las variables que cambian de valor. Así agrupando 2k minterm
adyacentes pueden eliminarse k variables de una función.
Por lo tanto,
f(a,b,c,d)= b·d +a · b· c ·d
Leyes

1. Ley de idempotencia:

2. Ley de involución:

3. Ley conmutativa:

4. Ley asociativa:

5. Ley distributiva:

6. Ley de cancelación:

7. Leyes de De Morgan:

Teorema de Morgan
Las leyes de De Morgan declaran que la suma de n variables globalmente negadas (o
invertidas) es igual al producto de las n variables negadas individualmente; y que
inversamente, el producto de n variables globalmente negadas es igual a la suma de las
n variables negadas individualmente.

Demostración formal

si y solo si y .

para cualquier x: ó
ó

Por lo tanto
inclusión:

Con proposiciones

La prueba utiliza la asociatividad y la distributividad de las leyes y .


• Verdad
• Si verdad por n

Aplicaciones
Debido a que los computadores trabajan con información binaria, la herramienta
matemática adecuada para el análisis y diseño de su funcionamiento en el algebra de
boole en su forma bivalente, aunque fue desarrollada inicialmente para el estudio de la
lógica. Ha sido a partir de 1938, fecha en que C.E. Shanon publico su obre Analisis
simbólico de circuitos con reles, estableciendo los primeros conceptos de la actual teoría
de computación, cuando se ha producido un aumento considerable en el numero de
trabajos de aplicación del algebra de boole a los computadores digitales. Hoy en día,
esta herramienta resulta fundamental para el desarrollo de computadores ya que, con su
ayuda, el análisis y síntesis de combinaciones complejas de circuitos logicos puede
realizarse con rapidez y eficacia.

La relación que existe entre la lógica booleana y los sistemas de cómputo es fuerte, de
hecho se da una relación uno a uno entre las funciones booleanas y los circuitos
electrónicos de compuertas digitales. Para cada función booleana es posible diseñar un
circuito electrónico y viceversa, como las funciones booleanas solo requieren de los
operadores AND, OR y NOT podemos construir nuestros circuitos utilizando
exclusivamente éstos operadores utilizando las compuertas lógicas homónimas Un
hecho interesante es que es posible implementar cualquier circuito electrónico
utilizando una sola compuerta, ésta es la compuerta NAND. Para probar que podemos
construir cualquier función booleana utilizando sólo compuertas NAND, necesitamos
demostrar cómo construir un inversor (NOT), una compuerta AND y una compuerta OR
a partir de una compuerta NAND, ya que como se dijo, es posible implementar
cualquier función booleana utilizando sólo los operadores booleanos AND, OR y NOT.
Para construir un inversor simplemente conectamos juntas las dos entradas de una
compuerta NAND. Una vez que tenemos un inversor, construir una compuerta AND es
fácil, sólo invertimos la salida de una compuerta NAND, después de todo, NOT ( NOT
(A AND B)) es equivalente a A AND B. Por supuesto, se requieren dos compuertas
NAND para construir una sola compuerta AND, nadie ha dicho que los circuitos
implementados sólo utilizando compuertas NAND sean lo óptimo, solo se ha dicho que
es posible hacerlo. La otra compuerta que necesitamos sintetizar es la compuerta lógica
OR, esto es sencillo si utilizamos los teoremas de De Morgan, que en síntesis se logra
en tres pasos, primero se reemplazan todos los "•" por "+" después se invierte cada
literal y por último se niega la totalidad de la expresión:
A OR B
A AND B.......................Primer paso para aplicar el teorema de De Morgan
A' AND B'.....................Segundo paso para aplicar el teorema de De Morgan
(A' AND B')'..................Tercer paso para aplicar el teorema de De Morgan
(A' AND B')' = A' NAND B'.....Definición de OR utilizando NAND
Si se tiene la necesidad de construir diferentes compuertas de la manera descrita, bien
hay dos buenas razones, la primera es que las compuertas NAND son las más
económicas y en segundo lugar es preferible construir circuitos complejos utilizando los
mismos bloques básicos. Observen que es posible construir cualquier circuito lógico
utilizando sólo compuertas de tipo NOR (NOR = NOT(A OR B)). La correspondencia
entre la lógica NAND y la NOR es ortogonal(o sea que esta en ángulo recto) entre la
correspondencia de sus formas canónicas. Mientras que la lógica NOR es útil en
muchos circuitos, la mayoría de los diseñadores utilizan lógica NAND.
Conclusión

Hemos tomado como conclusión el significado del algebra bolleana y de ello


hemos aprendido su función, aplicación y la forma correcta de emplearla para los
distintos dispositivos electrónicos como los micro procesadores y las puertas de enlace
que para su manejo es fundamental el algebra booleana.

Vous aimerez peut-être aussi