tag:blogger.com,1999:blog-10115982239002556972024-03-13T12:17:19.461-07:00OPTIMIZACIÓN DE EXPRESIONES BOOLEANAS.Anonymoushttp://www.blogger.com/profile/09017631419083800724noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-1011598223900255697.post-65105406700845430602012-05-31T19:38:00.000-07:002012-06-01T10:59:43.605-07:00<br />
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: justify;">
<span style="font-size: large;"><b style="font-family: Georgia,"Times New Roman",serif;"><span style="color: red;">Definición</span></b></span></h3>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">Si E) X1,….Xn) es una expresión booleana, una
función booleana f es de la forma</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">F(X1,….Xn)= E (X1,…Xn)</span></b></div>
<div style="text-align: justify;">
<span style="font-size: large;"><b style="font-family: Georgia,"Times New Roman",serif;"><span style="color: red;">Ejemplo</span></b></span></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">F(x1, x2, x3)= x, ^ (x’2vx’3)= x1·(x’2 + x3)</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">Árbol 2.1</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">Tabla 2.2</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">También podemos construir una expresión, en base
a una función dada por su etapa.</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">Tabla 2.3</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">Primeramente observamos los renglones donde se
tiene 1 en la función. Es claro que un 1 lo podemos obtener cuando las 3
primeras columnas también son 1 si tomamos la operación and, por ejemplo en el
primer renglón x1^x2^x3 dicha expresión es 1 en el primer renglón pero es 0 en
los demás. Con esa observación podemos asegurar que la expresión [por
complementos] x1, x2, x3 + x1, x2, x3 + x1, x2, x3 cumple las condiciones de la
tabla, por lo que la función seria:</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">F(X1, X2, X3)= X1, X2, X3 + X1X’2X’3 + X’1X2X’3</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">Denicion: y1^ yn se llama mintermino de x1,….xn.
Donde cada y! es x! ó X’!</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">También se puede formar la expresión fijándonos
en los ceros y obtener una conjunción de disyunciones. Esta forma se llama
forma normal conjuntiva y se deja como ejercicio. La forma de conjunción de
disyunciones se llama forma normal conjuntiva y es muy útil en programación
lógica; es, por ejemplo, la base para el lenguaje Prolog.</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">&blue% En lógica de circuito combinatorio se
utilizan también algunos, otros operadores:</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">Tabla 2.4</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">Algunos otros operadores</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span lang="EN-US" style="font-size: small;">XOR
AND NOR </span></b></div>
<div style="text-align: justify;">
<span style="font-size: large;"><b style="font-family: Georgia,"Times New Roman",serif;"><span style="color: red;">Mapas</span></b><b style="font-family: Georgia,"Times New Roman",serif;"><span lang="EN-US" style="color: red;"> de Karnaugh</span></b></span></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">Es un diagrama utilizado para la simplificación
de funciones algebraicas booleanas. El mapa de Karnaugh fue inventado en 1950
por Maurice Karnaugh, un físico y matemático de los laboratorios Bell.</span></b></div>
<div style="color: #674ea7; font-family: Georgia,"Times New Roman",serif; text-align: justify;">
<b><span style="font-size: small;">Los mapas K aprovechan la capacidad del cerebro
humano de trabajar mejor con patrones que con ecuaciones y otras formas de expresión
analítica. Externamente, un mapa de Karnaugh consiste de una serie de
cuadrados, cada uno de los cuales representa una línea de la tabla de verdad.
Puesto que la tabla de verdad de una función de N variables posee 2N filas, el
mapa K correspondiente debe poseer también 2N cuadrados. Cada cuadrado alberga
un 0 ó un 1, dependiendo del valor que toma la función en cada fila. Las tablas
de Karnaugh se pueden utilizar para funciones de hasta 6 variables.</span></b></div>
<div style="color: #674ea7; font-family: Verdana,sans-serif; text-align: justify;">
<div style="font-family: Georgia,"Times New Roman",serif;">
<b><span style="font-size: small;">También se define como el método gráfico que se
utiliza para simplificar una ecuación lógica para convertir una tabla de verdad
a su circuito lógico correspondiente en un proceso simple y ordenado. Aunque un
mapa de Karnaugh, se puede utilizar para resolver problemas con cualquier
número de variables de entrada, su utilidad práctica se limita a seis
variables.</span></b></div>
<br />
<br />
<div style="background: white; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="position: relative; z-index: 1;"><span style="height: 165px; left: 416px; position: absolute; top: -28px; width: 193px;"></span></span><b style="color: magenta; font-family: Georgia,"Times New Roman",serif;"><span lang="ES" style="font-size: 11pt;">Ahora podemos optimizar
nuestra función booleana y lo reducen en una forma
más compacta. Tome la función anterior<br />
ej:F = x1x2 + x1<br />
Podemos reducir la función mediante el uso de las reglas
básicas de álgebra y técnicas ..<br />
F = (x1) (x2 +1) He tomar x1 común</span></b></div>
<div style="background: none repeat scroll 0% 0% white; color: magenta; font-family: Georgia,"Times New Roman",serif; margin-bottom: 0.0001pt;">
<b style="mso-bidi-font-weight: normal;"><span lang="ES" style="font-size: 11pt;"><br />
</span></b><b style="mso-bidi-font-weight: normal;"><span lang="ES" style="font-size: 11pt;">Ahora el segundo término (x2 +1) le
dará un valor, independientemente de cualquier valor de x2,
ya que tiene una constante por lo que puede reemplazar
a (x2 +1) por lo tanto uno se convierte en F</span></b><b style="mso-bidi-font-weight: normal;"><span style="font-size: 11pt;"></span></b></div>
<div class="MsoNormal" style="background: none repeat scroll 0% 0% white; color: magenta; font-family: Georgia,"Times New Roman",serif; line-height: normal; margin-bottom: 0.0001pt;">
<b style="mso-bidi-font-weight: normal;"><br />
<span style="background: none repeat scroll 0% 0% whitesmoke;">ej:F = (x1) (1)</span><br />
<span style="background: none repeat scroll 0% 0% whitesmoke;">F = x1</span></b></div>
<div class="MsoNormal" style="background: none repeat scroll 0% 0% white; color: magenta; font-family: Georgia,"Times New Roman",serif; line-height: normal; margin-bottom: 0.0001pt;">
<b style="mso-bidi-font-weight: normal;"><br />
Así que tenemos que reducir la función en forma
más sencilla mediante el uso de las técnicas básicas
de álgebra. Ahora nos encontramos con la salida de esta
función.</b></div>
<div class="MsoNormal" style="background: none repeat scroll 0% 0% white; color: magenta; font-family: Georgia,"Times New Roman",serif; line-height: normal; margin-bottom: 0.0001pt;">
<b><span lang="ES" style="background: none repeat scroll 0% 0% whitesmoke;"> </span></b></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="background: none repeat scroll 0% 0% white; border: 1.5pt outset; color: magenta; font-family: Georgia,"Times New Roman",serif;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="padding: 0cm 0cm 0cm 0cm; width: 24.0pt;" valign="top" width="32"><div align="center" class="MsoNormal" style="line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-margin-top-alt: auto; text-align: center;">
<b>X1</b></div>
</td>
<td style="padding: 0cm 0cm 0cm 0cm; width: 24.0pt;" valign="top" width="32"><div align="center" class="MsoNormal" style="line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-margin-top-alt: auto; text-align: center;">
<b>F</b></div>
</td>
<td style="padding: 0cm 0cm 0cm 0cm; width: 1.8pt;" valign="top" width="2"><br /></td>
<td style="padding: 0cm 0cm 0cm 0cm; width: 24.0pt;" valign="top" width="32"><br /></td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><div align="center" class="MsoNormal" style="line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-margin-top-alt: auto; text-align: center;">
<b style="mso-bidi-font-weight: normal;">0</b></div>
</td>
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><div align="center" class="MsoNormal" style="line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-margin-top-alt: auto; text-align: center;">
<b style="mso-bidi-font-weight: normal;">0</b></div>
</td>
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><br /></td>
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><br /></td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><div align="center" class="MsoNormal" style="line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-margin-top-alt: auto; text-align: center;">
<b style="mso-bidi-font-weight: normal;">1</b></div>
</td>
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><div align="center" class="MsoNormal" style="line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-margin-top-alt: auto; text-align: center;">
<b style="mso-bidi-font-weight: normal;">1</b></div>
</td>
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><br /></td>
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><br /></td>
</tr>
<tr style="mso-yfti-irow: 3;">
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><div align="center" class="MsoNormal" style="line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-margin-top-alt: auto; text-align: center;">
<b style="mso-bidi-font-weight: normal;">0</b></div>
</td>
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><div align="center" class="MsoNormal" style="line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-margin-top-alt: auto; text-align: center;">
<b style="mso-bidi-font-weight: normal;">0</b></div>
</td>
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><br /></td>
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><br /></td>
</tr>
<tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes;">
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><div align="center" class="MsoNormal" style="line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-margin-top-alt: auto; text-align: center;">
<b style="mso-bidi-font-weight: normal;">1</b></div>
</td>
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><div align="center" class="MsoNormal" style="line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-margin-top-alt: auto; text-align: center;">
<b style="mso-bidi-font-weight: normal;">1</b></div>
</td>
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><br /></td>
<td style="padding: 0cm 0cm 0cm 0cm;" valign="top"><br /></td>
</tr>
</tbody></table>
<div class="MsoNormal" style="line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-margin-top-alt: auto;">
<b style="color: magenta; font-family: Georgia,"Times New Roman",serif;">Se</b><b style="color: magenta; font-family: Georgia,"Times New Roman",serif;"> puede ver
que parte de la salida de esta función es igual que la salida de
la función anterior, porque en realidad ambos son las mismas
funciones y se han reducido la función más simple en el uso
de técnicas de álgebra y los teoremas de nuestra
propia simplicidad.<br />
Así que si se le da cualquier función de Boole primero trate de
reducir en forma más sencilla para que pueda obtener la
salida fácil.</b><b style="mso-bidi-font-weight: normal;"><span style="color: #444444;"></span></b></div>
</div>Anonymoushttp://www.blogger.com/profile/09017631419083800724noreply@blogger.com1