algoritmos alternativos para la simplificacion de … · para la simplificacion de funcione ea ....

20
ALGORITMOS ALTERNATIVOS , PARA LA SIMPLIFICACION DE FUNCIONE EA AS ALrrERNATIVE ALGORITHMS TO SIMP FUNCTIONS E E lt . SERGIO ADRIÁN MARTíN Docente e Investigador de la Universidad Francisco Gavidia

Upload: phamtuyen

Post on 19-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

ALGORITMOS ALTERNATIVOS PARA LA SIMPLIFICACION

DE FUNCIONE EA AS

ALrrERNATIVE ALGORITHMS TO SIMP E~

FUNCTIONS E Elt

SERGIO ADRIAacuteN MARTiacuteN Docente e Investigador de la Universidad Francisco Gavidia

-----------------

Antildeo S NQ 13 San Salvador El Salvador Centro Ameacuterica Revista Cuatrimestral enero-abril 2005

ALGORITMOS ALTERNATIVOS PARA LA SIMPLIFICACiOacuteN

DE FUNCIONES BOOLEANAS

ALTERNATIVE ALGORITHMS re SIMPLIFY THE BOOLEAN5

FUNCTIONS Sergio Adriaacuten Martiacuten

Docente e Investigador de la Universidad Francisco Gavidia

The sutbor states a method to simplify the Booleans functions that could be practical if it is done in a computer The weJl known methods are proposed and taken into account by other authors and the degree of difficulty ot each method is estima ted It is also taken into account the total of al possible tests that the computer has to accomplish to a considerable input 01 variables Besides the way that the prototype has been developed is shown for that reason the surroundings and languages pros and cons are analyzed The proposed procedures to face the problems that deal w ith the Booleans functions do not need the use of graphics and can be applied with accessible technology in El Salvador preferable if you can count with a 800 MHz and 32 MB computer MARTfN SERGIO BRAN ALGORITHMS BOOLEAN ALCEBRA LOCle MATH5

UNIYIRSIDO FRANCISCO GAYIDIA REALIDAD y REFLEXIOacuteN

INTRODUCCiOacuteN

Durante mucho tiempo se ha especulado sobre el proceso continuo de la convergenshycia digital de la gran mayoriacutea de las disciplishynas derivadas de la electroacutenica Sin embarshygo se han mantenido muchas de las metoshydologiacuteas de disentildeo al punto que aparte de los procesos de miacuteniaturizadoacuten y de la adopshycioacuten de nuevos materiales no se han hecho contribuciones sustanciales a Jos meacutetodos de resolucioacuten de funciones booleanas En este artiacuteculo doy a conocer un enfoque nuevo en esta aacuterea y lo comparo con los meacutetodos planteados por diversos autores Particulannenshyte hago hincapieacute en los meacutetodos aplicables para su uso en computadoras no en una orientacioacuten para su uso por humanos

El objetivo de la investigacioacuten en siacute es el de implementar una serie de algoritmos con el fin de que la computadora pueda guiar a un disentildeador o a un estudiante de electroacutenica a resolve r mucha de la problemaacutetica de los sistemas digitales sin recurrir a meacutetodos tradicionales

la funcioacuten A los teacuterminos de este tipo se les llama minterms Por ejemplo Y=f+g oacute y=ab+ab (1 )

b) Multiplicatorio loacutegico se puede expreshysar una funcioacuten como un multiplicatorio loacutegico es decir como una serie de opeshyraciones ANO entre teacuterminos maacutes simshyples Generalmente cada uno de esos teacuterminos es el resultado de una sumatoria loacutegica de algunas de las vashyriables independientes de la funcioacuten A los teacuterminos de este tipo se les llashyma maxterms Por ejemplo Y=gh oacute y=(a+b)(a+b) (2)

Hacia 1927 un matemaacutetico ruso llamado Zegalkin planteo el hecho de que las funshyciones loacutegicas se pueden escribir usando principalmente operadores EXOR y operashydores ANO Sin embargo estas teorias permanecieron desconocidas en occidenshyte durante los siguientes 3D antildeos cuando (jos investigadores llamados Reed y Muller establecieron los llamados polinomios de Re ~d Muller de la siguiente forma

PROPUESTAS DE SOLUCiOacuteN y=f1

donde EB 2EB ] (3)

es una expresioacuten loacutegica generalshyBase elemental mente de tipo minterm Si se desea simplificar una funcioacuten loacutegica han existido durante antildeos meacutetodos tradicionales con ese fin Sin embargo algunos de ellos son meacutetodos graacuteficos y otros representan probleshymas no resueltos aun en una computadora

La base de una simplificacioacuten efectiva reducir la funcioacuten a un numero miacutenimo de operaciones y operandos Tradicionalmente han existido dos formatos claacutesicos

a) Sumatoria loacutegica se puede expresar una funcioacuten como la suma loacutegica de teacutermishynos maacutes simples Generalmente cada teacutermino es el resultado de una funcioacuten ANO de las variables independientes de

B Meacutetodos basaeacuteos en Reed Mufler

Una funcioacuten booleana expresada en la forma de polinomios de Reed Muller

y

puede expresarse de la siguiente forma

Resulta del arreglo de funciones exor

es

and de las combinaciones posibles de las variables de entrada donde kuuml k l k2 etc puede asumir valores de 1 oacute O El planteamiento de funciones loacutegicas de esta forma implica que los circuitos a construir podriacutean tener un costo ma-

IIIC---- _

REALIDAD y REFLEXIOacuteN UNIVbullbullSIDAD UNCISCO aAVIDIA

yor que los que se construyan de acuershydo a minterms dado que el costo de los integrados con compuertas exor es mashyyor Sin embargo de darse el caso que la cantidad de integrados a usarse en el formato de Reed Muller es menor para una funcioacuten dada el costo total podriacutea ser menor al final

Si se hace una revisioacuten completa de la expresioacuten loacutegica anterior que es la tiacutepishyca para una funcioacuten que dependa de 3 variables de entrada (en este caso la canshytidad de teacuterminos del polinomio es de 8) entonces la cantidad total de teacutermi shynos siempre seraacute de 2deg

Obviamente a primera vista dado qu e la cantidad de teacuterminos pos ibles denshytro de una expresi oacuten es inferior a la cantidad de teacuterminos de una expresioacuten canoacutenica de minterms se podriacutea supo shyner que resulte maacutes praacutecti co un algoritmo basado en Reed Muller que uno basado en minterms mas no neshycesariamente Por ejemplo la simple funcioacuten loacutegica OR como polinomio de Reed Muller seriacutea

y=affibffiab (05 ) Mientras que la funcioacuten exor en forma de minterms es

y=ab+ab (6)

Sin embargo en vista de ese tipo de dishy

dos los teacuterminos en que aparezcan en el polinomio final

c) La de polaridad mixta donde no habriacutea restricciones en la presencia de variables que en ciertos teacuterminos apashyrezcan en su forma positiva o en su forma negada

La consecuencia inmediata de asumir varianshytes en la forma de expresar los polinomios de Reed Muller es que algunas de estas variantes al implementarse resulten en cirshycuitos tan simples o maacutes que los de las expresiones canoacutenicas de minterms

Los trabajos de Dragan lankovic de la Unishyversidad de Nis en Yugoslavia plantean que se puede plantear una solucioacuten usando mashytrices para encontrar los coeficientes de Reed-Muller que definen a una funcioacuten booleana En principio habriacutea que partir de gue si se conoce la tabla de verdad de una funcioacuten de n variables se puede consshytr ir para un pol inomio del tipo de polashyridad positiva con coeficientes desconocishydos cada uno de los cuales determina si un minterm en especial estaraacute presente en el polinomio de Reed Muller representashytivo de la funci oacuten

Asiacute y=kOEBklaEBk2bffik3cEBk4abEB k5acEBk6bcEB k7abc (7)

ficultades se han planteado tres variacuteanshytes de la expresioacuten de los polinomios de Reed Muller

a) La llamada polaridad Rositiva do ntildede todas las entradas siem ~ re se expreshysaraacuten en su valor verdadero nunca el negado

b) La de polaridad fija donde se adshymite que algunas entradas se expreshysen en forma negada pero de ser asiacute Si se escribiera en forma matricial deberaacuten mantener esta forma en toshy resultariacutea

-------------_-----

UNIYERSIDAD FRANCISCO OAYIDIA

ka1 O O O O O O a kl1 1 O o O o o o k21 a 1 O o o o a k31 1 1 1 o O a o k41 O a O 1 O o O k51 1 o o 1 1 o O k61 o 1 o 1 o 1 o

1 1 1 1 1 1 1 1 K7

yO yl y2

(8) y4 y5 y6 y7

y3

Un hecho interesante de que la matriz que define al sistema de ecuaciones no depenshyde del vector de teacuterminos independientes conlleva a que si se puede encontrar la inversa de eacutesta se puede resolver el sisshytema independientemente de la funcioacuten que se esteacute analizando

Esta matriz en especial tiene algunas cashyracteriacutesticas particulares

t-Es simeacutetrica respecto a la diagonal seshycundaria de tal forma que Rara todo ajiacute = a tal que i = I = j = k = n = 1donde kl

n es el orden de la matriz

2-Si se evaluacutea su determinante usando las operaciones propias de los grupos de Galois el valor del det erminante siempre seraacute 1 independientemente del orden de

REALIDAD y REFLEXIOacuteN

aun para sistemas de orden elevado y el hecho de que esta matriz sea igual a su inversa evita el tener que recurrir a proshycesos de inversioacuten de matrices para resolshyver el sistema

De no ser por estas caracteriacutesticas para construir la matriz habriacutea que hacer que cada columna de la matriz coincidiera con la tabla de verdad de cada uno de los minterms que forman parte del polinomio planteado como solucioacuten general

Aunque la mecanizacioacuten de este meacutetodo resulta simple para una funcioacuten como I(123) La respuesta seriacutea y=aEf)bEf) ab lo cual resulta maacutes complejo que la solushycioacuten de la forma canoacutenica obtenida por el rneacutet ddo de Martiacuten y=a+b

Se podriacutea pensar entonces que la forma canoacutenica es una manera maacutes simple de llegar a una solucioacuten en todos los casos la realidad es que no De hecho aparte de la polaridad positiva existen dos tipos maacutes de polinomios de Reed Muller los de polaridad fija y los de polaridad mixta

En el caso de un polinomio de polaridad fija cabe la posibilidad de que se presenten

la matriz --_OJ una o maacutes variab es negadas dentro de los

3-Su inversa obtenida respetando las opeshyraciones propias de los grupos de Galois es igual a la matriz original

Seriacutea un polinomio de polaridad fija para un sistema de dos variables aparece negado en todo momento Como es de esperar de buscar

(9)

siacute por ejem plo

La propiedad 4 facilita construir la matriz del sistema mediante procesos iterativos

minterms que forman el polinomio pero deberaacuten mantener esta polaridad todas las veces gue aparezcan en cualquiera de los mintermsde la expresioacuten

(10)

en que b

una solucioacuten matricial para un sistema de este tipo no se podriacutea recurrir a la misma matriz que

111--- _

REALIDAD y REFLEXIOacuteN UNIVbullbullSIDAD FRANCISCO OAVIDIA

para los casos de polaridad positiva De hecho tomando en cuenta las posibles variaciones de las combinaciones de las variables de entrada llegaran a existir 2 posibles matrices una de las cuales coinshycidiriacutea con la matriz usada para polaridad positiva y las otras seriacutean diferentes Por lo tanto para una misma funcioacuten se esshyperariacutean 2 soluciones diferentes

Aunque la forma maacutes obvia de obtener cada una de estas matrices es a traveacutes de la evaluacioacuten de las tablas de verdad de cada minterm estas matrices tendraacuten ciershytas caracteriacutesticas a considerar

1- No son simeacutetricas respecto a ninguna de las dos diagonales

2- Siempre se puede encontrar su invershysa por meacutetodos como Gauss respetanshydo las condiciones propias de los grushy

Asiacute para el sistema de 2 variables basado en b y a

1 O 1 11 ~01= 1 (13) ~ 1 O O O[

1 1 O O

S-Se puede obtener la inversa de la matriz del sistema si se aprovecha una propiedad del producto Kronecker la inversa de un producto Kronecker es igual al producto Kronecker de las matrices inversas

01= O OO 1 ]1 (14) ~ 1 O 1 O[

1 1 1 1

Asiacute que aprovechando estas propiedades es factible desarrollar un programa que aunque resulte maacutes complejo que usado para polaridad positiva permita llegar a una respuesta valida

3-La inversa de cada matriz es igual a la transpuesta de la matriz respecto a la diagonal secundaria (no es una transposicioacuten claacutesica)

Si

O 1 J [ O 1 ]

pos de Galois uevamente cabe la posibilidad de que la

de la funcioacuten en

o a tercera

res uestaobtenida al final resulte en algunos casas tan compleja o maacutes que la expresioacuten

u forma canoacutenica

alternativa implicariacutea buscar la respuesta para un polinomio de po shy

-- Iaridad mixta En un polinomio de polashy1 1 1 1 O O 1 1 ridad mixta las variables pueden tener

A= 1 O O O entonces A ~ 1 O 1 O (11) polaridad po it iva o negativa sin que se [1 1 O O 1 1 1 1 respete ninguacuten orden en particular Asiacute

(15)

La dificultad radicariacutea en que no se poshydriacutea recu rr ir a meacutetodos basados en el

-__por ejemplo

Cuando el teacutermino tiene pola ridad po siti shyva y la matriz completariacutea que corresponshy producto Kronecker para desarrollar la deriacutea a matriz caracteriacutestica del sistema Ademaacutes

existen dos problemaacuteticas adicionales la (12) cant idad de matrices posibles a usar y la

aparicioacuten de matrices singulares

---------_-----

UNIVbullbullSIDAD RANClSCO GAVlDIA REALIDAD y REFLEXIOacuteN

Nuacutemero de matrices de polaridad mixshyta Ya que un pol inom io de polar idad mixshyta puede formarse a parti r de cualquieshyra de los minterms posibles formado con n variables Usando el equivalente a la loacutegica de 3 estados para fo rmar un minterm cualquiera entonces cabe n tres posibil idades

a) Que una variable no esteacute presente en la formacioacuten de un minterm

b) Que esteacute presente y su valor esteacute negado e) Que esteacute presente y su valor no

esteacute negado

Tomando en cuenta estas posibil idades entonces al tomar en cuenta que hay 3 minterms y que una solucioacuten matricial requeriacutea usar 2 de esos minterms las poshysibles matrices en total estariacutean dadas por el combinatorio

() (16)

El cual puede llegar a tener valores extr shymadamente grandes conforme n cree Asiacute

Tabla 1 -iexcl

N Matrices

2 126 3 22200 75 4 33594090947249085 98 12294412288 7808427264 71 233 ~ 748e + 395

La magnitud en que crecen la cantid ad de matrices a evaluar es superior al ereshyci m ie n t o exponencial de l tota l de minterms para la forma canoacutenica la ual crece exponencialmente de acuerdo a la formula 3

Una clara referencia de la diferencia en el crecim iento de estas magnitudes se muesshytra en la siguiente graacutefica

bull l-shy

iexclig 1 Crecimiento comparativo de matrishyces usadas para polaridad mixta y el creshycimiento del nuacutemero de minterms

Este crecimiento de soluciones plantea que al dejar que un usuario escoja por siacute misshymo cuaacutel de las posibles matrices no lo llevaraacute a la solucioacuten maacutes simple lo llevashyriacutea a una cantidad praacutecticamente inconmenshysurabl de soluciones

El problema de las matrices singulares Dentro de un sistema de n variables si se escogen dos minterms que sean uno el negado del otr o al constru ir la matr iz de polaridad mix ta se podriacutea llegar a una matriz singular de tal forma que eacutesta no tendr aacute inversa 1 por lo tanto a traveacutes de ella no se vaacutelida Asiacute se tendriacutea

po draacute llegar Rara la combi

a na

una cioacuten

solucioacuten taa ab

(1 7)

Y esta es una matriz I que no tiene inversa De hecho entre mayor sea el nuacutemero de variables mayor seraacute el nuacutemero de matrishyces singulares que pueden llegar a aparecer dentro del universo de matrices generables para un sistema de polaridad mixta

_

__

REALIDAD y REFIEXlOacuteN UNIVIRSIDAD FRANCISCO OAVIDIA

Soluciones no matriciales Cabe la posibilidad entonces de buscar alternativas no matriciales que resuelvan funciones en forma de polinomios de Rced Muller Los trabajos de Per lingren de la Universidad Tecnoloacutegica de lulea en Sueshycia y los de otros plantean algunas altershynativas no matriciales

Una alternativa relativamente simple conshysiste en asumir que cada 1 en la tabla de verdad corresponde a un minterm cuya tabla de verdad soacutelo tiene un valor vershydadero Asiacute que al hacer la operacioacuten exor con cualquiera de los otros minterms no habraacute anulacioacuten de unos en el resulshytado final Usando esta loacutegica b funcioacuten que tenga mayor cantidad de 1 en su tabla de verdad resultaraacute maacutes compleja y cada minterm siempre estaraacute compuesto por combinaciones de las n variabl es que intervienen en la funcioacuten Asiacute la expreshysioacuten y=iquest(l357) corresRonderiacutea a y=cba EecbaEBcbaEBcba Aun que esta respuesshyta es vaacutelida dista de ser la maacutes senci lla de implementar en un ci rcui to y su uacutenishyca ventaja radica en que el procedimienshyto es muy simple para la computadora

Otra alternativa no matricial consiste en un meacutetodo de aproximaciones sucesivas seguacuten el cual se puede descompone r una funcioacuten basada en un polinomio de Reed Muller si se asume que cada minterm tiene una cant idad de 1 menor que la funcioacuten fina l

Bu~cando

iexcl- - - --teorem a y aprovechando el siguiente

Si y = xEBz entonces que xEeY = z

Esto llevariacutea a que siacute y es una funcioacuten compleja con una buena cantidad de 1 al hacer la operacioacuten exor con alguno de los minterms que la forman el resultado

a) Un minterm relativamente simple y faacutecil de identificar o

b) Una funcioacuten maacutes simple que y tal que tendraacute una cantidad menor de 1 en su tabla de verdad

La esencia del procedimiento consistiraacute en poder generar las tablas de verdad de todos los minterms posibles y en llevar conteo de coacutemo se reduce el nuacutemero de 1 en la funcioacuten resultante con forme se somete a prueba cada minterm

Un atajo dentro de este procedimiento consiste en asumir que si la cantidad toshytal de 1 de la funcioacuten original es mayor a la mitad de todos los valores posibles de la tabla de verdad entonces resultariacutea maacutes faacutecil trabajar con el negado de la funcioacuten original en lugar de con ella misshyma y aplicar la siguiente propiedad

1= 1 EB-iCi - (18)

En much as ocasiones el uso de este atashyjo lleva a una respuesta de tipo polaridad mixta que es mucho maacutes simple que la

Vale

que se obtiene por otros meacutetodos

la pena sentildealar que los algoritmos aplicables a Reed Muller ya fueron impleshyment ados como parte de proyecto de gradu acioacuten de Al ejandro Fabiaacuten en la Uni versidad Don Bosco (2003)

propuesta para expresiones

una alternativa que no incluya los meacutetodos tradicionales ni que esteacute reshylacionada con Jos polinomios de Reed Muller cabe la posibilidad de llegar a soluciones maacutes simples y que al no deshypender de funciones XOR resulten maacutes

seraacute en cualquier caso baratas de implementar

--------------shy

UNWbullbullbullIDAD aAHCIco OAVIDIA REALIDAD y REFLEXIOacuteN

Al buscar una forma de sistematizar la simplificacioacuten de lasfunciones en las forshymas canoacutenicas propongo un algoritmo basado en las siguientes premisas

1- Si se puede hacer que para un nuacuteshymero n de variables la computadora pueda evaluar cada uno de los minterms que podriacutean obtenerse al combinar la n variables el proceso de saber cuaacutel minterm es parte de una funcioacuten dada se convierte en un proceso de eliminacioacuten

2- Si un minterm m es parte de una funcioacuten f entonces

f=m+n+h f = mnh (19) ~fm=O

El seguir el procedimiento anterior para todos los minterms posibles no elimina un problema con que geneshyralmente se encuentran los estudianshytes la presencia de teacuterminos redundantes en la expresioacuten final es decir que algunos minterms que se han incluido dentro de la expresioacuten pueden de hecho ser absorbidos por otros

Luego si se conoce la tabla de verClad de la funcioacuten que se desea sim lificar la tabla de verdad de un minterm generado por la computadora si m es parte de f al aplicar la uacuteltima ecuacioacuten en ning uacuten caso el resultado deberaacute dar diferente de O Si en alguacuten caso el resultado es verdadero habriacutea que descartar ese minterm como parte de la ecuacioacuten final

Por ejemplo para la funcioacuten y=I( 123) la tabla de verdad resulta ser la siguiente

Tabla 2 --b A Y

o O O

O 1 1 1 O 1 1 1 1

1

Los minterms que pueden formar esta funshycioacuten seraacuten 01 a a b b ab ab ab y abo Un total de 10 teacuterminos Ya que los primeros 2 no vale la pena probarlos al probar el caso de a tendriacuteamos

Tabla 3

y A Ya iexcl O O O 1 O O O O O 1 O

Tabla 4

Como a es un minterm incluido en Y entonces todas las combinaciones de Ya daraacuten cero siempre

Para el caso de b resultaraacute distinto

y b y b 1 1 iexcl

o 1 O O O O

l O O O

Dado que al menos en un caso el resulshytado de combinacioacuten es 1 es faacutecil deducir que b no es un minterm de y

s- Una vez sistematizados todos estos pasos el resultado seraacute una expresioacuten de la forma canoacutenica reducida a su forma maacutes simple

---------------------shy

------------

UNIYIRIIDAD FRANCISCO GAYIDIA REAuoAD y REFLEXiOacuteN

D Relacioacuten con la teoriacutea de conjuntos

Si se relacionan los operadores booleanos con operaciones de conjuntos habriacutea que considera que la funcioacuten ANO corresponde a la de intercepcioacuten que la OR es la de unioacuten y que la NOT es simplemente semiddot ntildealar todo aquello que no pertenece al conjunto a que se aplica

Asiacute una graacutefica que sentildealara a un subconjunto m como incluido en un conshyjunto F seriacutea tanto como afirmar que m es un rninterm de F

u

F

Fig 2 m como un minterm de F

Toda la regioacuten dentro del universo que no pertenece a f seriacutea f

Fig 3 El conjunto de F

Si buscamos el intercepto de F y m soacutelo llegariacuteamos a un espacio vaciacuteo ya que no tienen ninguacuten espacio en comuacuten por lo tanto Se cumple el principio propuesto

Si se hubiera trabajado con un conjunto p no incluido dentro de F (una expresioacuten que no es un minterm de F) entonces la representacioacuten graacutefica seriacutea

Fig 4 P no es minterm de F pero estaacute incluido en F

Dado que p queda incluido dentro de F entonces el resultado de la intercepcioacuten seriacutea diferente a un conjunto vaciacuteo

E Implicaciones Un meacutetodo como el descrito implica proshybar una cantidad considerable de posibishylidades lo obvio es que si se sistematiza el meacutetodo cuantos maacutes minterms se prueshyben en el sistema maacutes tiempo se llevaraacute la simplificacioacuten

Cuando se trabaja con una sola variable los minterms posibles son O 1 a a Un total de 4 Para el caso de 2 variables ya se habiacutea comprobado que los minterms posibles son 10 Si se analiza un caso de 3 variables el nuacutemero total de teacuterminos posibles es de 28 Al analizar esta secuenshycia de nuacutemeros se deduce que la cantishydad de minterms al final para n variables de entrada es de 3+1

Una comprobacioacuten de esta foacutermula para un caso general partiriacutea de este principio En un caso simple de formarse un minterm con k variables de n variables de entrashyda se formariacutea un numero de combinashyciones de variables dado por

UNIVIRSIDAD RANCSCO GAVIDIA REALIDAD y REFLEXIOacuteN

(Z) (20)

Pero de cada una de estas combinaciones se puede generar una cantidad de comshybinac iones binarias de los variable s y sus correspondientes negados Esta cantidad seraacute igual a 2k

Luego la cantidad total de minterms generados con k variables de un total de n es

(21)

La sumatoria de todos los teacuterminos posishybles desde k=l hasta n da como resultashydo una expresioacuten similar a la del polinomio de Newton para la potencia de un binoshymio donde 2 es uno de los monomios y 1 el otro es decir

(22) i 2k (n) = (3) --~= (2+1) K-O k

Sin embargo como no se estaacute consideranshydo el caso de k = O entonces la cantishydad de minterms forma dos con las variashybles resulta 3-1 Con siderando los minterms que no depe nden de las variashybles de entrada es deci r O y 1 entonces la cantidad de minterms posibles seraacute 3+1

F La problemaacutetica en torno al algoritmo

Uno de los puntos de intereacutes en torno a generar una aplicacioacuten que utilice el pro shycedimiento propuesto radica en la neceshysidad de generar las tablas de verdad de minterms y a partir de alliacute seguir el proshyceso de eliminacioacuten Hay dos alternativas que pueden ser viables

1- Dado que los minterms a usar seraacuten siempre los mismos para un nuacutemero

dado de variables de entrada y sus tablas de verdad no dependen de la tabla de verdad de la funcioacuten a analishyzar entonces seriacutea factible tener almashycenadas todas estas tablas en una base de datos de la cual se consultariacutean las tablas de verdad soacutelo para llevar a cabo el procedimiento de eliminacioacuten desshycrito no con el fin de alterar en nada los resultados almacenados

2- Recurrir a Uf) proced imiento que din aacutemicamente genere las tablas de verdad en cada ocasioacuten en que haya que analizar una funcioacuten en especial

Ambas alternativas ofrecen ventajas y desventajas

a) En el primer caso habriacutea que alimenshytar los datos manualmente a la tabla de verdad y para que la aplicacioacuten tuvieshyra la capacidad de resolver funciones con 5 variables de entrada la base tenshydriacutea que tener 243 tablas de 243 minterms donde cada tabla tendriacutea 32 valores asignados De esta forma habriacutea entonces 7776 elementos binarios alshymacenados en la base de datos En otras palabras la base de datos necesitariacutea una cantidad de elementos almacenados proshyporcional a 6 elevado a la n Para una cantidad n de variables a considerar Aunque el orden de las operaciones a llevar a cabo es pequentildeo para un sisshytema informaacutetico resulta en una cantishydad enorme de datos a digitarse para almacenarse en la base

b) En el segundo caso la generacioacuten din aacutemica de las tablas de verdad implica considerar para cada variable al menos 3 condiciones posibles

i) El que la variable esteacute ausente en el minterm a analizar

--------------shy

REALIDAD y REFLEXIOacuteN UNIVERSIDAD RANCISCO GAYlDIA

ii) El que la variable esteacute presente pero deba operarse con su valor actual

iii) Que la variable esteacute presente pero deberaacute operararse siempre negada

Al final habraacute que llevar a cabo un total de (6) evaluaciones de todos los valores que pueden asumir los minterms a analishyzar El factor determinante en este caso es el tiempo maacutequina necesario para llevar a cabo todas estas evaluaciones cuando se quiera analizar una funcioacuten que dependa de un nuacutemero de variables elevado

G Meacutetodos alternativos

En este momento vale la pena preguntarshyse si no seriacutea viable buscar la forma de simplificar funciones booleanas por otros meacutetodos como el uso de una extensa base de datos en la que se buscara una forma simplificada de una funcioacuten comparaacutendoshyla con su tabla de verdad almacenada Aunque eacutesta parece una alternativa bastante simple hay que evaluar elementos imporshytantes como el tamantildeo de la base de dashytos o la magnitud del tiempo de buacutesqueshyda en la misma y sopesar esto contra las caracteriacutesticas de los meacutetodos de Martiacuten

De acuerdo a la metodologiacutea de Martin si se estima que se requieren n variables para representar una funcioacuten entonces existiraacuten 3 minterms que pueden ser parte de la funcioacuten simplificada y el proceso de simplificacioacuten propuesto eliminaraacute aqu 1I0s minterms que no pertenecen a la func ioacuten analizada y tambieacuten aquellos qu e son absorbidos por otros den tro de la misma funcioacuten El proceso implica que el pro grashyma en Visual Basic desarrolle las tablas de verdad de cada uno de los minterms y ya que en su formato maacutes simple cada tashybla de verdad estariacutea formada por 2 bits asiacute que el archivo que utilizariacutea el prograshy

ma en clisp tendriacutea un tamantildeo de 6 bits Asiacute para simplificar funciones de sistemas de 6 variables se necesitariacutea de un archishyvo de al menos 46 Kb En la praacutectica los archivos usados son maacutes grandes porque no se expresan las tablas de verdad con 1 y O sino que con los teacuterminos t y nil que son propios del lenguaje Lisp

A estas alturas vale la pena preguntarse iquestCuaacuten grande seriacutea una base de datos como sustituto al meacutetodo de Martin En primer lugar seriacutea necesario que esta base contashyra al menos con 2 campos uno con la expresioacuten algebraica de la funcioacuten en su forma maacutes simple y otro con la tabla de verdad correspondiente Obviamente el tamantildeo de cada campo depende en bueshyna medida del nuacutemero maacuteximo de variashybles que sea capaz de procesar el sistema y ello influi raacute directamente en el tamantildeo de la base de datos En segundo lugar el tamantildeo de la base de datos tambieacuten deshypende del nuacutemero de registros a contener y deberaacute con tener todas las funciones posibles que se puedan generar con n variables La cuestioacuten ahora es iquestcuaacutentas funciones pueden generarse con n variables

Para responder a la pregunta anterior hamiddot bria que recurrir a buscar cuaacutentas formas miacutenimas se pueden obtener combinando minterms o partir de otro modelo que permita llegar a la misma respuesta de una forma maacutes directa Si se utilizan las afirshymaciones de Reed y Muller de que toda funcioacuten booleana puede expresarse en forma de uno de sus polinomios si se lleshyvan a expresiones de tipo de polaridad fija la cual es su forma maacutes simple se presenshytan en formas como la siguiente

(23)

La cual seriacutea un polinomio de Reed-Muller para 2 variables En general habriacutea que

___________B

UNlVbullbullIDAD AMeIIeO GAVIDIA REALIDAD y REFLEXIOacuteN

decir que un polinomio de este tipo poshydriacutea estar formado por 2 teacuterminos Exisshytiraacuten coeficientes k cada uno de los cuashyles asumiriacutea valores de 1 oacute O asiacute que el nuacutemero de posibles combinaciones que se generariacutean es de 22 Si mediante un polinomio de Reed-Muller puede represenshytarse cualquier funcioacuten entonces el nuacutemero total de funciones distintas que se pueden generar con n variables corresponde al mismo valor de combinaciones generadas por un polinomio de Reed-Muller

Asiacute para un sistema de 6 variables se geshy264 nerariacutean funciones distintas es decir

18446J44073709551616=18xlO 6 Si a este nuacutemero corresponde el nuacutemero de registros de la base ce datos aunq e cada registro apenas ocupase un bit (que de hecho no seraacute asiacute) el tamantildeo miacutenimo de la base seriacutea de 2147483648 Gbytes

De lo anterior se deduce que la alternativa de usar un sistema de Bases de daacutefos es impraacutectica El sistema con que cuenta actualshymente no representa ni siquiera 100kbyte de consumo del disco duro ni exige maacutes allaacute de los 2MB de ram que requiere cualquier programa en Cliacutesp para funcionar

I

Donde mi n Y p son a su vez maxterms al aplicar el teorema de O Margan se tendriacutea

F=m+n+p (25)

Si se lleva a cabo la siguiente operacioacuten entonces tendriacuteamos

F+mm+m+n+p=l (26)

o simplemente

(27)

lile aquiacute se podriacutea deducir que para cualshyquier maxterm m que sea parte de una funcioacuten F deberaacute cumplirse el principio anterior Por ejemplo

Si F=II(23)

Entonces la tabla de verdad seraacute

~~

1

-Tabla 4

b a F O O O O 1 O 1 O 1

1 1 1

Erttre los posibles maxterms estaraacuten aQab (a+b) a+b) (a+b) y (a+b) Un total de 8 maxt rm sin tomar en cuenta a O con lo cual podriacutean ser un total de 9 posibles (3)

-----~

1 tomando

Tabla 5

F m F+m O 1 1

O O O O 1 1F=mnp (24)

---------------shy

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

-----------------

Antildeo S NQ 13 San Salvador El Salvador Centro Ameacuterica Revista Cuatrimestral enero-abril 2005

ALGORITMOS ALTERNATIVOS PARA LA SIMPLIFICACiOacuteN

DE FUNCIONES BOOLEANAS

ALTERNATIVE ALGORITHMS re SIMPLIFY THE BOOLEAN5

FUNCTIONS Sergio Adriaacuten Martiacuten

Docente e Investigador de la Universidad Francisco Gavidia

The sutbor states a method to simplify the Booleans functions that could be practical if it is done in a computer The weJl known methods are proposed and taken into account by other authors and the degree of difficulty ot each method is estima ted It is also taken into account the total of al possible tests that the computer has to accomplish to a considerable input 01 variables Besides the way that the prototype has been developed is shown for that reason the surroundings and languages pros and cons are analyzed The proposed procedures to face the problems that deal w ith the Booleans functions do not need the use of graphics and can be applied with accessible technology in El Salvador preferable if you can count with a 800 MHz and 32 MB computer MARTfN SERGIO BRAN ALGORITHMS BOOLEAN ALCEBRA LOCle MATH5

UNIYIRSIDO FRANCISCO GAYIDIA REALIDAD y REFLEXIOacuteN

INTRODUCCiOacuteN

Durante mucho tiempo se ha especulado sobre el proceso continuo de la convergenshycia digital de la gran mayoriacutea de las disciplishynas derivadas de la electroacutenica Sin embarshygo se han mantenido muchas de las metoshydologiacuteas de disentildeo al punto que aparte de los procesos de miacuteniaturizadoacuten y de la adopshycioacuten de nuevos materiales no se han hecho contribuciones sustanciales a Jos meacutetodos de resolucioacuten de funciones booleanas En este artiacuteculo doy a conocer un enfoque nuevo en esta aacuterea y lo comparo con los meacutetodos planteados por diversos autores Particulannenshyte hago hincapieacute en los meacutetodos aplicables para su uso en computadoras no en una orientacioacuten para su uso por humanos

El objetivo de la investigacioacuten en siacute es el de implementar una serie de algoritmos con el fin de que la computadora pueda guiar a un disentildeador o a un estudiante de electroacutenica a resolve r mucha de la problemaacutetica de los sistemas digitales sin recurrir a meacutetodos tradicionales

la funcioacuten A los teacuterminos de este tipo se les llama minterms Por ejemplo Y=f+g oacute y=ab+ab (1 )

b) Multiplicatorio loacutegico se puede expreshysar una funcioacuten como un multiplicatorio loacutegico es decir como una serie de opeshyraciones ANO entre teacuterminos maacutes simshyples Generalmente cada uno de esos teacuterminos es el resultado de una sumatoria loacutegica de algunas de las vashyriables independientes de la funcioacuten A los teacuterminos de este tipo se les llashyma maxterms Por ejemplo Y=gh oacute y=(a+b)(a+b) (2)

Hacia 1927 un matemaacutetico ruso llamado Zegalkin planteo el hecho de que las funshyciones loacutegicas se pueden escribir usando principalmente operadores EXOR y operashydores ANO Sin embargo estas teorias permanecieron desconocidas en occidenshyte durante los siguientes 3D antildeos cuando (jos investigadores llamados Reed y Muller establecieron los llamados polinomios de Re ~d Muller de la siguiente forma

PROPUESTAS DE SOLUCiOacuteN y=f1

donde EB 2EB ] (3)

es una expresioacuten loacutegica generalshyBase elemental mente de tipo minterm Si se desea simplificar una funcioacuten loacutegica han existido durante antildeos meacutetodos tradicionales con ese fin Sin embargo algunos de ellos son meacutetodos graacuteficos y otros representan probleshymas no resueltos aun en una computadora

La base de una simplificacioacuten efectiva reducir la funcioacuten a un numero miacutenimo de operaciones y operandos Tradicionalmente han existido dos formatos claacutesicos

a) Sumatoria loacutegica se puede expresar una funcioacuten como la suma loacutegica de teacutermishynos maacutes simples Generalmente cada teacutermino es el resultado de una funcioacuten ANO de las variables independientes de

B Meacutetodos basaeacuteos en Reed Mufler

Una funcioacuten booleana expresada en la forma de polinomios de Reed Muller

y

puede expresarse de la siguiente forma

Resulta del arreglo de funciones exor

es

and de las combinaciones posibles de las variables de entrada donde kuuml k l k2 etc puede asumir valores de 1 oacute O El planteamiento de funciones loacutegicas de esta forma implica que los circuitos a construir podriacutean tener un costo ma-

IIIC---- _

REALIDAD y REFLEXIOacuteN UNIVbullbullSIDAD UNCISCO aAVIDIA

yor que los que se construyan de acuershydo a minterms dado que el costo de los integrados con compuertas exor es mashyyor Sin embargo de darse el caso que la cantidad de integrados a usarse en el formato de Reed Muller es menor para una funcioacuten dada el costo total podriacutea ser menor al final

Si se hace una revisioacuten completa de la expresioacuten loacutegica anterior que es la tiacutepishyca para una funcioacuten que dependa de 3 variables de entrada (en este caso la canshytidad de teacuterminos del polinomio es de 8) entonces la cantidad total de teacutermi shynos siempre seraacute de 2deg

Obviamente a primera vista dado qu e la cantidad de teacuterminos pos ibles denshytro de una expresi oacuten es inferior a la cantidad de teacuterminos de una expresioacuten canoacutenica de minterms se podriacutea supo shyner que resulte maacutes praacutecti co un algoritmo basado en Reed Muller que uno basado en minterms mas no neshycesariamente Por ejemplo la simple funcioacuten loacutegica OR como polinomio de Reed Muller seriacutea

y=affibffiab (05 ) Mientras que la funcioacuten exor en forma de minterms es

y=ab+ab (6)

Sin embargo en vista de ese tipo de dishy

dos los teacuterminos en que aparezcan en el polinomio final

c) La de polaridad mixta donde no habriacutea restricciones en la presencia de variables que en ciertos teacuterminos apashyrezcan en su forma positiva o en su forma negada

La consecuencia inmediata de asumir varianshytes en la forma de expresar los polinomios de Reed Muller es que algunas de estas variantes al implementarse resulten en cirshycuitos tan simples o maacutes que los de las expresiones canoacutenicas de minterms

Los trabajos de Dragan lankovic de la Unishyversidad de Nis en Yugoslavia plantean que se puede plantear una solucioacuten usando mashytrices para encontrar los coeficientes de Reed-Muller que definen a una funcioacuten booleana En principio habriacutea que partir de gue si se conoce la tabla de verdad de una funcioacuten de n variables se puede consshytr ir para un pol inomio del tipo de polashyridad positiva con coeficientes desconocishydos cada uno de los cuales determina si un minterm en especial estaraacute presente en el polinomio de Reed Muller representashytivo de la funci oacuten

Asiacute y=kOEBklaEBk2bffik3cEBk4abEB k5acEBk6bcEB k7abc (7)

ficultades se han planteado tres variacuteanshytes de la expresioacuten de los polinomios de Reed Muller

a) La llamada polaridad Rositiva do ntildede todas las entradas siem ~ re se expreshysaraacuten en su valor verdadero nunca el negado

b) La de polaridad fija donde se adshymite que algunas entradas se expreshysen en forma negada pero de ser asiacute Si se escribiera en forma matricial deberaacuten mantener esta forma en toshy resultariacutea

-------------_-----

UNIYERSIDAD FRANCISCO OAYIDIA

ka1 O O O O O O a kl1 1 O o O o o o k21 a 1 O o o o a k31 1 1 1 o O a o k41 O a O 1 O o O k51 1 o o 1 1 o O k61 o 1 o 1 o 1 o

1 1 1 1 1 1 1 1 K7

yO yl y2

(8) y4 y5 y6 y7

y3

Un hecho interesante de que la matriz que define al sistema de ecuaciones no depenshyde del vector de teacuterminos independientes conlleva a que si se puede encontrar la inversa de eacutesta se puede resolver el sisshytema independientemente de la funcioacuten que se esteacute analizando

Esta matriz en especial tiene algunas cashyracteriacutesticas particulares

t-Es simeacutetrica respecto a la diagonal seshycundaria de tal forma que Rara todo ajiacute = a tal que i = I = j = k = n = 1donde kl

n es el orden de la matriz

2-Si se evaluacutea su determinante usando las operaciones propias de los grupos de Galois el valor del det erminante siempre seraacute 1 independientemente del orden de

REALIDAD y REFLEXIOacuteN

aun para sistemas de orden elevado y el hecho de que esta matriz sea igual a su inversa evita el tener que recurrir a proshycesos de inversioacuten de matrices para resolshyver el sistema

De no ser por estas caracteriacutesticas para construir la matriz habriacutea que hacer que cada columna de la matriz coincidiera con la tabla de verdad de cada uno de los minterms que forman parte del polinomio planteado como solucioacuten general

Aunque la mecanizacioacuten de este meacutetodo resulta simple para una funcioacuten como I(123) La respuesta seriacutea y=aEf)bEf) ab lo cual resulta maacutes complejo que la solushycioacuten de la forma canoacutenica obtenida por el rneacutet ddo de Martiacuten y=a+b

Se podriacutea pensar entonces que la forma canoacutenica es una manera maacutes simple de llegar a una solucioacuten en todos los casos la realidad es que no De hecho aparte de la polaridad positiva existen dos tipos maacutes de polinomios de Reed Muller los de polaridad fija y los de polaridad mixta

En el caso de un polinomio de polaridad fija cabe la posibilidad de que se presenten

la matriz --_OJ una o maacutes variab es negadas dentro de los

3-Su inversa obtenida respetando las opeshyraciones propias de los grupos de Galois es igual a la matriz original

Seriacutea un polinomio de polaridad fija para un sistema de dos variables aparece negado en todo momento Como es de esperar de buscar

(9)

siacute por ejem plo

La propiedad 4 facilita construir la matriz del sistema mediante procesos iterativos

minterms que forman el polinomio pero deberaacuten mantener esta polaridad todas las veces gue aparezcan en cualquiera de los mintermsde la expresioacuten

(10)

en que b

una solucioacuten matricial para un sistema de este tipo no se podriacutea recurrir a la misma matriz que

111--- _

REALIDAD y REFLEXIOacuteN UNIVbullbullSIDAD FRANCISCO OAVIDIA

para los casos de polaridad positiva De hecho tomando en cuenta las posibles variaciones de las combinaciones de las variables de entrada llegaran a existir 2 posibles matrices una de las cuales coinshycidiriacutea con la matriz usada para polaridad positiva y las otras seriacutean diferentes Por lo tanto para una misma funcioacuten se esshyperariacutean 2 soluciones diferentes

Aunque la forma maacutes obvia de obtener cada una de estas matrices es a traveacutes de la evaluacioacuten de las tablas de verdad de cada minterm estas matrices tendraacuten ciershytas caracteriacutesticas a considerar

1- No son simeacutetricas respecto a ninguna de las dos diagonales

2- Siempre se puede encontrar su invershysa por meacutetodos como Gauss respetanshydo las condiciones propias de los grushy

Asiacute para el sistema de 2 variables basado en b y a

1 O 1 11 ~01= 1 (13) ~ 1 O O O[

1 1 O O

S-Se puede obtener la inversa de la matriz del sistema si se aprovecha una propiedad del producto Kronecker la inversa de un producto Kronecker es igual al producto Kronecker de las matrices inversas

01= O OO 1 ]1 (14) ~ 1 O 1 O[

1 1 1 1

Asiacute que aprovechando estas propiedades es factible desarrollar un programa que aunque resulte maacutes complejo que usado para polaridad positiva permita llegar a una respuesta valida

3-La inversa de cada matriz es igual a la transpuesta de la matriz respecto a la diagonal secundaria (no es una transposicioacuten claacutesica)

Si

O 1 J [ O 1 ]

pos de Galois uevamente cabe la posibilidad de que la

de la funcioacuten en

o a tercera

res uestaobtenida al final resulte en algunos casas tan compleja o maacutes que la expresioacuten

u forma canoacutenica

alternativa implicariacutea buscar la respuesta para un polinomio de po shy

-- Iaridad mixta En un polinomio de polashy1 1 1 1 O O 1 1 ridad mixta las variables pueden tener

A= 1 O O O entonces A ~ 1 O 1 O (11) polaridad po it iva o negativa sin que se [1 1 O O 1 1 1 1 respete ninguacuten orden en particular Asiacute

(15)

La dificultad radicariacutea en que no se poshydriacutea recu rr ir a meacutetodos basados en el

-__por ejemplo

Cuando el teacutermino tiene pola ridad po siti shyva y la matriz completariacutea que corresponshy producto Kronecker para desarrollar la deriacutea a matriz caracteriacutestica del sistema Ademaacutes

existen dos problemaacuteticas adicionales la (12) cant idad de matrices posibles a usar y la

aparicioacuten de matrices singulares

---------_-----

UNIVbullbullSIDAD RANClSCO GAVlDIA REALIDAD y REFLEXIOacuteN

Nuacutemero de matrices de polaridad mixshyta Ya que un pol inom io de polar idad mixshyta puede formarse a parti r de cualquieshyra de los minterms posibles formado con n variables Usando el equivalente a la loacutegica de 3 estados para fo rmar un minterm cualquiera entonces cabe n tres posibil idades

a) Que una variable no esteacute presente en la formacioacuten de un minterm

b) Que esteacute presente y su valor esteacute negado e) Que esteacute presente y su valor no

esteacute negado

Tomando en cuenta estas posibil idades entonces al tomar en cuenta que hay 3 minterms y que una solucioacuten matricial requeriacutea usar 2 de esos minterms las poshysibles matrices en total estariacutean dadas por el combinatorio

() (16)

El cual puede llegar a tener valores extr shymadamente grandes conforme n cree Asiacute

Tabla 1 -iexcl

N Matrices

2 126 3 22200 75 4 33594090947249085 98 12294412288 7808427264 71 233 ~ 748e + 395

La magnitud en que crecen la cantid ad de matrices a evaluar es superior al ereshyci m ie n t o exponencial de l tota l de minterms para la forma canoacutenica la ual crece exponencialmente de acuerdo a la formula 3

Una clara referencia de la diferencia en el crecim iento de estas magnitudes se muesshytra en la siguiente graacutefica

bull l-shy

iexclig 1 Crecimiento comparativo de matrishyces usadas para polaridad mixta y el creshycimiento del nuacutemero de minterms

Este crecimiento de soluciones plantea que al dejar que un usuario escoja por siacute misshymo cuaacutel de las posibles matrices no lo llevaraacute a la solucioacuten maacutes simple lo llevashyriacutea a una cantidad praacutecticamente inconmenshysurabl de soluciones

El problema de las matrices singulares Dentro de un sistema de n variables si se escogen dos minterms que sean uno el negado del otr o al constru ir la matr iz de polaridad mix ta se podriacutea llegar a una matriz singular de tal forma que eacutesta no tendr aacute inversa 1 por lo tanto a traveacutes de ella no se vaacutelida Asiacute se tendriacutea

po draacute llegar Rara la combi

a na

una cioacuten

solucioacuten taa ab

(1 7)

Y esta es una matriz I que no tiene inversa De hecho entre mayor sea el nuacutemero de variables mayor seraacute el nuacutemero de matrishyces singulares que pueden llegar a aparecer dentro del universo de matrices generables para un sistema de polaridad mixta

_

__

REALIDAD y REFIEXlOacuteN UNIVIRSIDAD FRANCISCO OAVIDIA

Soluciones no matriciales Cabe la posibilidad entonces de buscar alternativas no matriciales que resuelvan funciones en forma de polinomios de Rced Muller Los trabajos de Per lingren de la Universidad Tecnoloacutegica de lulea en Sueshycia y los de otros plantean algunas altershynativas no matriciales

Una alternativa relativamente simple conshysiste en asumir que cada 1 en la tabla de verdad corresponde a un minterm cuya tabla de verdad soacutelo tiene un valor vershydadero Asiacute que al hacer la operacioacuten exor con cualquiera de los otros minterms no habraacute anulacioacuten de unos en el resulshytado final Usando esta loacutegica b funcioacuten que tenga mayor cantidad de 1 en su tabla de verdad resultaraacute maacutes compleja y cada minterm siempre estaraacute compuesto por combinaciones de las n variabl es que intervienen en la funcioacuten Asiacute la expreshysioacuten y=iquest(l357) corresRonderiacutea a y=cba EecbaEBcbaEBcba Aun que esta respuesshyta es vaacutelida dista de ser la maacutes senci lla de implementar en un ci rcui to y su uacutenishyca ventaja radica en que el procedimienshyto es muy simple para la computadora

Otra alternativa no matricial consiste en un meacutetodo de aproximaciones sucesivas seguacuten el cual se puede descompone r una funcioacuten basada en un polinomio de Reed Muller si se asume que cada minterm tiene una cant idad de 1 menor que la funcioacuten fina l

Bu~cando

iexcl- - - --teorem a y aprovechando el siguiente

Si y = xEBz entonces que xEeY = z

Esto llevariacutea a que siacute y es una funcioacuten compleja con una buena cantidad de 1 al hacer la operacioacuten exor con alguno de los minterms que la forman el resultado

a) Un minterm relativamente simple y faacutecil de identificar o

b) Una funcioacuten maacutes simple que y tal que tendraacute una cantidad menor de 1 en su tabla de verdad

La esencia del procedimiento consistiraacute en poder generar las tablas de verdad de todos los minterms posibles y en llevar conteo de coacutemo se reduce el nuacutemero de 1 en la funcioacuten resultante con forme se somete a prueba cada minterm

Un atajo dentro de este procedimiento consiste en asumir que si la cantidad toshytal de 1 de la funcioacuten original es mayor a la mitad de todos los valores posibles de la tabla de verdad entonces resultariacutea maacutes faacutecil trabajar con el negado de la funcioacuten original en lugar de con ella misshyma y aplicar la siguiente propiedad

1= 1 EB-iCi - (18)

En much as ocasiones el uso de este atashyjo lleva a una respuesta de tipo polaridad mixta que es mucho maacutes simple que la

Vale

que se obtiene por otros meacutetodos

la pena sentildealar que los algoritmos aplicables a Reed Muller ya fueron impleshyment ados como parte de proyecto de gradu acioacuten de Al ejandro Fabiaacuten en la Uni versidad Don Bosco (2003)

propuesta para expresiones

una alternativa que no incluya los meacutetodos tradicionales ni que esteacute reshylacionada con Jos polinomios de Reed Muller cabe la posibilidad de llegar a soluciones maacutes simples y que al no deshypender de funciones XOR resulten maacutes

seraacute en cualquier caso baratas de implementar

--------------shy

UNWbullbullbullIDAD aAHCIco OAVIDIA REALIDAD y REFLEXIOacuteN

Al buscar una forma de sistematizar la simplificacioacuten de lasfunciones en las forshymas canoacutenicas propongo un algoritmo basado en las siguientes premisas

1- Si se puede hacer que para un nuacuteshymero n de variables la computadora pueda evaluar cada uno de los minterms que podriacutean obtenerse al combinar la n variables el proceso de saber cuaacutel minterm es parte de una funcioacuten dada se convierte en un proceso de eliminacioacuten

2- Si un minterm m es parte de una funcioacuten f entonces

f=m+n+h f = mnh (19) ~fm=O

El seguir el procedimiento anterior para todos los minterms posibles no elimina un problema con que geneshyralmente se encuentran los estudianshytes la presencia de teacuterminos redundantes en la expresioacuten final es decir que algunos minterms que se han incluido dentro de la expresioacuten pueden de hecho ser absorbidos por otros

Luego si se conoce la tabla de verClad de la funcioacuten que se desea sim lificar la tabla de verdad de un minterm generado por la computadora si m es parte de f al aplicar la uacuteltima ecuacioacuten en ning uacuten caso el resultado deberaacute dar diferente de O Si en alguacuten caso el resultado es verdadero habriacutea que descartar ese minterm como parte de la ecuacioacuten final

Por ejemplo para la funcioacuten y=I( 123) la tabla de verdad resulta ser la siguiente

Tabla 2 --b A Y

o O O

O 1 1 1 O 1 1 1 1

1

Los minterms que pueden formar esta funshycioacuten seraacuten 01 a a b b ab ab ab y abo Un total de 10 teacuterminos Ya que los primeros 2 no vale la pena probarlos al probar el caso de a tendriacuteamos

Tabla 3

y A Ya iexcl O O O 1 O O O O O 1 O

Tabla 4

Como a es un minterm incluido en Y entonces todas las combinaciones de Ya daraacuten cero siempre

Para el caso de b resultaraacute distinto

y b y b 1 1 iexcl

o 1 O O O O

l O O O

Dado que al menos en un caso el resulshytado de combinacioacuten es 1 es faacutecil deducir que b no es un minterm de y

s- Una vez sistematizados todos estos pasos el resultado seraacute una expresioacuten de la forma canoacutenica reducida a su forma maacutes simple

---------------------shy

------------

UNIYIRIIDAD FRANCISCO GAYIDIA REAuoAD y REFLEXiOacuteN

D Relacioacuten con la teoriacutea de conjuntos

Si se relacionan los operadores booleanos con operaciones de conjuntos habriacutea que considera que la funcioacuten ANO corresponde a la de intercepcioacuten que la OR es la de unioacuten y que la NOT es simplemente semiddot ntildealar todo aquello que no pertenece al conjunto a que se aplica

Asiacute una graacutefica que sentildealara a un subconjunto m como incluido en un conshyjunto F seriacutea tanto como afirmar que m es un rninterm de F

u

F

Fig 2 m como un minterm de F

Toda la regioacuten dentro del universo que no pertenece a f seriacutea f

Fig 3 El conjunto de F

Si buscamos el intercepto de F y m soacutelo llegariacuteamos a un espacio vaciacuteo ya que no tienen ninguacuten espacio en comuacuten por lo tanto Se cumple el principio propuesto

Si se hubiera trabajado con un conjunto p no incluido dentro de F (una expresioacuten que no es un minterm de F) entonces la representacioacuten graacutefica seriacutea

Fig 4 P no es minterm de F pero estaacute incluido en F

Dado que p queda incluido dentro de F entonces el resultado de la intercepcioacuten seriacutea diferente a un conjunto vaciacuteo

E Implicaciones Un meacutetodo como el descrito implica proshybar una cantidad considerable de posibishylidades lo obvio es que si se sistematiza el meacutetodo cuantos maacutes minterms se prueshyben en el sistema maacutes tiempo se llevaraacute la simplificacioacuten

Cuando se trabaja con una sola variable los minterms posibles son O 1 a a Un total de 4 Para el caso de 2 variables ya se habiacutea comprobado que los minterms posibles son 10 Si se analiza un caso de 3 variables el nuacutemero total de teacuterminos posibles es de 28 Al analizar esta secuenshycia de nuacutemeros se deduce que la cantishydad de minterms al final para n variables de entrada es de 3+1

Una comprobacioacuten de esta foacutermula para un caso general partiriacutea de este principio En un caso simple de formarse un minterm con k variables de n variables de entrashyda se formariacutea un numero de combinashyciones de variables dado por

UNIVIRSIDAD RANCSCO GAVIDIA REALIDAD y REFLEXIOacuteN

(Z) (20)

Pero de cada una de estas combinaciones se puede generar una cantidad de comshybinac iones binarias de los variable s y sus correspondientes negados Esta cantidad seraacute igual a 2k

Luego la cantidad total de minterms generados con k variables de un total de n es

(21)

La sumatoria de todos los teacuterminos posishybles desde k=l hasta n da como resultashydo una expresioacuten similar a la del polinomio de Newton para la potencia de un binoshymio donde 2 es uno de los monomios y 1 el otro es decir

(22) i 2k (n) = (3) --~= (2+1) K-O k

Sin embargo como no se estaacute consideranshydo el caso de k = O entonces la cantishydad de minterms forma dos con las variashybles resulta 3-1 Con siderando los minterms que no depe nden de las variashybles de entrada es deci r O y 1 entonces la cantidad de minterms posibles seraacute 3+1

F La problemaacutetica en torno al algoritmo

Uno de los puntos de intereacutes en torno a generar una aplicacioacuten que utilice el pro shycedimiento propuesto radica en la neceshysidad de generar las tablas de verdad de minterms y a partir de alliacute seguir el proshyceso de eliminacioacuten Hay dos alternativas que pueden ser viables

1- Dado que los minterms a usar seraacuten siempre los mismos para un nuacutemero

dado de variables de entrada y sus tablas de verdad no dependen de la tabla de verdad de la funcioacuten a analishyzar entonces seriacutea factible tener almashycenadas todas estas tablas en una base de datos de la cual se consultariacutean las tablas de verdad soacutelo para llevar a cabo el procedimiento de eliminacioacuten desshycrito no con el fin de alterar en nada los resultados almacenados

2- Recurrir a Uf) proced imiento que din aacutemicamente genere las tablas de verdad en cada ocasioacuten en que haya que analizar una funcioacuten en especial

Ambas alternativas ofrecen ventajas y desventajas

a) En el primer caso habriacutea que alimenshytar los datos manualmente a la tabla de verdad y para que la aplicacioacuten tuvieshyra la capacidad de resolver funciones con 5 variables de entrada la base tenshydriacutea que tener 243 tablas de 243 minterms donde cada tabla tendriacutea 32 valores asignados De esta forma habriacutea entonces 7776 elementos binarios alshymacenados en la base de datos En otras palabras la base de datos necesitariacutea una cantidad de elementos almacenados proshyporcional a 6 elevado a la n Para una cantidad n de variables a considerar Aunque el orden de las operaciones a llevar a cabo es pequentildeo para un sisshytema informaacutetico resulta en una cantishydad enorme de datos a digitarse para almacenarse en la base

b) En el segundo caso la generacioacuten din aacutemica de las tablas de verdad implica considerar para cada variable al menos 3 condiciones posibles

i) El que la variable esteacute ausente en el minterm a analizar

--------------shy

REALIDAD y REFLEXIOacuteN UNIVERSIDAD RANCISCO GAYlDIA

ii) El que la variable esteacute presente pero deba operarse con su valor actual

iii) Que la variable esteacute presente pero deberaacute operararse siempre negada

Al final habraacute que llevar a cabo un total de (6) evaluaciones de todos los valores que pueden asumir los minterms a analishyzar El factor determinante en este caso es el tiempo maacutequina necesario para llevar a cabo todas estas evaluaciones cuando se quiera analizar una funcioacuten que dependa de un nuacutemero de variables elevado

G Meacutetodos alternativos

En este momento vale la pena preguntarshyse si no seriacutea viable buscar la forma de simplificar funciones booleanas por otros meacutetodos como el uso de una extensa base de datos en la que se buscara una forma simplificada de una funcioacuten comparaacutendoshyla con su tabla de verdad almacenada Aunque eacutesta parece una alternativa bastante simple hay que evaluar elementos imporshytantes como el tamantildeo de la base de dashytos o la magnitud del tiempo de buacutesqueshyda en la misma y sopesar esto contra las caracteriacutesticas de los meacutetodos de Martiacuten

De acuerdo a la metodologiacutea de Martin si se estima que se requieren n variables para representar una funcioacuten entonces existiraacuten 3 minterms que pueden ser parte de la funcioacuten simplificada y el proceso de simplificacioacuten propuesto eliminaraacute aqu 1I0s minterms que no pertenecen a la func ioacuten analizada y tambieacuten aquellos qu e son absorbidos por otros den tro de la misma funcioacuten El proceso implica que el pro grashyma en Visual Basic desarrolle las tablas de verdad de cada uno de los minterms y ya que en su formato maacutes simple cada tashybla de verdad estariacutea formada por 2 bits asiacute que el archivo que utilizariacutea el prograshy

ma en clisp tendriacutea un tamantildeo de 6 bits Asiacute para simplificar funciones de sistemas de 6 variables se necesitariacutea de un archishyvo de al menos 46 Kb En la praacutectica los archivos usados son maacutes grandes porque no se expresan las tablas de verdad con 1 y O sino que con los teacuterminos t y nil que son propios del lenguaje Lisp

A estas alturas vale la pena preguntarse iquestCuaacuten grande seriacutea una base de datos como sustituto al meacutetodo de Martin En primer lugar seriacutea necesario que esta base contashyra al menos con 2 campos uno con la expresioacuten algebraica de la funcioacuten en su forma maacutes simple y otro con la tabla de verdad correspondiente Obviamente el tamantildeo de cada campo depende en bueshyna medida del nuacutemero maacuteximo de variashybles que sea capaz de procesar el sistema y ello influi raacute directamente en el tamantildeo de la base de datos En segundo lugar el tamantildeo de la base de datos tambieacuten deshypende del nuacutemero de registros a contener y deberaacute con tener todas las funciones posibles que se puedan generar con n variables La cuestioacuten ahora es iquestcuaacutentas funciones pueden generarse con n variables

Para responder a la pregunta anterior hamiddot bria que recurrir a buscar cuaacutentas formas miacutenimas se pueden obtener combinando minterms o partir de otro modelo que permita llegar a la misma respuesta de una forma maacutes directa Si se utilizan las afirshymaciones de Reed y Muller de que toda funcioacuten booleana puede expresarse en forma de uno de sus polinomios si se lleshyvan a expresiones de tipo de polaridad fija la cual es su forma maacutes simple se presenshytan en formas como la siguiente

(23)

La cual seriacutea un polinomio de Reed-Muller para 2 variables En general habriacutea que

___________B

UNlVbullbullIDAD AMeIIeO GAVIDIA REALIDAD y REFLEXIOacuteN

decir que un polinomio de este tipo poshydriacutea estar formado por 2 teacuterminos Exisshytiraacuten coeficientes k cada uno de los cuashyles asumiriacutea valores de 1 oacute O asiacute que el nuacutemero de posibles combinaciones que se generariacutean es de 22 Si mediante un polinomio de Reed-Muller puede represenshytarse cualquier funcioacuten entonces el nuacutemero total de funciones distintas que se pueden generar con n variables corresponde al mismo valor de combinaciones generadas por un polinomio de Reed-Muller

Asiacute para un sistema de 6 variables se geshy264 nerariacutean funciones distintas es decir

18446J44073709551616=18xlO 6 Si a este nuacutemero corresponde el nuacutemero de registros de la base ce datos aunq e cada registro apenas ocupase un bit (que de hecho no seraacute asiacute) el tamantildeo miacutenimo de la base seriacutea de 2147483648 Gbytes

De lo anterior se deduce que la alternativa de usar un sistema de Bases de daacutefos es impraacutectica El sistema con que cuenta actualshymente no representa ni siquiera 100kbyte de consumo del disco duro ni exige maacutes allaacute de los 2MB de ram que requiere cualquier programa en Cliacutesp para funcionar

I

Donde mi n Y p son a su vez maxterms al aplicar el teorema de O Margan se tendriacutea

F=m+n+p (25)

Si se lleva a cabo la siguiente operacioacuten entonces tendriacuteamos

F+mm+m+n+p=l (26)

o simplemente

(27)

lile aquiacute se podriacutea deducir que para cualshyquier maxterm m que sea parte de una funcioacuten F deberaacute cumplirse el principio anterior Por ejemplo

Si F=II(23)

Entonces la tabla de verdad seraacute

~~

1

-Tabla 4

b a F O O O O 1 O 1 O 1

1 1 1

Erttre los posibles maxterms estaraacuten aQab (a+b) a+b) (a+b) y (a+b) Un total de 8 maxt rm sin tomar en cuenta a O con lo cual podriacutean ser un total de 9 posibles (3)

-----~

1 tomando

Tabla 5

F m F+m O 1 1

O O O O 1 1F=mnp (24)

---------------shy

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

UNIYIRSIDO FRANCISCO GAYIDIA REALIDAD y REFLEXIOacuteN

INTRODUCCiOacuteN

Durante mucho tiempo se ha especulado sobre el proceso continuo de la convergenshycia digital de la gran mayoriacutea de las disciplishynas derivadas de la electroacutenica Sin embarshygo se han mantenido muchas de las metoshydologiacuteas de disentildeo al punto que aparte de los procesos de miacuteniaturizadoacuten y de la adopshycioacuten de nuevos materiales no se han hecho contribuciones sustanciales a Jos meacutetodos de resolucioacuten de funciones booleanas En este artiacuteculo doy a conocer un enfoque nuevo en esta aacuterea y lo comparo con los meacutetodos planteados por diversos autores Particulannenshyte hago hincapieacute en los meacutetodos aplicables para su uso en computadoras no en una orientacioacuten para su uso por humanos

El objetivo de la investigacioacuten en siacute es el de implementar una serie de algoritmos con el fin de que la computadora pueda guiar a un disentildeador o a un estudiante de electroacutenica a resolve r mucha de la problemaacutetica de los sistemas digitales sin recurrir a meacutetodos tradicionales

la funcioacuten A los teacuterminos de este tipo se les llama minterms Por ejemplo Y=f+g oacute y=ab+ab (1 )

b) Multiplicatorio loacutegico se puede expreshysar una funcioacuten como un multiplicatorio loacutegico es decir como una serie de opeshyraciones ANO entre teacuterminos maacutes simshyples Generalmente cada uno de esos teacuterminos es el resultado de una sumatoria loacutegica de algunas de las vashyriables independientes de la funcioacuten A los teacuterminos de este tipo se les llashyma maxterms Por ejemplo Y=gh oacute y=(a+b)(a+b) (2)

Hacia 1927 un matemaacutetico ruso llamado Zegalkin planteo el hecho de que las funshyciones loacutegicas se pueden escribir usando principalmente operadores EXOR y operashydores ANO Sin embargo estas teorias permanecieron desconocidas en occidenshyte durante los siguientes 3D antildeos cuando (jos investigadores llamados Reed y Muller establecieron los llamados polinomios de Re ~d Muller de la siguiente forma

PROPUESTAS DE SOLUCiOacuteN y=f1

donde EB 2EB ] (3)

es una expresioacuten loacutegica generalshyBase elemental mente de tipo minterm Si se desea simplificar una funcioacuten loacutegica han existido durante antildeos meacutetodos tradicionales con ese fin Sin embargo algunos de ellos son meacutetodos graacuteficos y otros representan probleshymas no resueltos aun en una computadora

La base de una simplificacioacuten efectiva reducir la funcioacuten a un numero miacutenimo de operaciones y operandos Tradicionalmente han existido dos formatos claacutesicos

a) Sumatoria loacutegica se puede expresar una funcioacuten como la suma loacutegica de teacutermishynos maacutes simples Generalmente cada teacutermino es el resultado de una funcioacuten ANO de las variables independientes de

B Meacutetodos basaeacuteos en Reed Mufler

Una funcioacuten booleana expresada en la forma de polinomios de Reed Muller

y

puede expresarse de la siguiente forma

Resulta del arreglo de funciones exor

es

and de las combinaciones posibles de las variables de entrada donde kuuml k l k2 etc puede asumir valores de 1 oacute O El planteamiento de funciones loacutegicas de esta forma implica que los circuitos a construir podriacutean tener un costo ma-

IIIC---- _

REALIDAD y REFLEXIOacuteN UNIVbullbullSIDAD UNCISCO aAVIDIA

yor que los que se construyan de acuershydo a minterms dado que el costo de los integrados con compuertas exor es mashyyor Sin embargo de darse el caso que la cantidad de integrados a usarse en el formato de Reed Muller es menor para una funcioacuten dada el costo total podriacutea ser menor al final

Si se hace una revisioacuten completa de la expresioacuten loacutegica anterior que es la tiacutepishyca para una funcioacuten que dependa de 3 variables de entrada (en este caso la canshytidad de teacuterminos del polinomio es de 8) entonces la cantidad total de teacutermi shynos siempre seraacute de 2deg

Obviamente a primera vista dado qu e la cantidad de teacuterminos pos ibles denshytro de una expresi oacuten es inferior a la cantidad de teacuterminos de una expresioacuten canoacutenica de minterms se podriacutea supo shyner que resulte maacutes praacutecti co un algoritmo basado en Reed Muller que uno basado en minterms mas no neshycesariamente Por ejemplo la simple funcioacuten loacutegica OR como polinomio de Reed Muller seriacutea

y=affibffiab (05 ) Mientras que la funcioacuten exor en forma de minterms es

y=ab+ab (6)

Sin embargo en vista de ese tipo de dishy

dos los teacuterminos en que aparezcan en el polinomio final

c) La de polaridad mixta donde no habriacutea restricciones en la presencia de variables que en ciertos teacuterminos apashyrezcan en su forma positiva o en su forma negada

La consecuencia inmediata de asumir varianshytes en la forma de expresar los polinomios de Reed Muller es que algunas de estas variantes al implementarse resulten en cirshycuitos tan simples o maacutes que los de las expresiones canoacutenicas de minterms

Los trabajos de Dragan lankovic de la Unishyversidad de Nis en Yugoslavia plantean que se puede plantear una solucioacuten usando mashytrices para encontrar los coeficientes de Reed-Muller que definen a una funcioacuten booleana En principio habriacutea que partir de gue si se conoce la tabla de verdad de una funcioacuten de n variables se puede consshytr ir para un pol inomio del tipo de polashyridad positiva con coeficientes desconocishydos cada uno de los cuales determina si un minterm en especial estaraacute presente en el polinomio de Reed Muller representashytivo de la funci oacuten

Asiacute y=kOEBklaEBk2bffik3cEBk4abEB k5acEBk6bcEB k7abc (7)

ficultades se han planteado tres variacuteanshytes de la expresioacuten de los polinomios de Reed Muller

a) La llamada polaridad Rositiva do ntildede todas las entradas siem ~ re se expreshysaraacuten en su valor verdadero nunca el negado

b) La de polaridad fija donde se adshymite que algunas entradas se expreshysen en forma negada pero de ser asiacute Si se escribiera en forma matricial deberaacuten mantener esta forma en toshy resultariacutea

-------------_-----

UNIYERSIDAD FRANCISCO OAYIDIA

ka1 O O O O O O a kl1 1 O o O o o o k21 a 1 O o o o a k31 1 1 1 o O a o k41 O a O 1 O o O k51 1 o o 1 1 o O k61 o 1 o 1 o 1 o

1 1 1 1 1 1 1 1 K7

yO yl y2

(8) y4 y5 y6 y7

y3

Un hecho interesante de que la matriz que define al sistema de ecuaciones no depenshyde del vector de teacuterminos independientes conlleva a que si se puede encontrar la inversa de eacutesta se puede resolver el sisshytema independientemente de la funcioacuten que se esteacute analizando

Esta matriz en especial tiene algunas cashyracteriacutesticas particulares

t-Es simeacutetrica respecto a la diagonal seshycundaria de tal forma que Rara todo ajiacute = a tal que i = I = j = k = n = 1donde kl

n es el orden de la matriz

2-Si se evaluacutea su determinante usando las operaciones propias de los grupos de Galois el valor del det erminante siempre seraacute 1 independientemente del orden de

REALIDAD y REFLEXIOacuteN

aun para sistemas de orden elevado y el hecho de que esta matriz sea igual a su inversa evita el tener que recurrir a proshycesos de inversioacuten de matrices para resolshyver el sistema

De no ser por estas caracteriacutesticas para construir la matriz habriacutea que hacer que cada columna de la matriz coincidiera con la tabla de verdad de cada uno de los minterms que forman parte del polinomio planteado como solucioacuten general

Aunque la mecanizacioacuten de este meacutetodo resulta simple para una funcioacuten como I(123) La respuesta seriacutea y=aEf)bEf) ab lo cual resulta maacutes complejo que la solushycioacuten de la forma canoacutenica obtenida por el rneacutet ddo de Martiacuten y=a+b

Se podriacutea pensar entonces que la forma canoacutenica es una manera maacutes simple de llegar a una solucioacuten en todos los casos la realidad es que no De hecho aparte de la polaridad positiva existen dos tipos maacutes de polinomios de Reed Muller los de polaridad fija y los de polaridad mixta

En el caso de un polinomio de polaridad fija cabe la posibilidad de que se presenten

la matriz --_OJ una o maacutes variab es negadas dentro de los

3-Su inversa obtenida respetando las opeshyraciones propias de los grupos de Galois es igual a la matriz original

Seriacutea un polinomio de polaridad fija para un sistema de dos variables aparece negado en todo momento Como es de esperar de buscar

(9)

siacute por ejem plo

La propiedad 4 facilita construir la matriz del sistema mediante procesos iterativos

minterms que forman el polinomio pero deberaacuten mantener esta polaridad todas las veces gue aparezcan en cualquiera de los mintermsde la expresioacuten

(10)

en que b

una solucioacuten matricial para un sistema de este tipo no se podriacutea recurrir a la misma matriz que

111--- _

REALIDAD y REFLEXIOacuteN UNIVbullbullSIDAD FRANCISCO OAVIDIA

para los casos de polaridad positiva De hecho tomando en cuenta las posibles variaciones de las combinaciones de las variables de entrada llegaran a existir 2 posibles matrices una de las cuales coinshycidiriacutea con la matriz usada para polaridad positiva y las otras seriacutean diferentes Por lo tanto para una misma funcioacuten se esshyperariacutean 2 soluciones diferentes

Aunque la forma maacutes obvia de obtener cada una de estas matrices es a traveacutes de la evaluacioacuten de las tablas de verdad de cada minterm estas matrices tendraacuten ciershytas caracteriacutesticas a considerar

1- No son simeacutetricas respecto a ninguna de las dos diagonales

2- Siempre se puede encontrar su invershysa por meacutetodos como Gauss respetanshydo las condiciones propias de los grushy

Asiacute para el sistema de 2 variables basado en b y a

1 O 1 11 ~01= 1 (13) ~ 1 O O O[

1 1 O O

S-Se puede obtener la inversa de la matriz del sistema si se aprovecha una propiedad del producto Kronecker la inversa de un producto Kronecker es igual al producto Kronecker de las matrices inversas

01= O OO 1 ]1 (14) ~ 1 O 1 O[

1 1 1 1

Asiacute que aprovechando estas propiedades es factible desarrollar un programa que aunque resulte maacutes complejo que usado para polaridad positiva permita llegar a una respuesta valida

3-La inversa de cada matriz es igual a la transpuesta de la matriz respecto a la diagonal secundaria (no es una transposicioacuten claacutesica)

Si

O 1 J [ O 1 ]

pos de Galois uevamente cabe la posibilidad de que la

de la funcioacuten en

o a tercera

res uestaobtenida al final resulte en algunos casas tan compleja o maacutes que la expresioacuten

u forma canoacutenica

alternativa implicariacutea buscar la respuesta para un polinomio de po shy

-- Iaridad mixta En un polinomio de polashy1 1 1 1 O O 1 1 ridad mixta las variables pueden tener

A= 1 O O O entonces A ~ 1 O 1 O (11) polaridad po it iva o negativa sin que se [1 1 O O 1 1 1 1 respete ninguacuten orden en particular Asiacute

(15)

La dificultad radicariacutea en que no se poshydriacutea recu rr ir a meacutetodos basados en el

-__por ejemplo

Cuando el teacutermino tiene pola ridad po siti shyva y la matriz completariacutea que corresponshy producto Kronecker para desarrollar la deriacutea a matriz caracteriacutestica del sistema Ademaacutes

existen dos problemaacuteticas adicionales la (12) cant idad de matrices posibles a usar y la

aparicioacuten de matrices singulares

---------_-----

UNIVbullbullSIDAD RANClSCO GAVlDIA REALIDAD y REFLEXIOacuteN

Nuacutemero de matrices de polaridad mixshyta Ya que un pol inom io de polar idad mixshyta puede formarse a parti r de cualquieshyra de los minterms posibles formado con n variables Usando el equivalente a la loacutegica de 3 estados para fo rmar un minterm cualquiera entonces cabe n tres posibil idades

a) Que una variable no esteacute presente en la formacioacuten de un minterm

b) Que esteacute presente y su valor esteacute negado e) Que esteacute presente y su valor no

esteacute negado

Tomando en cuenta estas posibil idades entonces al tomar en cuenta que hay 3 minterms y que una solucioacuten matricial requeriacutea usar 2 de esos minterms las poshysibles matrices en total estariacutean dadas por el combinatorio

() (16)

El cual puede llegar a tener valores extr shymadamente grandes conforme n cree Asiacute

Tabla 1 -iexcl

N Matrices

2 126 3 22200 75 4 33594090947249085 98 12294412288 7808427264 71 233 ~ 748e + 395

La magnitud en que crecen la cantid ad de matrices a evaluar es superior al ereshyci m ie n t o exponencial de l tota l de minterms para la forma canoacutenica la ual crece exponencialmente de acuerdo a la formula 3

Una clara referencia de la diferencia en el crecim iento de estas magnitudes se muesshytra en la siguiente graacutefica

bull l-shy

iexclig 1 Crecimiento comparativo de matrishyces usadas para polaridad mixta y el creshycimiento del nuacutemero de minterms

Este crecimiento de soluciones plantea que al dejar que un usuario escoja por siacute misshymo cuaacutel de las posibles matrices no lo llevaraacute a la solucioacuten maacutes simple lo llevashyriacutea a una cantidad praacutecticamente inconmenshysurabl de soluciones

El problema de las matrices singulares Dentro de un sistema de n variables si se escogen dos minterms que sean uno el negado del otr o al constru ir la matr iz de polaridad mix ta se podriacutea llegar a una matriz singular de tal forma que eacutesta no tendr aacute inversa 1 por lo tanto a traveacutes de ella no se vaacutelida Asiacute se tendriacutea

po draacute llegar Rara la combi

a na

una cioacuten

solucioacuten taa ab

(1 7)

Y esta es una matriz I que no tiene inversa De hecho entre mayor sea el nuacutemero de variables mayor seraacute el nuacutemero de matrishyces singulares que pueden llegar a aparecer dentro del universo de matrices generables para un sistema de polaridad mixta

_

__

REALIDAD y REFIEXlOacuteN UNIVIRSIDAD FRANCISCO OAVIDIA

Soluciones no matriciales Cabe la posibilidad entonces de buscar alternativas no matriciales que resuelvan funciones en forma de polinomios de Rced Muller Los trabajos de Per lingren de la Universidad Tecnoloacutegica de lulea en Sueshycia y los de otros plantean algunas altershynativas no matriciales

Una alternativa relativamente simple conshysiste en asumir que cada 1 en la tabla de verdad corresponde a un minterm cuya tabla de verdad soacutelo tiene un valor vershydadero Asiacute que al hacer la operacioacuten exor con cualquiera de los otros minterms no habraacute anulacioacuten de unos en el resulshytado final Usando esta loacutegica b funcioacuten que tenga mayor cantidad de 1 en su tabla de verdad resultaraacute maacutes compleja y cada minterm siempre estaraacute compuesto por combinaciones de las n variabl es que intervienen en la funcioacuten Asiacute la expreshysioacuten y=iquest(l357) corresRonderiacutea a y=cba EecbaEBcbaEBcba Aun que esta respuesshyta es vaacutelida dista de ser la maacutes senci lla de implementar en un ci rcui to y su uacutenishyca ventaja radica en que el procedimienshyto es muy simple para la computadora

Otra alternativa no matricial consiste en un meacutetodo de aproximaciones sucesivas seguacuten el cual se puede descompone r una funcioacuten basada en un polinomio de Reed Muller si se asume que cada minterm tiene una cant idad de 1 menor que la funcioacuten fina l

Bu~cando

iexcl- - - --teorem a y aprovechando el siguiente

Si y = xEBz entonces que xEeY = z

Esto llevariacutea a que siacute y es una funcioacuten compleja con una buena cantidad de 1 al hacer la operacioacuten exor con alguno de los minterms que la forman el resultado

a) Un minterm relativamente simple y faacutecil de identificar o

b) Una funcioacuten maacutes simple que y tal que tendraacute una cantidad menor de 1 en su tabla de verdad

La esencia del procedimiento consistiraacute en poder generar las tablas de verdad de todos los minterms posibles y en llevar conteo de coacutemo se reduce el nuacutemero de 1 en la funcioacuten resultante con forme se somete a prueba cada minterm

Un atajo dentro de este procedimiento consiste en asumir que si la cantidad toshytal de 1 de la funcioacuten original es mayor a la mitad de todos los valores posibles de la tabla de verdad entonces resultariacutea maacutes faacutecil trabajar con el negado de la funcioacuten original en lugar de con ella misshyma y aplicar la siguiente propiedad

1= 1 EB-iCi - (18)

En much as ocasiones el uso de este atashyjo lleva a una respuesta de tipo polaridad mixta que es mucho maacutes simple que la

Vale

que se obtiene por otros meacutetodos

la pena sentildealar que los algoritmos aplicables a Reed Muller ya fueron impleshyment ados como parte de proyecto de gradu acioacuten de Al ejandro Fabiaacuten en la Uni versidad Don Bosco (2003)

propuesta para expresiones

una alternativa que no incluya los meacutetodos tradicionales ni que esteacute reshylacionada con Jos polinomios de Reed Muller cabe la posibilidad de llegar a soluciones maacutes simples y que al no deshypender de funciones XOR resulten maacutes

seraacute en cualquier caso baratas de implementar

--------------shy

UNWbullbullbullIDAD aAHCIco OAVIDIA REALIDAD y REFLEXIOacuteN

Al buscar una forma de sistematizar la simplificacioacuten de lasfunciones en las forshymas canoacutenicas propongo un algoritmo basado en las siguientes premisas

1- Si se puede hacer que para un nuacuteshymero n de variables la computadora pueda evaluar cada uno de los minterms que podriacutean obtenerse al combinar la n variables el proceso de saber cuaacutel minterm es parte de una funcioacuten dada se convierte en un proceso de eliminacioacuten

2- Si un minterm m es parte de una funcioacuten f entonces

f=m+n+h f = mnh (19) ~fm=O

El seguir el procedimiento anterior para todos los minterms posibles no elimina un problema con que geneshyralmente se encuentran los estudianshytes la presencia de teacuterminos redundantes en la expresioacuten final es decir que algunos minterms que se han incluido dentro de la expresioacuten pueden de hecho ser absorbidos por otros

Luego si se conoce la tabla de verClad de la funcioacuten que se desea sim lificar la tabla de verdad de un minterm generado por la computadora si m es parte de f al aplicar la uacuteltima ecuacioacuten en ning uacuten caso el resultado deberaacute dar diferente de O Si en alguacuten caso el resultado es verdadero habriacutea que descartar ese minterm como parte de la ecuacioacuten final

Por ejemplo para la funcioacuten y=I( 123) la tabla de verdad resulta ser la siguiente

Tabla 2 --b A Y

o O O

O 1 1 1 O 1 1 1 1

1

Los minterms que pueden formar esta funshycioacuten seraacuten 01 a a b b ab ab ab y abo Un total de 10 teacuterminos Ya que los primeros 2 no vale la pena probarlos al probar el caso de a tendriacuteamos

Tabla 3

y A Ya iexcl O O O 1 O O O O O 1 O

Tabla 4

Como a es un minterm incluido en Y entonces todas las combinaciones de Ya daraacuten cero siempre

Para el caso de b resultaraacute distinto

y b y b 1 1 iexcl

o 1 O O O O

l O O O

Dado que al menos en un caso el resulshytado de combinacioacuten es 1 es faacutecil deducir que b no es un minterm de y

s- Una vez sistematizados todos estos pasos el resultado seraacute una expresioacuten de la forma canoacutenica reducida a su forma maacutes simple

---------------------shy

------------

UNIYIRIIDAD FRANCISCO GAYIDIA REAuoAD y REFLEXiOacuteN

D Relacioacuten con la teoriacutea de conjuntos

Si se relacionan los operadores booleanos con operaciones de conjuntos habriacutea que considera que la funcioacuten ANO corresponde a la de intercepcioacuten que la OR es la de unioacuten y que la NOT es simplemente semiddot ntildealar todo aquello que no pertenece al conjunto a que se aplica

Asiacute una graacutefica que sentildealara a un subconjunto m como incluido en un conshyjunto F seriacutea tanto como afirmar que m es un rninterm de F

u

F

Fig 2 m como un minterm de F

Toda la regioacuten dentro del universo que no pertenece a f seriacutea f

Fig 3 El conjunto de F

Si buscamos el intercepto de F y m soacutelo llegariacuteamos a un espacio vaciacuteo ya que no tienen ninguacuten espacio en comuacuten por lo tanto Se cumple el principio propuesto

Si se hubiera trabajado con un conjunto p no incluido dentro de F (una expresioacuten que no es un minterm de F) entonces la representacioacuten graacutefica seriacutea

Fig 4 P no es minterm de F pero estaacute incluido en F

Dado que p queda incluido dentro de F entonces el resultado de la intercepcioacuten seriacutea diferente a un conjunto vaciacuteo

E Implicaciones Un meacutetodo como el descrito implica proshybar una cantidad considerable de posibishylidades lo obvio es que si se sistematiza el meacutetodo cuantos maacutes minterms se prueshyben en el sistema maacutes tiempo se llevaraacute la simplificacioacuten

Cuando se trabaja con una sola variable los minterms posibles son O 1 a a Un total de 4 Para el caso de 2 variables ya se habiacutea comprobado que los minterms posibles son 10 Si se analiza un caso de 3 variables el nuacutemero total de teacuterminos posibles es de 28 Al analizar esta secuenshycia de nuacutemeros se deduce que la cantishydad de minterms al final para n variables de entrada es de 3+1

Una comprobacioacuten de esta foacutermula para un caso general partiriacutea de este principio En un caso simple de formarse un minterm con k variables de n variables de entrashyda se formariacutea un numero de combinashyciones de variables dado por

UNIVIRSIDAD RANCSCO GAVIDIA REALIDAD y REFLEXIOacuteN

(Z) (20)

Pero de cada una de estas combinaciones se puede generar una cantidad de comshybinac iones binarias de los variable s y sus correspondientes negados Esta cantidad seraacute igual a 2k

Luego la cantidad total de minterms generados con k variables de un total de n es

(21)

La sumatoria de todos los teacuterminos posishybles desde k=l hasta n da como resultashydo una expresioacuten similar a la del polinomio de Newton para la potencia de un binoshymio donde 2 es uno de los monomios y 1 el otro es decir

(22) i 2k (n) = (3) --~= (2+1) K-O k

Sin embargo como no se estaacute consideranshydo el caso de k = O entonces la cantishydad de minterms forma dos con las variashybles resulta 3-1 Con siderando los minterms que no depe nden de las variashybles de entrada es deci r O y 1 entonces la cantidad de minterms posibles seraacute 3+1

F La problemaacutetica en torno al algoritmo

Uno de los puntos de intereacutes en torno a generar una aplicacioacuten que utilice el pro shycedimiento propuesto radica en la neceshysidad de generar las tablas de verdad de minterms y a partir de alliacute seguir el proshyceso de eliminacioacuten Hay dos alternativas que pueden ser viables

1- Dado que los minterms a usar seraacuten siempre los mismos para un nuacutemero

dado de variables de entrada y sus tablas de verdad no dependen de la tabla de verdad de la funcioacuten a analishyzar entonces seriacutea factible tener almashycenadas todas estas tablas en una base de datos de la cual se consultariacutean las tablas de verdad soacutelo para llevar a cabo el procedimiento de eliminacioacuten desshycrito no con el fin de alterar en nada los resultados almacenados

2- Recurrir a Uf) proced imiento que din aacutemicamente genere las tablas de verdad en cada ocasioacuten en que haya que analizar una funcioacuten en especial

Ambas alternativas ofrecen ventajas y desventajas

a) En el primer caso habriacutea que alimenshytar los datos manualmente a la tabla de verdad y para que la aplicacioacuten tuvieshyra la capacidad de resolver funciones con 5 variables de entrada la base tenshydriacutea que tener 243 tablas de 243 minterms donde cada tabla tendriacutea 32 valores asignados De esta forma habriacutea entonces 7776 elementos binarios alshymacenados en la base de datos En otras palabras la base de datos necesitariacutea una cantidad de elementos almacenados proshyporcional a 6 elevado a la n Para una cantidad n de variables a considerar Aunque el orden de las operaciones a llevar a cabo es pequentildeo para un sisshytema informaacutetico resulta en una cantishydad enorme de datos a digitarse para almacenarse en la base

b) En el segundo caso la generacioacuten din aacutemica de las tablas de verdad implica considerar para cada variable al menos 3 condiciones posibles

i) El que la variable esteacute ausente en el minterm a analizar

--------------shy

REALIDAD y REFLEXIOacuteN UNIVERSIDAD RANCISCO GAYlDIA

ii) El que la variable esteacute presente pero deba operarse con su valor actual

iii) Que la variable esteacute presente pero deberaacute operararse siempre negada

Al final habraacute que llevar a cabo un total de (6) evaluaciones de todos los valores que pueden asumir los minterms a analishyzar El factor determinante en este caso es el tiempo maacutequina necesario para llevar a cabo todas estas evaluaciones cuando se quiera analizar una funcioacuten que dependa de un nuacutemero de variables elevado

G Meacutetodos alternativos

En este momento vale la pena preguntarshyse si no seriacutea viable buscar la forma de simplificar funciones booleanas por otros meacutetodos como el uso de una extensa base de datos en la que se buscara una forma simplificada de una funcioacuten comparaacutendoshyla con su tabla de verdad almacenada Aunque eacutesta parece una alternativa bastante simple hay que evaluar elementos imporshytantes como el tamantildeo de la base de dashytos o la magnitud del tiempo de buacutesqueshyda en la misma y sopesar esto contra las caracteriacutesticas de los meacutetodos de Martiacuten

De acuerdo a la metodologiacutea de Martin si se estima que se requieren n variables para representar una funcioacuten entonces existiraacuten 3 minterms que pueden ser parte de la funcioacuten simplificada y el proceso de simplificacioacuten propuesto eliminaraacute aqu 1I0s minterms que no pertenecen a la func ioacuten analizada y tambieacuten aquellos qu e son absorbidos por otros den tro de la misma funcioacuten El proceso implica que el pro grashyma en Visual Basic desarrolle las tablas de verdad de cada uno de los minterms y ya que en su formato maacutes simple cada tashybla de verdad estariacutea formada por 2 bits asiacute que el archivo que utilizariacutea el prograshy

ma en clisp tendriacutea un tamantildeo de 6 bits Asiacute para simplificar funciones de sistemas de 6 variables se necesitariacutea de un archishyvo de al menos 46 Kb En la praacutectica los archivos usados son maacutes grandes porque no se expresan las tablas de verdad con 1 y O sino que con los teacuterminos t y nil que son propios del lenguaje Lisp

A estas alturas vale la pena preguntarse iquestCuaacuten grande seriacutea una base de datos como sustituto al meacutetodo de Martin En primer lugar seriacutea necesario que esta base contashyra al menos con 2 campos uno con la expresioacuten algebraica de la funcioacuten en su forma maacutes simple y otro con la tabla de verdad correspondiente Obviamente el tamantildeo de cada campo depende en bueshyna medida del nuacutemero maacuteximo de variashybles que sea capaz de procesar el sistema y ello influi raacute directamente en el tamantildeo de la base de datos En segundo lugar el tamantildeo de la base de datos tambieacuten deshypende del nuacutemero de registros a contener y deberaacute con tener todas las funciones posibles que se puedan generar con n variables La cuestioacuten ahora es iquestcuaacutentas funciones pueden generarse con n variables

Para responder a la pregunta anterior hamiddot bria que recurrir a buscar cuaacutentas formas miacutenimas se pueden obtener combinando minterms o partir de otro modelo que permita llegar a la misma respuesta de una forma maacutes directa Si se utilizan las afirshymaciones de Reed y Muller de que toda funcioacuten booleana puede expresarse en forma de uno de sus polinomios si se lleshyvan a expresiones de tipo de polaridad fija la cual es su forma maacutes simple se presenshytan en formas como la siguiente

(23)

La cual seriacutea un polinomio de Reed-Muller para 2 variables En general habriacutea que

___________B

UNlVbullbullIDAD AMeIIeO GAVIDIA REALIDAD y REFLEXIOacuteN

decir que un polinomio de este tipo poshydriacutea estar formado por 2 teacuterminos Exisshytiraacuten coeficientes k cada uno de los cuashyles asumiriacutea valores de 1 oacute O asiacute que el nuacutemero de posibles combinaciones que se generariacutean es de 22 Si mediante un polinomio de Reed-Muller puede represenshytarse cualquier funcioacuten entonces el nuacutemero total de funciones distintas que se pueden generar con n variables corresponde al mismo valor de combinaciones generadas por un polinomio de Reed-Muller

Asiacute para un sistema de 6 variables se geshy264 nerariacutean funciones distintas es decir

18446J44073709551616=18xlO 6 Si a este nuacutemero corresponde el nuacutemero de registros de la base ce datos aunq e cada registro apenas ocupase un bit (que de hecho no seraacute asiacute) el tamantildeo miacutenimo de la base seriacutea de 2147483648 Gbytes

De lo anterior se deduce que la alternativa de usar un sistema de Bases de daacutefos es impraacutectica El sistema con que cuenta actualshymente no representa ni siquiera 100kbyte de consumo del disco duro ni exige maacutes allaacute de los 2MB de ram que requiere cualquier programa en Cliacutesp para funcionar

I

Donde mi n Y p son a su vez maxterms al aplicar el teorema de O Margan se tendriacutea

F=m+n+p (25)

Si se lleva a cabo la siguiente operacioacuten entonces tendriacuteamos

F+mm+m+n+p=l (26)

o simplemente

(27)

lile aquiacute se podriacutea deducir que para cualshyquier maxterm m que sea parte de una funcioacuten F deberaacute cumplirse el principio anterior Por ejemplo

Si F=II(23)

Entonces la tabla de verdad seraacute

~~

1

-Tabla 4

b a F O O O O 1 O 1 O 1

1 1 1

Erttre los posibles maxterms estaraacuten aQab (a+b) a+b) (a+b) y (a+b) Un total de 8 maxt rm sin tomar en cuenta a O con lo cual podriacutean ser un total de 9 posibles (3)

-----~

1 tomando

Tabla 5

F m F+m O 1 1

O O O O 1 1F=mnp (24)

---------------shy

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

REALIDAD y REFLEXIOacuteN UNIVbullbullSIDAD UNCISCO aAVIDIA

yor que los que se construyan de acuershydo a minterms dado que el costo de los integrados con compuertas exor es mashyyor Sin embargo de darse el caso que la cantidad de integrados a usarse en el formato de Reed Muller es menor para una funcioacuten dada el costo total podriacutea ser menor al final

Si se hace una revisioacuten completa de la expresioacuten loacutegica anterior que es la tiacutepishyca para una funcioacuten que dependa de 3 variables de entrada (en este caso la canshytidad de teacuterminos del polinomio es de 8) entonces la cantidad total de teacutermi shynos siempre seraacute de 2deg

Obviamente a primera vista dado qu e la cantidad de teacuterminos pos ibles denshytro de una expresi oacuten es inferior a la cantidad de teacuterminos de una expresioacuten canoacutenica de minterms se podriacutea supo shyner que resulte maacutes praacutecti co un algoritmo basado en Reed Muller que uno basado en minterms mas no neshycesariamente Por ejemplo la simple funcioacuten loacutegica OR como polinomio de Reed Muller seriacutea

y=affibffiab (05 ) Mientras que la funcioacuten exor en forma de minterms es

y=ab+ab (6)

Sin embargo en vista de ese tipo de dishy

dos los teacuterminos en que aparezcan en el polinomio final

c) La de polaridad mixta donde no habriacutea restricciones en la presencia de variables que en ciertos teacuterminos apashyrezcan en su forma positiva o en su forma negada

La consecuencia inmediata de asumir varianshytes en la forma de expresar los polinomios de Reed Muller es que algunas de estas variantes al implementarse resulten en cirshycuitos tan simples o maacutes que los de las expresiones canoacutenicas de minterms

Los trabajos de Dragan lankovic de la Unishyversidad de Nis en Yugoslavia plantean que se puede plantear una solucioacuten usando mashytrices para encontrar los coeficientes de Reed-Muller que definen a una funcioacuten booleana En principio habriacutea que partir de gue si se conoce la tabla de verdad de una funcioacuten de n variables se puede consshytr ir para un pol inomio del tipo de polashyridad positiva con coeficientes desconocishydos cada uno de los cuales determina si un minterm en especial estaraacute presente en el polinomio de Reed Muller representashytivo de la funci oacuten

Asiacute y=kOEBklaEBk2bffik3cEBk4abEB k5acEBk6bcEB k7abc (7)

ficultades se han planteado tres variacuteanshytes de la expresioacuten de los polinomios de Reed Muller

a) La llamada polaridad Rositiva do ntildede todas las entradas siem ~ re se expreshysaraacuten en su valor verdadero nunca el negado

b) La de polaridad fija donde se adshymite que algunas entradas se expreshysen en forma negada pero de ser asiacute Si se escribiera en forma matricial deberaacuten mantener esta forma en toshy resultariacutea

-------------_-----

UNIYERSIDAD FRANCISCO OAYIDIA

ka1 O O O O O O a kl1 1 O o O o o o k21 a 1 O o o o a k31 1 1 1 o O a o k41 O a O 1 O o O k51 1 o o 1 1 o O k61 o 1 o 1 o 1 o

1 1 1 1 1 1 1 1 K7

yO yl y2

(8) y4 y5 y6 y7

y3

Un hecho interesante de que la matriz que define al sistema de ecuaciones no depenshyde del vector de teacuterminos independientes conlleva a que si se puede encontrar la inversa de eacutesta se puede resolver el sisshytema independientemente de la funcioacuten que se esteacute analizando

Esta matriz en especial tiene algunas cashyracteriacutesticas particulares

t-Es simeacutetrica respecto a la diagonal seshycundaria de tal forma que Rara todo ajiacute = a tal que i = I = j = k = n = 1donde kl

n es el orden de la matriz

2-Si se evaluacutea su determinante usando las operaciones propias de los grupos de Galois el valor del det erminante siempre seraacute 1 independientemente del orden de

REALIDAD y REFLEXIOacuteN

aun para sistemas de orden elevado y el hecho de que esta matriz sea igual a su inversa evita el tener que recurrir a proshycesos de inversioacuten de matrices para resolshyver el sistema

De no ser por estas caracteriacutesticas para construir la matriz habriacutea que hacer que cada columna de la matriz coincidiera con la tabla de verdad de cada uno de los minterms que forman parte del polinomio planteado como solucioacuten general

Aunque la mecanizacioacuten de este meacutetodo resulta simple para una funcioacuten como I(123) La respuesta seriacutea y=aEf)bEf) ab lo cual resulta maacutes complejo que la solushycioacuten de la forma canoacutenica obtenida por el rneacutet ddo de Martiacuten y=a+b

Se podriacutea pensar entonces que la forma canoacutenica es una manera maacutes simple de llegar a una solucioacuten en todos los casos la realidad es que no De hecho aparte de la polaridad positiva existen dos tipos maacutes de polinomios de Reed Muller los de polaridad fija y los de polaridad mixta

En el caso de un polinomio de polaridad fija cabe la posibilidad de que se presenten

la matriz --_OJ una o maacutes variab es negadas dentro de los

3-Su inversa obtenida respetando las opeshyraciones propias de los grupos de Galois es igual a la matriz original

Seriacutea un polinomio de polaridad fija para un sistema de dos variables aparece negado en todo momento Como es de esperar de buscar

(9)

siacute por ejem plo

La propiedad 4 facilita construir la matriz del sistema mediante procesos iterativos

minterms que forman el polinomio pero deberaacuten mantener esta polaridad todas las veces gue aparezcan en cualquiera de los mintermsde la expresioacuten

(10)

en que b

una solucioacuten matricial para un sistema de este tipo no se podriacutea recurrir a la misma matriz que

111--- _

REALIDAD y REFLEXIOacuteN UNIVbullbullSIDAD FRANCISCO OAVIDIA

para los casos de polaridad positiva De hecho tomando en cuenta las posibles variaciones de las combinaciones de las variables de entrada llegaran a existir 2 posibles matrices una de las cuales coinshycidiriacutea con la matriz usada para polaridad positiva y las otras seriacutean diferentes Por lo tanto para una misma funcioacuten se esshyperariacutean 2 soluciones diferentes

Aunque la forma maacutes obvia de obtener cada una de estas matrices es a traveacutes de la evaluacioacuten de las tablas de verdad de cada minterm estas matrices tendraacuten ciershytas caracteriacutesticas a considerar

1- No son simeacutetricas respecto a ninguna de las dos diagonales

2- Siempre se puede encontrar su invershysa por meacutetodos como Gauss respetanshydo las condiciones propias de los grushy

Asiacute para el sistema de 2 variables basado en b y a

1 O 1 11 ~01= 1 (13) ~ 1 O O O[

1 1 O O

S-Se puede obtener la inversa de la matriz del sistema si se aprovecha una propiedad del producto Kronecker la inversa de un producto Kronecker es igual al producto Kronecker de las matrices inversas

01= O OO 1 ]1 (14) ~ 1 O 1 O[

1 1 1 1

Asiacute que aprovechando estas propiedades es factible desarrollar un programa que aunque resulte maacutes complejo que usado para polaridad positiva permita llegar a una respuesta valida

3-La inversa de cada matriz es igual a la transpuesta de la matriz respecto a la diagonal secundaria (no es una transposicioacuten claacutesica)

Si

O 1 J [ O 1 ]

pos de Galois uevamente cabe la posibilidad de que la

de la funcioacuten en

o a tercera

res uestaobtenida al final resulte en algunos casas tan compleja o maacutes que la expresioacuten

u forma canoacutenica

alternativa implicariacutea buscar la respuesta para un polinomio de po shy

-- Iaridad mixta En un polinomio de polashy1 1 1 1 O O 1 1 ridad mixta las variables pueden tener

A= 1 O O O entonces A ~ 1 O 1 O (11) polaridad po it iva o negativa sin que se [1 1 O O 1 1 1 1 respete ninguacuten orden en particular Asiacute

(15)

La dificultad radicariacutea en que no se poshydriacutea recu rr ir a meacutetodos basados en el

-__por ejemplo

Cuando el teacutermino tiene pola ridad po siti shyva y la matriz completariacutea que corresponshy producto Kronecker para desarrollar la deriacutea a matriz caracteriacutestica del sistema Ademaacutes

existen dos problemaacuteticas adicionales la (12) cant idad de matrices posibles a usar y la

aparicioacuten de matrices singulares

---------_-----

UNIVbullbullSIDAD RANClSCO GAVlDIA REALIDAD y REFLEXIOacuteN

Nuacutemero de matrices de polaridad mixshyta Ya que un pol inom io de polar idad mixshyta puede formarse a parti r de cualquieshyra de los minterms posibles formado con n variables Usando el equivalente a la loacutegica de 3 estados para fo rmar un minterm cualquiera entonces cabe n tres posibil idades

a) Que una variable no esteacute presente en la formacioacuten de un minterm

b) Que esteacute presente y su valor esteacute negado e) Que esteacute presente y su valor no

esteacute negado

Tomando en cuenta estas posibil idades entonces al tomar en cuenta que hay 3 minterms y que una solucioacuten matricial requeriacutea usar 2 de esos minterms las poshysibles matrices en total estariacutean dadas por el combinatorio

() (16)

El cual puede llegar a tener valores extr shymadamente grandes conforme n cree Asiacute

Tabla 1 -iexcl

N Matrices

2 126 3 22200 75 4 33594090947249085 98 12294412288 7808427264 71 233 ~ 748e + 395

La magnitud en que crecen la cantid ad de matrices a evaluar es superior al ereshyci m ie n t o exponencial de l tota l de minterms para la forma canoacutenica la ual crece exponencialmente de acuerdo a la formula 3

Una clara referencia de la diferencia en el crecim iento de estas magnitudes se muesshytra en la siguiente graacutefica

bull l-shy

iexclig 1 Crecimiento comparativo de matrishyces usadas para polaridad mixta y el creshycimiento del nuacutemero de minterms

Este crecimiento de soluciones plantea que al dejar que un usuario escoja por siacute misshymo cuaacutel de las posibles matrices no lo llevaraacute a la solucioacuten maacutes simple lo llevashyriacutea a una cantidad praacutecticamente inconmenshysurabl de soluciones

El problema de las matrices singulares Dentro de un sistema de n variables si se escogen dos minterms que sean uno el negado del otr o al constru ir la matr iz de polaridad mix ta se podriacutea llegar a una matriz singular de tal forma que eacutesta no tendr aacute inversa 1 por lo tanto a traveacutes de ella no se vaacutelida Asiacute se tendriacutea

po draacute llegar Rara la combi

a na

una cioacuten

solucioacuten taa ab

(1 7)

Y esta es una matriz I que no tiene inversa De hecho entre mayor sea el nuacutemero de variables mayor seraacute el nuacutemero de matrishyces singulares que pueden llegar a aparecer dentro del universo de matrices generables para un sistema de polaridad mixta

_

__

REALIDAD y REFIEXlOacuteN UNIVIRSIDAD FRANCISCO OAVIDIA

Soluciones no matriciales Cabe la posibilidad entonces de buscar alternativas no matriciales que resuelvan funciones en forma de polinomios de Rced Muller Los trabajos de Per lingren de la Universidad Tecnoloacutegica de lulea en Sueshycia y los de otros plantean algunas altershynativas no matriciales

Una alternativa relativamente simple conshysiste en asumir que cada 1 en la tabla de verdad corresponde a un minterm cuya tabla de verdad soacutelo tiene un valor vershydadero Asiacute que al hacer la operacioacuten exor con cualquiera de los otros minterms no habraacute anulacioacuten de unos en el resulshytado final Usando esta loacutegica b funcioacuten que tenga mayor cantidad de 1 en su tabla de verdad resultaraacute maacutes compleja y cada minterm siempre estaraacute compuesto por combinaciones de las n variabl es que intervienen en la funcioacuten Asiacute la expreshysioacuten y=iquest(l357) corresRonderiacutea a y=cba EecbaEBcbaEBcba Aun que esta respuesshyta es vaacutelida dista de ser la maacutes senci lla de implementar en un ci rcui to y su uacutenishyca ventaja radica en que el procedimienshyto es muy simple para la computadora

Otra alternativa no matricial consiste en un meacutetodo de aproximaciones sucesivas seguacuten el cual se puede descompone r una funcioacuten basada en un polinomio de Reed Muller si se asume que cada minterm tiene una cant idad de 1 menor que la funcioacuten fina l

Bu~cando

iexcl- - - --teorem a y aprovechando el siguiente

Si y = xEBz entonces que xEeY = z

Esto llevariacutea a que siacute y es una funcioacuten compleja con una buena cantidad de 1 al hacer la operacioacuten exor con alguno de los minterms que la forman el resultado

a) Un minterm relativamente simple y faacutecil de identificar o

b) Una funcioacuten maacutes simple que y tal que tendraacute una cantidad menor de 1 en su tabla de verdad

La esencia del procedimiento consistiraacute en poder generar las tablas de verdad de todos los minterms posibles y en llevar conteo de coacutemo se reduce el nuacutemero de 1 en la funcioacuten resultante con forme se somete a prueba cada minterm

Un atajo dentro de este procedimiento consiste en asumir que si la cantidad toshytal de 1 de la funcioacuten original es mayor a la mitad de todos los valores posibles de la tabla de verdad entonces resultariacutea maacutes faacutecil trabajar con el negado de la funcioacuten original en lugar de con ella misshyma y aplicar la siguiente propiedad

1= 1 EB-iCi - (18)

En much as ocasiones el uso de este atashyjo lleva a una respuesta de tipo polaridad mixta que es mucho maacutes simple que la

Vale

que se obtiene por otros meacutetodos

la pena sentildealar que los algoritmos aplicables a Reed Muller ya fueron impleshyment ados como parte de proyecto de gradu acioacuten de Al ejandro Fabiaacuten en la Uni versidad Don Bosco (2003)

propuesta para expresiones

una alternativa que no incluya los meacutetodos tradicionales ni que esteacute reshylacionada con Jos polinomios de Reed Muller cabe la posibilidad de llegar a soluciones maacutes simples y que al no deshypender de funciones XOR resulten maacutes

seraacute en cualquier caso baratas de implementar

--------------shy

UNWbullbullbullIDAD aAHCIco OAVIDIA REALIDAD y REFLEXIOacuteN

Al buscar una forma de sistematizar la simplificacioacuten de lasfunciones en las forshymas canoacutenicas propongo un algoritmo basado en las siguientes premisas

1- Si se puede hacer que para un nuacuteshymero n de variables la computadora pueda evaluar cada uno de los minterms que podriacutean obtenerse al combinar la n variables el proceso de saber cuaacutel minterm es parte de una funcioacuten dada se convierte en un proceso de eliminacioacuten

2- Si un minterm m es parte de una funcioacuten f entonces

f=m+n+h f = mnh (19) ~fm=O

El seguir el procedimiento anterior para todos los minterms posibles no elimina un problema con que geneshyralmente se encuentran los estudianshytes la presencia de teacuterminos redundantes en la expresioacuten final es decir que algunos minterms que se han incluido dentro de la expresioacuten pueden de hecho ser absorbidos por otros

Luego si se conoce la tabla de verClad de la funcioacuten que se desea sim lificar la tabla de verdad de un minterm generado por la computadora si m es parte de f al aplicar la uacuteltima ecuacioacuten en ning uacuten caso el resultado deberaacute dar diferente de O Si en alguacuten caso el resultado es verdadero habriacutea que descartar ese minterm como parte de la ecuacioacuten final

Por ejemplo para la funcioacuten y=I( 123) la tabla de verdad resulta ser la siguiente

Tabla 2 --b A Y

o O O

O 1 1 1 O 1 1 1 1

1

Los minterms que pueden formar esta funshycioacuten seraacuten 01 a a b b ab ab ab y abo Un total de 10 teacuterminos Ya que los primeros 2 no vale la pena probarlos al probar el caso de a tendriacuteamos

Tabla 3

y A Ya iexcl O O O 1 O O O O O 1 O

Tabla 4

Como a es un minterm incluido en Y entonces todas las combinaciones de Ya daraacuten cero siempre

Para el caso de b resultaraacute distinto

y b y b 1 1 iexcl

o 1 O O O O

l O O O

Dado que al menos en un caso el resulshytado de combinacioacuten es 1 es faacutecil deducir que b no es un minterm de y

s- Una vez sistematizados todos estos pasos el resultado seraacute una expresioacuten de la forma canoacutenica reducida a su forma maacutes simple

---------------------shy

------------

UNIYIRIIDAD FRANCISCO GAYIDIA REAuoAD y REFLEXiOacuteN

D Relacioacuten con la teoriacutea de conjuntos

Si se relacionan los operadores booleanos con operaciones de conjuntos habriacutea que considera que la funcioacuten ANO corresponde a la de intercepcioacuten que la OR es la de unioacuten y que la NOT es simplemente semiddot ntildealar todo aquello que no pertenece al conjunto a que se aplica

Asiacute una graacutefica que sentildealara a un subconjunto m como incluido en un conshyjunto F seriacutea tanto como afirmar que m es un rninterm de F

u

F

Fig 2 m como un minterm de F

Toda la regioacuten dentro del universo que no pertenece a f seriacutea f

Fig 3 El conjunto de F

Si buscamos el intercepto de F y m soacutelo llegariacuteamos a un espacio vaciacuteo ya que no tienen ninguacuten espacio en comuacuten por lo tanto Se cumple el principio propuesto

Si se hubiera trabajado con un conjunto p no incluido dentro de F (una expresioacuten que no es un minterm de F) entonces la representacioacuten graacutefica seriacutea

Fig 4 P no es minterm de F pero estaacute incluido en F

Dado que p queda incluido dentro de F entonces el resultado de la intercepcioacuten seriacutea diferente a un conjunto vaciacuteo

E Implicaciones Un meacutetodo como el descrito implica proshybar una cantidad considerable de posibishylidades lo obvio es que si se sistematiza el meacutetodo cuantos maacutes minterms se prueshyben en el sistema maacutes tiempo se llevaraacute la simplificacioacuten

Cuando se trabaja con una sola variable los minterms posibles son O 1 a a Un total de 4 Para el caso de 2 variables ya se habiacutea comprobado que los minterms posibles son 10 Si se analiza un caso de 3 variables el nuacutemero total de teacuterminos posibles es de 28 Al analizar esta secuenshycia de nuacutemeros se deduce que la cantishydad de minterms al final para n variables de entrada es de 3+1

Una comprobacioacuten de esta foacutermula para un caso general partiriacutea de este principio En un caso simple de formarse un minterm con k variables de n variables de entrashyda se formariacutea un numero de combinashyciones de variables dado por

UNIVIRSIDAD RANCSCO GAVIDIA REALIDAD y REFLEXIOacuteN

(Z) (20)

Pero de cada una de estas combinaciones se puede generar una cantidad de comshybinac iones binarias de los variable s y sus correspondientes negados Esta cantidad seraacute igual a 2k

Luego la cantidad total de minterms generados con k variables de un total de n es

(21)

La sumatoria de todos los teacuterminos posishybles desde k=l hasta n da como resultashydo una expresioacuten similar a la del polinomio de Newton para la potencia de un binoshymio donde 2 es uno de los monomios y 1 el otro es decir

(22) i 2k (n) = (3) --~= (2+1) K-O k

Sin embargo como no se estaacute consideranshydo el caso de k = O entonces la cantishydad de minterms forma dos con las variashybles resulta 3-1 Con siderando los minterms que no depe nden de las variashybles de entrada es deci r O y 1 entonces la cantidad de minterms posibles seraacute 3+1

F La problemaacutetica en torno al algoritmo

Uno de los puntos de intereacutes en torno a generar una aplicacioacuten que utilice el pro shycedimiento propuesto radica en la neceshysidad de generar las tablas de verdad de minterms y a partir de alliacute seguir el proshyceso de eliminacioacuten Hay dos alternativas que pueden ser viables

1- Dado que los minterms a usar seraacuten siempre los mismos para un nuacutemero

dado de variables de entrada y sus tablas de verdad no dependen de la tabla de verdad de la funcioacuten a analishyzar entonces seriacutea factible tener almashycenadas todas estas tablas en una base de datos de la cual se consultariacutean las tablas de verdad soacutelo para llevar a cabo el procedimiento de eliminacioacuten desshycrito no con el fin de alterar en nada los resultados almacenados

2- Recurrir a Uf) proced imiento que din aacutemicamente genere las tablas de verdad en cada ocasioacuten en que haya que analizar una funcioacuten en especial

Ambas alternativas ofrecen ventajas y desventajas

a) En el primer caso habriacutea que alimenshytar los datos manualmente a la tabla de verdad y para que la aplicacioacuten tuvieshyra la capacidad de resolver funciones con 5 variables de entrada la base tenshydriacutea que tener 243 tablas de 243 minterms donde cada tabla tendriacutea 32 valores asignados De esta forma habriacutea entonces 7776 elementos binarios alshymacenados en la base de datos En otras palabras la base de datos necesitariacutea una cantidad de elementos almacenados proshyporcional a 6 elevado a la n Para una cantidad n de variables a considerar Aunque el orden de las operaciones a llevar a cabo es pequentildeo para un sisshytema informaacutetico resulta en una cantishydad enorme de datos a digitarse para almacenarse en la base

b) En el segundo caso la generacioacuten din aacutemica de las tablas de verdad implica considerar para cada variable al menos 3 condiciones posibles

i) El que la variable esteacute ausente en el minterm a analizar

--------------shy

REALIDAD y REFLEXIOacuteN UNIVERSIDAD RANCISCO GAYlDIA

ii) El que la variable esteacute presente pero deba operarse con su valor actual

iii) Que la variable esteacute presente pero deberaacute operararse siempre negada

Al final habraacute que llevar a cabo un total de (6) evaluaciones de todos los valores que pueden asumir los minterms a analishyzar El factor determinante en este caso es el tiempo maacutequina necesario para llevar a cabo todas estas evaluaciones cuando se quiera analizar una funcioacuten que dependa de un nuacutemero de variables elevado

G Meacutetodos alternativos

En este momento vale la pena preguntarshyse si no seriacutea viable buscar la forma de simplificar funciones booleanas por otros meacutetodos como el uso de una extensa base de datos en la que se buscara una forma simplificada de una funcioacuten comparaacutendoshyla con su tabla de verdad almacenada Aunque eacutesta parece una alternativa bastante simple hay que evaluar elementos imporshytantes como el tamantildeo de la base de dashytos o la magnitud del tiempo de buacutesqueshyda en la misma y sopesar esto contra las caracteriacutesticas de los meacutetodos de Martiacuten

De acuerdo a la metodologiacutea de Martin si se estima que se requieren n variables para representar una funcioacuten entonces existiraacuten 3 minterms que pueden ser parte de la funcioacuten simplificada y el proceso de simplificacioacuten propuesto eliminaraacute aqu 1I0s minterms que no pertenecen a la func ioacuten analizada y tambieacuten aquellos qu e son absorbidos por otros den tro de la misma funcioacuten El proceso implica que el pro grashyma en Visual Basic desarrolle las tablas de verdad de cada uno de los minterms y ya que en su formato maacutes simple cada tashybla de verdad estariacutea formada por 2 bits asiacute que el archivo que utilizariacutea el prograshy

ma en clisp tendriacutea un tamantildeo de 6 bits Asiacute para simplificar funciones de sistemas de 6 variables se necesitariacutea de un archishyvo de al menos 46 Kb En la praacutectica los archivos usados son maacutes grandes porque no se expresan las tablas de verdad con 1 y O sino que con los teacuterminos t y nil que son propios del lenguaje Lisp

A estas alturas vale la pena preguntarse iquestCuaacuten grande seriacutea una base de datos como sustituto al meacutetodo de Martin En primer lugar seriacutea necesario que esta base contashyra al menos con 2 campos uno con la expresioacuten algebraica de la funcioacuten en su forma maacutes simple y otro con la tabla de verdad correspondiente Obviamente el tamantildeo de cada campo depende en bueshyna medida del nuacutemero maacuteximo de variashybles que sea capaz de procesar el sistema y ello influi raacute directamente en el tamantildeo de la base de datos En segundo lugar el tamantildeo de la base de datos tambieacuten deshypende del nuacutemero de registros a contener y deberaacute con tener todas las funciones posibles que se puedan generar con n variables La cuestioacuten ahora es iquestcuaacutentas funciones pueden generarse con n variables

Para responder a la pregunta anterior hamiddot bria que recurrir a buscar cuaacutentas formas miacutenimas se pueden obtener combinando minterms o partir de otro modelo que permita llegar a la misma respuesta de una forma maacutes directa Si se utilizan las afirshymaciones de Reed y Muller de que toda funcioacuten booleana puede expresarse en forma de uno de sus polinomios si se lleshyvan a expresiones de tipo de polaridad fija la cual es su forma maacutes simple se presenshytan en formas como la siguiente

(23)

La cual seriacutea un polinomio de Reed-Muller para 2 variables En general habriacutea que

___________B

UNlVbullbullIDAD AMeIIeO GAVIDIA REALIDAD y REFLEXIOacuteN

decir que un polinomio de este tipo poshydriacutea estar formado por 2 teacuterminos Exisshytiraacuten coeficientes k cada uno de los cuashyles asumiriacutea valores de 1 oacute O asiacute que el nuacutemero de posibles combinaciones que se generariacutean es de 22 Si mediante un polinomio de Reed-Muller puede represenshytarse cualquier funcioacuten entonces el nuacutemero total de funciones distintas que se pueden generar con n variables corresponde al mismo valor de combinaciones generadas por un polinomio de Reed-Muller

Asiacute para un sistema de 6 variables se geshy264 nerariacutean funciones distintas es decir

18446J44073709551616=18xlO 6 Si a este nuacutemero corresponde el nuacutemero de registros de la base ce datos aunq e cada registro apenas ocupase un bit (que de hecho no seraacute asiacute) el tamantildeo miacutenimo de la base seriacutea de 2147483648 Gbytes

De lo anterior se deduce que la alternativa de usar un sistema de Bases de daacutefos es impraacutectica El sistema con que cuenta actualshymente no representa ni siquiera 100kbyte de consumo del disco duro ni exige maacutes allaacute de los 2MB de ram que requiere cualquier programa en Cliacutesp para funcionar

I

Donde mi n Y p son a su vez maxterms al aplicar el teorema de O Margan se tendriacutea

F=m+n+p (25)

Si se lleva a cabo la siguiente operacioacuten entonces tendriacuteamos

F+mm+m+n+p=l (26)

o simplemente

(27)

lile aquiacute se podriacutea deducir que para cualshyquier maxterm m que sea parte de una funcioacuten F deberaacute cumplirse el principio anterior Por ejemplo

Si F=II(23)

Entonces la tabla de verdad seraacute

~~

1

-Tabla 4

b a F O O O O 1 O 1 O 1

1 1 1

Erttre los posibles maxterms estaraacuten aQab (a+b) a+b) (a+b) y (a+b) Un total de 8 maxt rm sin tomar en cuenta a O con lo cual podriacutean ser un total de 9 posibles (3)

-----~

1 tomando

Tabla 5

F m F+m O 1 1

O O O O 1 1F=mnp (24)

---------------shy

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

UNIYERSIDAD FRANCISCO OAYIDIA

ka1 O O O O O O a kl1 1 O o O o o o k21 a 1 O o o o a k31 1 1 1 o O a o k41 O a O 1 O o O k51 1 o o 1 1 o O k61 o 1 o 1 o 1 o

1 1 1 1 1 1 1 1 K7

yO yl y2

(8) y4 y5 y6 y7

y3

Un hecho interesante de que la matriz que define al sistema de ecuaciones no depenshyde del vector de teacuterminos independientes conlleva a que si se puede encontrar la inversa de eacutesta se puede resolver el sisshytema independientemente de la funcioacuten que se esteacute analizando

Esta matriz en especial tiene algunas cashyracteriacutesticas particulares

t-Es simeacutetrica respecto a la diagonal seshycundaria de tal forma que Rara todo ajiacute = a tal que i = I = j = k = n = 1donde kl

n es el orden de la matriz

2-Si se evaluacutea su determinante usando las operaciones propias de los grupos de Galois el valor del det erminante siempre seraacute 1 independientemente del orden de

REALIDAD y REFLEXIOacuteN

aun para sistemas de orden elevado y el hecho de que esta matriz sea igual a su inversa evita el tener que recurrir a proshycesos de inversioacuten de matrices para resolshyver el sistema

De no ser por estas caracteriacutesticas para construir la matriz habriacutea que hacer que cada columna de la matriz coincidiera con la tabla de verdad de cada uno de los minterms que forman parte del polinomio planteado como solucioacuten general

Aunque la mecanizacioacuten de este meacutetodo resulta simple para una funcioacuten como I(123) La respuesta seriacutea y=aEf)bEf) ab lo cual resulta maacutes complejo que la solushycioacuten de la forma canoacutenica obtenida por el rneacutet ddo de Martiacuten y=a+b

Se podriacutea pensar entonces que la forma canoacutenica es una manera maacutes simple de llegar a una solucioacuten en todos los casos la realidad es que no De hecho aparte de la polaridad positiva existen dos tipos maacutes de polinomios de Reed Muller los de polaridad fija y los de polaridad mixta

En el caso de un polinomio de polaridad fija cabe la posibilidad de que se presenten

la matriz --_OJ una o maacutes variab es negadas dentro de los

3-Su inversa obtenida respetando las opeshyraciones propias de los grupos de Galois es igual a la matriz original

Seriacutea un polinomio de polaridad fija para un sistema de dos variables aparece negado en todo momento Como es de esperar de buscar

(9)

siacute por ejem plo

La propiedad 4 facilita construir la matriz del sistema mediante procesos iterativos

minterms que forman el polinomio pero deberaacuten mantener esta polaridad todas las veces gue aparezcan en cualquiera de los mintermsde la expresioacuten

(10)

en que b

una solucioacuten matricial para un sistema de este tipo no se podriacutea recurrir a la misma matriz que

111--- _

REALIDAD y REFLEXIOacuteN UNIVbullbullSIDAD FRANCISCO OAVIDIA

para los casos de polaridad positiva De hecho tomando en cuenta las posibles variaciones de las combinaciones de las variables de entrada llegaran a existir 2 posibles matrices una de las cuales coinshycidiriacutea con la matriz usada para polaridad positiva y las otras seriacutean diferentes Por lo tanto para una misma funcioacuten se esshyperariacutean 2 soluciones diferentes

Aunque la forma maacutes obvia de obtener cada una de estas matrices es a traveacutes de la evaluacioacuten de las tablas de verdad de cada minterm estas matrices tendraacuten ciershytas caracteriacutesticas a considerar

1- No son simeacutetricas respecto a ninguna de las dos diagonales

2- Siempre se puede encontrar su invershysa por meacutetodos como Gauss respetanshydo las condiciones propias de los grushy

Asiacute para el sistema de 2 variables basado en b y a

1 O 1 11 ~01= 1 (13) ~ 1 O O O[

1 1 O O

S-Se puede obtener la inversa de la matriz del sistema si se aprovecha una propiedad del producto Kronecker la inversa de un producto Kronecker es igual al producto Kronecker de las matrices inversas

01= O OO 1 ]1 (14) ~ 1 O 1 O[

1 1 1 1

Asiacute que aprovechando estas propiedades es factible desarrollar un programa que aunque resulte maacutes complejo que usado para polaridad positiva permita llegar a una respuesta valida

3-La inversa de cada matriz es igual a la transpuesta de la matriz respecto a la diagonal secundaria (no es una transposicioacuten claacutesica)

Si

O 1 J [ O 1 ]

pos de Galois uevamente cabe la posibilidad de que la

de la funcioacuten en

o a tercera

res uestaobtenida al final resulte en algunos casas tan compleja o maacutes que la expresioacuten

u forma canoacutenica

alternativa implicariacutea buscar la respuesta para un polinomio de po shy

-- Iaridad mixta En un polinomio de polashy1 1 1 1 O O 1 1 ridad mixta las variables pueden tener

A= 1 O O O entonces A ~ 1 O 1 O (11) polaridad po it iva o negativa sin que se [1 1 O O 1 1 1 1 respete ninguacuten orden en particular Asiacute

(15)

La dificultad radicariacutea en que no se poshydriacutea recu rr ir a meacutetodos basados en el

-__por ejemplo

Cuando el teacutermino tiene pola ridad po siti shyva y la matriz completariacutea que corresponshy producto Kronecker para desarrollar la deriacutea a matriz caracteriacutestica del sistema Ademaacutes

existen dos problemaacuteticas adicionales la (12) cant idad de matrices posibles a usar y la

aparicioacuten de matrices singulares

---------_-----

UNIVbullbullSIDAD RANClSCO GAVlDIA REALIDAD y REFLEXIOacuteN

Nuacutemero de matrices de polaridad mixshyta Ya que un pol inom io de polar idad mixshyta puede formarse a parti r de cualquieshyra de los minterms posibles formado con n variables Usando el equivalente a la loacutegica de 3 estados para fo rmar un minterm cualquiera entonces cabe n tres posibil idades

a) Que una variable no esteacute presente en la formacioacuten de un minterm

b) Que esteacute presente y su valor esteacute negado e) Que esteacute presente y su valor no

esteacute negado

Tomando en cuenta estas posibil idades entonces al tomar en cuenta que hay 3 minterms y que una solucioacuten matricial requeriacutea usar 2 de esos minterms las poshysibles matrices en total estariacutean dadas por el combinatorio

() (16)

El cual puede llegar a tener valores extr shymadamente grandes conforme n cree Asiacute

Tabla 1 -iexcl

N Matrices

2 126 3 22200 75 4 33594090947249085 98 12294412288 7808427264 71 233 ~ 748e + 395

La magnitud en que crecen la cantid ad de matrices a evaluar es superior al ereshyci m ie n t o exponencial de l tota l de minterms para la forma canoacutenica la ual crece exponencialmente de acuerdo a la formula 3

Una clara referencia de la diferencia en el crecim iento de estas magnitudes se muesshytra en la siguiente graacutefica

bull l-shy

iexclig 1 Crecimiento comparativo de matrishyces usadas para polaridad mixta y el creshycimiento del nuacutemero de minterms

Este crecimiento de soluciones plantea que al dejar que un usuario escoja por siacute misshymo cuaacutel de las posibles matrices no lo llevaraacute a la solucioacuten maacutes simple lo llevashyriacutea a una cantidad praacutecticamente inconmenshysurabl de soluciones

El problema de las matrices singulares Dentro de un sistema de n variables si se escogen dos minterms que sean uno el negado del otr o al constru ir la matr iz de polaridad mix ta se podriacutea llegar a una matriz singular de tal forma que eacutesta no tendr aacute inversa 1 por lo tanto a traveacutes de ella no se vaacutelida Asiacute se tendriacutea

po draacute llegar Rara la combi

a na

una cioacuten

solucioacuten taa ab

(1 7)

Y esta es una matriz I que no tiene inversa De hecho entre mayor sea el nuacutemero de variables mayor seraacute el nuacutemero de matrishyces singulares que pueden llegar a aparecer dentro del universo de matrices generables para un sistema de polaridad mixta

_

__

REALIDAD y REFIEXlOacuteN UNIVIRSIDAD FRANCISCO OAVIDIA

Soluciones no matriciales Cabe la posibilidad entonces de buscar alternativas no matriciales que resuelvan funciones en forma de polinomios de Rced Muller Los trabajos de Per lingren de la Universidad Tecnoloacutegica de lulea en Sueshycia y los de otros plantean algunas altershynativas no matriciales

Una alternativa relativamente simple conshysiste en asumir que cada 1 en la tabla de verdad corresponde a un minterm cuya tabla de verdad soacutelo tiene un valor vershydadero Asiacute que al hacer la operacioacuten exor con cualquiera de los otros minterms no habraacute anulacioacuten de unos en el resulshytado final Usando esta loacutegica b funcioacuten que tenga mayor cantidad de 1 en su tabla de verdad resultaraacute maacutes compleja y cada minterm siempre estaraacute compuesto por combinaciones de las n variabl es que intervienen en la funcioacuten Asiacute la expreshysioacuten y=iquest(l357) corresRonderiacutea a y=cba EecbaEBcbaEBcba Aun que esta respuesshyta es vaacutelida dista de ser la maacutes senci lla de implementar en un ci rcui to y su uacutenishyca ventaja radica en que el procedimienshyto es muy simple para la computadora

Otra alternativa no matricial consiste en un meacutetodo de aproximaciones sucesivas seguacuten el cual se puede descompone r una funcioacuten basada en un polinomio de Reed Muller si se asume que cada minterm tiene una cant idad de 1 menor que la funcioacuten fina l

Bu~cando

iexcl- - - --teorem a y aprovechando el siguiente

Si y = xEBz entonces que xEeY = z

Esto llevariacutea a que siacute y es una funcioacuten compleja con una buena cantidad de 1 al hacer la operacioacuten exor con alguno de los minterms que la forman el resultado

a) Un minterm relativamente simple y faacutecil de identificar o

b) Una funcioacuten maacutes simple que y tal que tendraacute una cantidad menor de 1 en su tabla de verdad

La esencia del procedimiento consistiraacute en poder generar las tablas de verdad de todos los minterms posibles y en llevar conteo de coacutemo se reduce el nuacutemero de 1 en la funcioacuten resultante con forme se somete a prueba cada minterm

Un atajo dentro de este procedimiento consiste en asumir que si la cantidad toshytal de 1 de la funcioacuten original es mayor a la mitad de todos los valores posibles de la tabla de verdad entonces resultariacutea maacutes faacutecil trabajar con el negado de la funcioacuten original en lugar de con ella misshyma y aplicar la siguiente propiedad

1= 1 EB-iCi - (18)

En much as ocasiones el uso de este atashyjo lleva a una respuesta de tipo polaridad mixta que es mucho maacutes simple que la

Vale

que se obtiene por otros meacutetodos

la pena sentildealar que los algoritmos aplicables a Reed Muller ya fueron impleshyment ados como parte de proyecto de gradu acioacuten de Al ejandro Fabiaacuten en la Uni versidad Don Bosco (2003)

propuesta para expresiones

una alternativa que no incluya los meacutetodos tradicionales ni que esteacute reshylacionada con Jos polinomios de Reed Muller cabe la posibilidad de llegar a soluciones maacutes simples y que al no deshypender de funciones XOR resulten maacutes

seraacute en cualquier caso baratas de implementar

--------------shy

UNWbullbullbullIDAD aAHCIco OAVIDIA REALIDAD y REFLEXIOacuteN

Al buscar una forma de sistematizar la simplificacioacuten de lasfunciones en las forshymas canoacutenicas propongo un algoritmo basado en las siguientes premisas

1- Si se puede hacer que para un nuacuteshymero n de variables la computadora pueda evaluar cada uno de los minterms que podriacutean obtenerse al combinar la n variables el proceso de saber cuaacutel minterm es parte de una funcioacuten dada se convierte en un proceso de eliminacioacuten

2- Si un minterm m es parte de una funcioacuten f entonces

f=m+n+h f = mnh (19) ~fm=O

El seguir el procedimiento anterior para todos los minterms posibles no elimina un problema con que geneshyralmente se encuentran los estudianshytes la presencia de teacuterminos redundantes en la expresioacuten final es decir que algunos minterms que se han incluido dentro de la expresioacuten pueden de hecho ser absorbidos por otros

Luego si se conoce la tabla de verClad de la funcioacuten que se desea sim lificar la tabla de verdad de un minterm generado por la computadora si m es parte de f al aplicar la uacuteltima ecuacioacuten en ning uacuten caso el resultado deberaacute dar diferente de O Si en alguacuten caso el resultado es verdadero habriacutea que descartar ese minterm como parte de la ecuacioacuten final

Por ejemplo para la funcioacuten y=I( 123) la tabla de verdad resulta ser la siguiente

Tabla 2 --b A Y

o O O

O 1 1 1 O 1 1 1 1

1

Los minterms que pueden formar esta funshycioacuten seraacuten 01 a a b b ab ab ab y abo Un total de 10 teacuterminos Ya que los primeros 2 no vale la pena probarlos al probar el caso de a tendriacuteamos

Tabla 3

y A Ya iexcl O O O 1 O O O O O 1 O

Tabla 4

Como a es un minterm incluido en Y entonces todas las combinaciones de Ya daraacuten cero siempre

Para el caso de b resultaraacute distinto

y b y b 1 1 iexcl

o 1 O O O O

l O O O

Dado que al menos en un caso el resulshytado de combinacioacuten es 1 es faacutecil deducir que b no es un minterm de y

s- Una vez sistematizados todos estos pasos el resultado seraacute una expresioacuten de la forma canoacutenica reducida a su forma maacutes simple

---------------------shy

------------

UNIYIRIIDAD FRANCISCO GAYIDIA REAuoAD y REFLEXiOacuteN

D Relacioacuten con la teoriacutea de conjuntos

Si se relacionan los operadores booleanos con operaciones de conjuntos habriacutea que considera que la funcioacuten ANO corresponde a la de intercepcioacuten que la OR es la de unioacuten y que la NOT es simplemente semiddot ntildealar todo aquello que no pertenece al conjunto a que se aplica

Asiacute una graacutefica que sentildealara a un subconjunto m como incluido en un conshyjunto F seriacutea tanto como afirmar que m es un rninterm de F

u

F

Fig 2 m como un minterm de F

Toda la regioacuten dentro del universo que no pertenece a f seriacutea f

Fig 3 El conjunto de F

Si buscamos el intercepto de F y m soacutelo llegariacuteamos a un espacio vaciacuteo ya que no tienen ninguacuten espacio en comuacuten por lo tanto Se cumple el principio propuesto

Si se hubiera trabajado con un conjunto p no incluido dentro de F (una expresioacuten que no es un minterm de F) entonces la representacioacuten graacutefica seriacutea

Fig 4 P no es minterm de F pero estaacute incluido en F

Dado que p queda incluido dentro de F entonces el resultado de la intercepcioacuten seriacutea diferente a un conjunto vaciacuteo

E Implicaciones Un meacutetodo como el descrito implica proshybar una cantidad considerable de posibishylidades lo obvio es que si se sistematiza el meacutetodo cuantos maacutes minterms se prueshyben en el sistema maacutes tiempo se llevaraacute la simplificacioacuten

Cuando se trabaja con una sola variable los minterms posibles son O 1 a a Un total de 4 Para el caso de 2 variables ya se habiacutea comprobado que los minterms posibles son 10 Si se analiza un caso de 3 variables el nuacutemero total de teacuterminos posibles es de 28 Al analizar esta secuenshycia de nuacutemeros se deduce que la cantishydad de minterms al final para n variables de entrada es de 3+1

Una comprobacioacuten de esta foacutermula para un caso general partiriacutea de este principio En un caso simple de formarse un minterm con k variables de n variables de entrashyda se formariacutea un numero de combinashyciones de variables dado por

UNIVIRSIDAD RANCSCO GAVIDIA REALIDAD y REFLEXIOacuteN

(Z) (20)

Pero de cada una de estas combinaciones se puede generar una cantidad de comshybinac iones binarias de los variable s y sus correspondientes negados Esta cantidad seraacute igual a 2k

Luego la cantidad total de minterms generados con k variables de un total de n es

(21)

La sumatoria de todos los teacuterminos posishybles desde k=l hasta n da como resultashydo una expresioacuten similar a la del polinomio de Newton para la potencia de un binoshymio donde 2 es uno de los monomios y 1 el otro es decir

(22) i 2k (n) = (3) --~= (2+1) K-O k

Sin embargo como no se estaacute consideranshydo el caso de k = O entonces la cantishydad de minterms forma dos con las variashybles resulta 3-1 Con siderando los minterms que no depe nden de las variashybles de entrada es deci r O y 1 entonces la cantidad de minterms posibles seraacute 3+1

F La problemaacutetica en torno al algoritmo

Uno de los puntos de intereacutes en torno a generar una aplicacioacuten que utilice el pro shycedimiento propuesto radica en la neceshysidad de generar las tablas de verdad de minterms y a partir de alliacute seguir el proshyceso de eliminacioacuten Hay dos alternativas que pueden ser viables

1- Dado que los minterms a usar seraacuten siempre los mismos para un nuacutemero

dado de variables de entrada y sus tablas de verdad no dependen de la tabla de verdad de la funcioacuten a analishyzar entonces seriacutea factible tener almashycenadas todas estas tablas en una base de datos de la cual se consultariacutean las tablas de verdad soacutelo para llevar a cabo el procedimiento de eliminacioacuten desshycrito no con el fin de alterar en nada los resultados almacenados

2- Recurrir a Uf) proced imiento que din aacutemicamente genere las tablas de verdad en cada ocasioacuten en que haya que analizar una funcioacuten en especial

Ambas alternativas ofrecen ventajas y desventajas

a) En el primer caso habriacutea que alimenshytar los datos manualmente a la tabla de verdad y para que la aplicacioacuten tuvieshyra la capacidad de resolver funciones con 5 variables de entrada la base tenshydriacutea que tener 243 tablas de 243 minterms donde cada tabla tendriacutea 32 valores asignados De esta forma habriacutea entonces 7776 elementos binarios alshymacenados en la base de datos En otras palabras la base de datos necesitariacutea una cantidad de elementos almacenados proshyporcional a 6 elevado a la n Para una cantidad n de variables a considerar Aunque el orden de las operaciones a llevar a cabo es pequentildeo para un sisshytema informaacutetico resulta en una cantishydad enorme de datos a digitarse para almacenarse en la base

b) En el segundo caso la generacioacuten din aacutemica de las tablas de verdad implica considerar para cada variable al menos 3 condiciones posibles

i) El que la variable esteacute ausente en el minterm a analizar

--------------shy

REALIDAD y REFLEXIOacuteN UNIVERSIDAD RANCISCO GAYlDIA

ii) El que la variable esteacute presente pero deba operarse con su valor actual

iii) Que la variable esteacute presente pero deberaacute operararse siempre negada

Al final habraacute que llevar a cabo un total de (6) evaluaciones de todos los valores que pueden asumir los minterms a analishyzar El factor determinante en este caso es el tiempo maacutequina necesario para llevar a cabo todas estas evaluaciones cuando se quiera analizar una funcioacuten que dependa de un nuacutemero de variables elevado

G Meacutetodos alternativos

En este momento vale la pena preguntarshyse si no seriacutea viable buscar la forma de simplificar funciones booleanas por otros meacutetodos como el uso de una extensa base de datos en la que se buscara una forma simplificada de una funcioacuten comparaacutendoshyla con su tabla de verdad almacenada Aunque eacutesta parece una alternativa bastante simple hay que evaluar elementos imporshytantes como el tamantildeo de la base de dashytos o la magnitud del tiempo de buacutesqueshyda en la misma y sopesar esto contra las caracteriacutesticas de los meacutetodos de Martiacuten

De acuerdo a la metodologiacutea de Martin si se estima que se requieren n variables para representar una funcioacuten entonces existiraacuten 3 minterms que pueden ser parte de la funcioacuten simplificada y el proceso de simplificacioacuten propuesto eliminaraacute aqu 1I0s minterms que no pertenecen a la func ioacuten analizada y tambieacuten aquellos qu e son absorbidos por otros den tro de la misma funcioacuten El proceso implica que el pro grashyma en Visual Basic desarrolle las tablas de verdad de cada uno de los minterms y ya que en su formato maacutes simple cada tashybla de verdad estariacutea formada por 2 bits asiacute que el archivo que utilizariacutea el prograshy

ma en clisp tendriacutea un tamantildeo de 6 bits Asiacute para simplificar funciones de sistemas de 6 variables se necesitariacutea de un archishyvo de al menos 46 Kb En la praacutectica los archivos usados son maacutes grandes porque no se expresan las tablas de verdad con 1 y O sino que con los teacuterminos t y nil que son propios del lenguaje Lisp

A estas alturas vale la pena preguntarse iquestCuaacuten grande seriacutea una base de datos como sustituto al meacutetodo de Martin En primer lugar seriacutea necesario que esta base contashyra al menos con 2 campos uno con la expresioacuten algebraica de la funcioacuten en su forma maacutes simple y otro con la tabla de verdad correspondiente Obviamente el tamantildeo de cada campo depende en bueshyna medida del nuacutemero maacuteximo de variashybles que sea capaz de procesar el sistema y ello influi raacute directamente en el tamantildeo de la base de datos En segundo lugar el tamantildeo de la base de datos tambieacuten deshypende del nuacutemero de registros a contener y deberaacute con tener todas las funciones posibles que se puedan generar con n variables La cuestioacuten ahora es iquestcuaacutentas funciones pueden generarse con n variables

Para responder a la pregunta anterior hamiddot bria que recurrir a buscar cuaacutentas formas miacutenimas se pueden obtener combinando minterms o partir de otro modelo que permita llegar a la misma respuesta de una forma maacutes directa Si se utilizan las afirshymaciones de Reed y Muller de que toda funcioacuten booleana puede expresarse en forma de uno de sus polinomios si se lleshyvan a expresiones de tipo de polaridad fija la cual es su forma maacutes simple se presenshytan en formas como la siguiente

(23)

La cual seriacutea un polinomio de Reed-Muller para 2 variables En general habriacutea que

___________B

UNlVbullbullIDAD AMeIIeO GAVIDIA REALIDAD y REFLEXIOacuteN

decir que un polinomio de este tipo poshydriacutea estar formado por 2 teacuterminos Exisshytiraacuten coeficientes k cada uno de los cuashyles asumiriacutea valores de 1 oacute O asiacute que el nuacutemero de posibles combinaciones que se generariacutean es de 22 Si mediante un polinomio de Reed-Muller puede represenshytarse cualquier funcioacuten entonces el nuacutemero total de funciones distintas que se pueden generar con n variables corresponde al mismo valor de combinaciones generadas por un polinomio de Reed-Muller

Asiacute para un sistema de 6 variables se geshy264 nerariacutean funciones distintas es decir

18446J44073709551616=18xlO 6 Si a este nuacutemero corresponde el nuacutemero de registros de la base ce datos aunq e cada registro apenas ocupase un bit (que de hecho no seraacute asiacute) el tamantildeo miacutenimo de la base seriacutea de 2147483648 Gbytes

De lo anterior se deduce que la alternativa de usar un sistema de Bases de daacutefos es impraacutectica El sistema con que cuenta actualshymente no representa ni siquiera 100kbyte de consumo del disco duro ni exige maacutes allaacute de los 2MB de ram que requiere cualquier programa en Cliacutesp para funcionar

I

Donde mi n Y p son a su vez maxterms al aplicar el teorema de O Margan se tendriacutea

F=m+n+p (25)

Si se lleva a cabo la siguiente operacioacuten entonces tendriacuteamos

F+mm+m+n+p=l (26)

o simplemente

(27)

lile aquiacute se podriacutea deducir que para cualshyquier maxterm m que sea parte de una funcioacuten F deberaacute cumplirse el principio anterior Por ejemplo

Si F=II(23)

Entonces la tabla de verdad seraacute

~~

1

-Tabla 4

b a F O O O O 1 O 1 O 1

1 1 1

Erttre los posibles maxterms estaraacuten aQab (a+b) a+b) (a+b) y (a+b) Un total de 8 maxt rm sin tomar en cuenta a O con lo cual podriacutean ser un total de 9 posibles (3)

-----~

1 tomando

Tabla 5

F m F+m O 1 1

O O O O 1 1F=mnp (24)

---------------shy

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

REALIDAD y REFLEXIOacuteN UNIVbullbullSIDAD FRANCISCO OAVIDIA

para los casos de polaridad positiva De hecho tomando en cuenta las posibles variaciones de las combinaciones de las variables de entrada llegaran a existir 2 posibles matrices una de las cuales coinshycidiriacutea con la matriz usada para polaridad positiva y las otras seriacutean diferentes Por lo tanto para una misma funcioacuten se esshyperariacutean 2 soluciones diferentes

Aunque la forma maacutes obvia de obtener cada una de estas matrices es a traveacutes de la evaluacioacuten de las tablas de verdad de cada minterm estas matrices tendraacuten ciershytas caracteriacutesticas a considerar

1- No son simeacutetricas respecto a ninguna de las dos diagonales

2- Siempre se puede encontrar su invershysa por meacutetodos como Gauss respetanshydo las condiciones propias de los grushy

Asiacute para el sistema de 2 variables basado en b y a

1 O 1 11 ~01= 1 (13) ~ 1 O O O[

1 1 O O

S-Se puede obtener la inversa de la matriz del sistema si se aprovecha una propiedad del producto Kronecker la inversa de un producto Kronecker es igual al producto Kronecker de las matrices inversas

01= O OO 1 ]1 (14) ~ 1 O 1 O[

1 1 1 1

Asiacute que aprovechando estas propiedades es factible desarrollar un programa que aunque resulte maacutes complejo que usado para polaridad positiva permita llegar a una respuesta valida

3-La inversa de cada matriz es igual a la transpuesta de la matriz respecto a la diagonal secundaria (no es una transposicioacuten claacutesica)

Si

O 1 J [ O 1 ]

pos de Galois uevamente cabe la posibilidad de que la

de la funcioacuten en

o a tercera

res uestaobtenida al final resulte en algunos casas tan compleja o maacutes que la expresioacuten

u forma canoacutenica

alternativa implicariacutea buscar la respuesta para un polinomio de po shy

-- Iaridad mixta En un polinomio de polashy1 1 1 1 O O 1 1 ridad mixta las variables pueden tener

A= 1 O O O entonces A ~ 1 O 1 O (11) polaridad po it iva o negativa sin que se [1 1 O O 1 1 1 1 respete ninguacuten orden en particular Asiacute

(15)

La dificultad radicariacutea en que no se poshydriacutea recu rr ir a meacutetodos basados en el

-__por ejemplo

Cuando el teacutermino tiene pola ridad po siti shyva y la matriz completariacutea que corresponshy producto Kronecker para desarrollar la deriacutea a matriz caracteriacutestica del sistema Ademaacutes

existen dos problemaacuteticas adicionales la (12) cant idad de matrices posibles a usar y la

aparicioacuten de matrices singulares

---------_-----

UNIVbullbullSIDAD RANClSCO GAVlDIA REALIDAD y REFLEXIOacuteN

Nuacutemero de matrices de polaridad mixshyta Ya que un pol inom io de polar idad mixshyta puede formarse a parti r de cualquieshyra de los minterms posibles formado con n variables Usando el equivalente a la loacutegica de 3 estados para fo rmar un minterm cualquiera entonces cabe n tres posibil idades

a) Que una variable no esteacute presente en la formacioacuten de un minterm

b) Que esteacute presente y su valor esteacute negado e) Que esteacute presente y su valor no

esteacute negado

Tomando en cuenta estas posibil idades entonces al tomar en cuenta que hay 3 minterms y que una solucioacuten matricial requeriacutea usar 2 de esos minterms las poshysibles matrices en total estariacutean dadas por el combinatorio

() (16)

El cual puede llegar a tener valores extr shymadamente grandes conforme n cree Asiacute

Tabla 1 -iexcl

N Matrices

2 126 3 22200 75 4 33594090947249085 98 12294412288 7808427264 71 233 ~ 748e + 395

La magnitud en que crecen la cantid ad de matrices a evaluar es superior al ereshyci m ie n t o exponencial de l tota l de minterms para la forma canoacutenica la ual crece exponencialmente de acuerdo a la formula 3

Una clara referencia de la diferencia en el crecim iento de estas magnitudes se muesshytra en la siguiente graacutefica

bull l-shy

iexclig 1 Crecimiento comparativo de matrishyces usadas para polaridad mixta y el creshycimiento del nuacutemero de minterms

Este crecimiento de soluciones plantea que al dejar que un usuario escoja por siacute misshymo cuaacutel de las posibles matrices no lo llevaraacute a la solucioacuten maacutes simple lo llevashyriacutea a una cantidad praacutecticamente inconmenshysurabl de soluciones

El problema de las matrices singulares Dentro de un sistema de n variables si se escogen dos minterms que sean uno el negado del otr o al constru ir la matr iz de polaridad mix ta se podriacutea llegar a una matriz singular de tal forma que eacutesta no tendr aacute inversa 1 por lo tanto a traveacutes de ella no se vaacutelida Asiacute se tendriacutea

po draacute llegar Rara la combi

a na

una cioacuten

solucioacuten taa ab

(1 7)

Y esta es una matriz I que no tiene inversa De hecho entre mayor sea el nuacutemero de variables mayor seraacute el nuacutemero de matrishyces singulares que pueden llegar a aparecer dentro del universo de matrices generables para un sistema de polaridad mixta

_

__

REALIDAD y REFIEXlOacuteN UNIVIRSIDAD FRANCISCO OAVIDIA

Soluciones no matriciales Cabe la posibilidad entonces de buscar alternativas no matriciales que resuelvan funciones en forma de polinomios de Rced Muller Los trabajos de Per lingren de la Universidad Tecnoloacutegica de lulea en Sueshycia y los de otros plantean algunas altershynativas no matriciales

Una alternativa relativamente simple conshysiste en asumir que cada 1 en la tabla de verdad corresponde a un minterm cuya tabla de verdad soacutelo tiene un valor vershydadero Asiacute que al hacer la operacioacuten exor con cualquiera de los otros minterms no habraacute anulacioacuten de unos en el resulshytado final Usando esta loacutegica b funcioacuten que tenga mayor cantidad de 1 en su tabla de verdad resultaraacute maacutes compleja y cada minterm siempre estaraacute compuesto por combinaciones de las n variabl es que intervienen en la funcioacuten Asiacute la expreshysioacuten y=iquest(l357) corresRonderiacutea a y=cba EecbaEBcbaEBcba Aun que esta respuesshyta es vaacutelida dista de ser la maacutes senci lla de implementar en un ci rcui to y su uacutenishyca ventaja radica en que el procedimienshyto es muy simple para la computadora

Otra alternativa no matricial consiste en un meacutetodo de aproximaciones sucesivas seguacuten el cual se puede descompone r una funcioacuten basada en un polinomio de Reed Muller si se asume que cada minterm tiene una cant idad de 1 menor que la funcioacuten fina l

Bu~cando

iexcl- - - --teorem a y aprovechando el siguiente

Si y = xEBz entonces que xEeY = z

Esto llevariacutea a que siacute y es una funcioacuten compleja con una buena cantidad de 1 al hacer la operacioacuten exor con alguno de los minterms que la forman el resultado

a) Un minterm relativamente simple y faacutecil de identificar o

b) Una funcioacuten maacutes simple que y tal que tendraacute una cantidad menor de 1 en su tabla de verdad

La esencia del procedimiento consistiraacute en poder generar las tablas de verdad de todos los minterms posibles y en llevar conteo de coacutemo se reduce el nuacutemero de 1 en la funcioacuten resultante con forme se somete a prueba cada minterm

Un atajo dentro de este procedimiento consiste en asumir que si la cantidad toshytal de 1 de la funcioacuten original es mayor a la mitad de todos los valores posibles de la tabla de verdad entonces resultariacutea maacutes faacutecil trabajar con el negado de la funcioacuten original en lugar de con ella misshyma y aplicar la siguiente propiedad

1= 1 EB-iCi - (18)

En much as ocasiones el uso de este atashyjo lleva a una respuesta de tipo polaridad mixta que es mucho maacutes simple que la

Vale

que se obtiene por otros meacutetodos

la pena sentildealar que los algoritmos aplicables a Reed Muller ya fueron impleshyment ados como parte de proyecto de gradu acioacuten de Al ejandro Fabiaacuten en la Uni versidad Don Bosco (2003)

propuesta para expresiones

una alternativa que no incluya los meacutetodos tradicionales ni que esteacute reshylacionada con Jos polinomios de Reed Muller cabe la posibilidad de llegar a soluciones maacutes simples y que al no deshypender de funciones XOR resulten maacutes

seraacute en cualquier caso baratas de implementar

--------------shy

UNWbullbullbullIDAD aAHCIco OAVIDIA REALIDAD y REFLEXIOacuteN

Al buscar una forma de sistematizar la simplificacioacuten de lasfunciones en las forshymas canoacutenicas propongo un algoritmo basado en las siguientes premisas

1- Si se puede hacer que para un nuacuteshymero n de variables la computadora pueda evaluar cada uno de los minterms que podriacutean obtenerse al combinar la n variables el proceso de saber cuaacutel minterm es parte de una funcioacuten dada se convierte en un proceso de eliminacioacuten

2- Si un minterm m es parte de una funcioacuten f entonces

f=m+n+h f = mnh (19) ~fm=O

El seguir el procedimiento anterior para todos los minterms posibles no elimina un problema con que geneshyralmente se encuentran los estudianshytes la presencia de teacuterminos redundantes en la expresioacuten final es decir que algunos minterms que se han incluido dentro de la expresioacuten pueden de hecho ser absorbidos por otros

Luego si se conoce la tabla de verClad de la funcioacuten que se desea sim lificar la tabla de verdad de un minterm generado por la computadora si m es parte de f al aplicar la uacuteltima ecuacioacuten en ning uacuten caso el resultado deberaacute dar diferente de O Si en alguacuten caso el resultado es verdadero habriacutea que descartar ese minterm como parte de la ecuacioacuten final

Por ejemplo para la funcioacuten y=I( 123) la tabla de verdad resulta ser la siguiente

Tabla 2 --b A Y

o O O

O 1 1 1 O 1 1 1 1

1

Los minterms que pueden formar esta funshycioacuten seraacuten 01 a a b b ab ab ab y abo Un total de 10 teacuterminos Ya que los primeros 2 no vale la pena probarlos al probar el caso de a tendriacuteamos

Tabla 3

y A Ya iexcl O O O 1 O O O O O 1 O

Tabla 4

Como a es un minterm incluido en Y entonces todas las combinaciones de Ya daraacuten cero siempre

Para el caso de b resultaraacute distinto

y b y b 1 1 iexcl

o 1 O O O O

l O O O

Dado que al menos en un caso el resulshytado de combinacioacuten es 1 es faacutecil deducir que b no es un minterm de y

s- Una vez sistematizados todos estos pasos el resultado seraacute una expresioacuten de la forma canoacutenica reducida a su forma maacutes simple

---------------------shy

------------

UNIYIRIIDAD FRANCISCO GAYIDIA REAuoAD y REFLEXiOacuteN

D Relacioacuten con la teoriacutea de conjuntos

Si se relacionan los operadores booleanos con operaciones de conjuntos habriacutea que considera que la funcioacuten ANO corresponde a la de intercepcioacuten que la OR es la de unioacuten y que la NOT es simplemente semiddot ntildealar todo aquello que no pertenece al conjunto a que se aplica

Asiacute una graacutefica que sentildealara a un subconjunto m como incluido en un conshyjunto F seriacutea tanto como afirmar que m es un rninterm de F

u

F

Fig 2 m como un minterm de F

Toda la regioacuten dentro del universo que no pertenece a f seriacutea f

Fig 3 El conjunto de F

Si buscamos el intercepto de F y m soacutelo llegariacuteamos a un espacio vaciacuteo ya que no tienen ninguacuten espacio en comuacuten por lo tanto Se cumple el principio propuesto

Si se hubiera trabajado con un conjunto p no incluido dentro de F (una expresioacuten que no es un minterm de F) entonces la representacioacuten graacutefica seriacutea

Fig 4 P no es minterm de F pero estaacute incluido en F

Dado que p queda incluido dentro de F entonces el resultado de la intercepcioacuten seriacutea diferente a un conjunto vaciacuteo

E Implicaciones Un meacutetodo como el descrito implica proshybar una cantidad considerable de posibishylidades lo obvio es que si se sistematiza el meacutetodo cuantos maacutes minterms se prueshyben en el sistema maacutes tiempo se llevaraacute la simplificacioacuten

Cuando se trabaja con una sola variable los minterms posibles son O 1 a a Un total de 4 Para el caso de 2 variables ya se habiacutea comprobado que los minterms posibles son 10 Si se analiza un caso de 3 variables el nuacutemero total de teacuterminos posibles es de 28 Al analizar esta secuenshycia de nuacutemeros se deduce que la cantishydad de minterms al final para n variables de entrada es de 3+1

Una comprobacioacuten de esta foacutermula para un caso general partiriacutea de este principio En un caso simple de formarse un minterm con k variables de n variables de entrashyda se formariacutea un numero de combinashyciones de variables dado por

UNIVIRSIDAD RANCSCO GAVIDIA REALIDAD y REFLEXIOacuteN

(Z) (20)

Pero de cada una de estas combinaciones se puede generar una cantidad de comshybinac iones binarias de los variable s y sus correspondientes negados Esta cantidad seraacute igual a 2k

Luego la cantidad total de minterms generados con k variables de un total de n es

(21)

La sumatoria de todos los teacuterminos posishybles desde k=l hasta n da como resultashydo una expresioacuten similar a la del polinomio de Newton para la potencia de un binoshymio donde 2 es uno de los monomios y 1 el otro es decir

(22) i 2k (n) = (3) --~= (2+1) K-O k

Sin embargo como no se estaacute consideranshydo el caso de k = O entonces la cantishydad de minterms forma dos con las variashybles resulta 3-1 Con siderando los minterms que no depe nden de las variashybles de entrada es deci r O y 1 entonces la cantidad de minterms posibles seraacute 3+1

F La problemaacutetica en torno al algoritmo

Uno de los puntos de intereacutes en torno a generar una aplicacioacuten que utilice el pro shycedimiento propuesto radica en la neceshysidad de generar las tablas de verdad de minterms y a partir de alliacute seguir el proshyceso de eliminacioacuten Hay dos alternativas que pueden ser viables

1- Dado que los minterms a usar seraacuten siempre los mismos para un nuacutemero

dado de variables de entrada y sus tablas de verdad no dependen de la tabla de verdad de la funcioacuten a analishyzar entonces seriacutea factible tener almashycenadas todas estas tablas en una base de datos de la cual se consultariacutean las tablas de verdad soacutelo para llevar a cabo el procedimiento de eliminacioacuten desshycrito no con el fin de alterar en nada los resultados almacenados

2- Recurrir a Uf) proced imiento que din aacutemicamente genere las tablas de verdad en cada ocasioacuten en que haya que analizar una funcioacuten en especial

Ambas alternativas ofrecen ventajas y desventajas

a) En el primer caso habriacutea que alimenshytar los datos manualmente a la tabla de verdad y para que la aplicacioacuten tuvieshyra la capacidad de resolver funciones con 5 variables de entrada la base tenshydriacutea que tener 243 tablas de 243 minterms donde cada tabla tendriacutea 32 valores asignados De esta forma habriacutea entonces 7776 elementos binarios alshymacenados en la base de datos En otras palabras la base de datos necesitariacutea una cantidad de elementos almacenados proshyporcional a 6 elevado a la n Para una cantidad n de variables a considerar Aunque el orden de las operaciones a llevar a cabo es pequentildeo para un sisshytema informaacutetico resulta en una cantishydad enorme de datos a digitarse para almacenarse en la base

b) En el segundo caso la generacioacuten din aacutemica de las tablas de verdad implica considerar para cada variable al menos 3 condiciones posibles

i) El que la variable esteacute ausente en el minterm a analizar

--------------shy

REALIDAD y REFLEXIOacuteN UNIVERSIDAD RANCISCO GAYlDIA

ii) El que la variable esteacute presente pero deba operarse con su valor actual

iii) Que la variable esteacute presente pero deberaacute operararse siempre negada

Al final habraacute que llevar a cabo un total de (6) evaluaciones de todos los valores que pueden asumir los minterms a analishyzar El factor determinante en este caso es el tiempo maacutequina necesario para llevar a cabo todas estas evaluaciones cuando se quiera analizar una funcioacuten que dependa de un nuacutemero de variables elevado

G Meacutetodos alternativos

En este momento vale la pena preguntarshyse si no seriacutea viable buscar la forma de simplificar funciones booleanas por otros meacutetodos como el uso de una extensa base de datos en la que se buscara una forma simplificada de una funcioacuten comparaacutendoshyla con su tabla de verdad almacenada Aunque eacutesta parece una alternativa bastante simple hay que evaluar elementos imporshytantes como el tamantildeo de la base de dashytos o la magnitud del tiempo de buacutesqueshyda en la misma y sopesar esto contra las caracteriacutesticas de los meacutetodos de Martiacuten

De acuerdo a la metodologiacutea de Martin si se estima que se requieren n variables para representar una funcioacuten entonces existiraacuten 3 minterms que pueden ser parte de la funcioacuten simplificada y el proceso de simplificacioacuten propuesto eliminaraacute aqu 1I0s minterms que no pertenecen a la func ioacuten analizada y tambieacuten aquellos qu e son absorbidos por otros den tro de la misma funcioacuten El proceso implica que el pro grashyma en Visual Basic desarrolle las tablas de verdad de cada uno de los minterms y ya que en su formato maacutes simple cada tashybla de verdad estariacutea formada por 2 bits asiacute que el archivo que utilizariacutea el prograshy

ma en clisp tendriacutea un tamantildeo de 6 bits Asiacute para simplificar funciones de sistemas de 6 variables se necesitariacutea de un archishyvo de al menos 46 Kb En la praacutectica los archivos usados son maacutes grandes porque no se expresan las tablas de verdad con 1 y O sino que con los teacuterminos t y nil que son propios del lenguaje Lisp

A estas alturas vale la pena preguntarse iquestCuaacuten grande seriacutea una base de datos como sustituto al meacutetodo de Martin En primer lugar seriacutea necesario que esta base contashyra al menos con 2 campos uno con la expresioacuten algebraica de la funcioacuten en su forma maacutes simple y otro con la tabla de verdad correspondiente Obviamente el tamantildeo de cada campo depende en bueshyna medida del nuacutemero maacuteximo de variashybles que sea capaz de procesar el sistema y ello influi raacute directamente en el tamantildeo de la base de datos En segundo lugar el tamantildeo de la base de datos tambieacuten deshypende del nuacutemero de registros a contener y deberaacute con tener todas las funciones posibles que se puedan generar con n variables La cuestioacuten ahora es iquestcuaacutentas funciones pueden generarse con n variables

Para responder a la pregunta anterior hamiddot bria que recurrir a buscar cuaacutentas formas miacutenimas se pueden obtener combinando minterms o partir de otro modelo que permita llegar a la misma respuesta de una forma maacutes directa Si se utilizan las afirshymaciones de Reed y Muller de que toda funcioacuten booleana puede expresarse en forma de uno de sus polinomios si se lleshyvan a expresiones de tipo de polaridad fija la cual es su forma maacutes simple se presenshytan en formas como la siguiente

(23)

La cual seriacutea un polinomio de Reed-Muller para 2 variables En general habriacutea que

___________B

UNlVbullbullIDAD AMeIIeO GAVIDIA REALIDAD y REFLEXIOacuteN

decir que un polinomio de este tipo poshydriacutea estar formado por 2 teacuterminos Exisshytiraacuten coeficientes k cada uno de los cuashyles asumiriacutea valores de 1 oacute O asiacute que el nuacutemero de posibles combinaciones que se generariacutean es de 22 Si mediante un polinomio de Reed-Muller puede represenshytarse cualquier funcioacuten entonces el nuacutemero total de funciones distintas que se pueden generar con n variables corresponde al mismo valor de combinaciones generadas por un polinomio de Reed-Muller

Asiacute para un sistema de 6 variables se geshy264 nerariacutean funciones distintas es decir

18446J44073709551616=18xlO 6 Si a este nuacutemero corresponde el nuacutemero de registros de la base ce datos aunq e cada registro apenas ocupase un bit (que de hecho no seraacute asiacute) el tamantildeo miacutenimo de la base seriacutea de 2147483648 Gbytes

De lo anterior se deduce que la alternativa de usar un sistema de Bases de daacutefos es impraacutectica El sistema con que cuenta actualshymente no representa ni siquiera 100kbyte de consumo del disco duro ni exige maacutes allaacute de los 2MB de ram que requiere cualquier programa en Cliacutesp para funcionar

I

Donde mi n Y p son a su vez maxterms al aplicar el teorema de O Margan se tendriacutea

F=m+n+p (25)

Si se lleva a cabo la siguiente operacioacuten entonces tendriacuteamos

F+mm+m+n+p=l (26)

o simplemente

(27)

lile aquiacute se podriacutea deducir que para cualshyquier maxterm m que sea parte de una funcioacuten F deberaacute cumplirse el principio anterior Por ejemplo

Si F=II(23)

Entonces la tabla de verdad seraacute

~~

1

-Tabla 4

b a F O O O O 1 O 1 O 1

1 1 1

Erttre los posibles maxterms estaraacuten aQab (a+b) a+b) (a+b) y (a+b) Un total de 8 maxt rm sin tomar en cuenta a O con lo cual podriacutean ser un total de 9 posibles (3)

-----~

1 tomando

Tabla 5

F m F+m O 1 1

O O O O 1 1F=mnp (24)

---------------shy

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

UNIVbullbullSIDAD RANClSCO GAVlDIA REALIDAD y REFLEXIOacuteN

Nuacutemero de matrices de polaridad mixshyta Ya que un pol inom io de polar idad mixshyta puede formarse a parti r de cualquieshyra de los minterms posibles formado con n variables Usando el equivalente a la loacutegica de 3 estados para fo rmar un minterm cualquiera entonces cabe n tres posibil idades

a) Que una variable no esteacute presente en la formacioacuten de un minterm

b) Que esteacute presente y su valor esteacute negado e) Que esteacute presente y su valor no

esteacute negado

Tomando en cuenta estas posibil idades entonces al tomar en cuenta que hay 3 minterms y que una solucioacuten matricial requeriacutea usar 2 de esos minterms las poshysibles matrices en total estariacutean dadas por el combinatorio

() (16)

El cual puede llegar a tener valores extr shymadamente grandes conforme n cree Asiacute

Tabla 1 -iexcl

N Matrices

2 126 3 22200 75 4 33594090947249085 98 12294412288 7808427264 71 233 ~ 748e + 395

La magnitud en que crecen la cantid ad de matrices a evaluar es superior al ereshyci m ie n t o exponencial de l tota l de minterms para la forma canoacutenica la ual crece exponencialmente de acuerdo a la formula 3

Una clara referencia de la diferencia en el crecim iento de estas magnitudes se muesshytra en la siguiente graacutefica

bull l-shy

iexclig 1 Crecimiento comparativo de matrishyces usadas para polaridad mixta y el creshycimiento del nuacutemero de minterms

Este crecimiento de soluciones plantea que al dejar que un usuario escoja por siacute misshymo cuaacutel de las posibles matrices no lo llevaraacute a la solucioacuten maacutes simple lo llevashyriacutea a una cantidad praacutecticamente inconmenshysurabl de soluciones

El problema de las matrices singulares Dentro de un sistema de n variables si se escogen dos minterms que sean uno el negado del otr o al constru ir la matr iz de polaridad mix ta se podriacutea llegar a una matriz singular de tal forma que eacutesta no tendr aacute inversa 1 por lo tanto a traveacutes de ella no se vaacutelida Asiacute se tendriacutea

po draacute llegar Rara la combi

a na

una cioacuten

solucioacuten taa ab

(1 7)

Y esta es una matriz I que no tiene inversa De hecho entre mayor sea el nuacutemero de variables mayor seraacute el nuacutemero de matrishyces singulares que pueden llegar a aparecer dentro del universo de matrices generables para un sistema de polaridad mixta

_

__

REALIDAD y REFIEXlOacuteN UNIVIRSIDAD FRANCISCO OAVIDIA

Soluciones no matriciales Cabe la posibilidad entonces de buscar alternativas no matriciales que resuelvan funciones en forma de polinomios de Rced Muller Los trabajos de Per lingren de la Universidad Tecnoloacutegica de lulea en Sueshycia y los de otros plantean algunas altershynativas no matriciales

Una alternativa relativamente simple conshysiste en asumir que cada 1 en la tabla de verdad corresponde a un minterm cuya tabla de verdad soacutelo tiene un valor vershydadero Asiacute que al hacer la operacioacuten exor con cualquiera de los otros minterms no habraacute anulacioacuten de unos en el resulshytado final Usando esta loacutegica b funcioacuten que tenga mayor cantidad de 1 en su tabla de verdad resultaraacute maacutes compleja y cada minterm siempre estaraacute compuesto por combinaciones de las n variabl es que intervienen en la funcioacuten Asiacute la expreshysioacuten y=iquest(l357) corresRonderiacutea a y=cba EecbaEBcbaEBcba Aun que esta respuesshyta es vaacutelida dista de ser la maacutes senci lla de implementar en un ci rcui to y su uacutenishyca ventaja radica en que el procedimienshyto es muy simple para la computadora

Otra alternativa no matricial consiste en un meacutetodo de aproximaciones sucesivas seguacuten el cual se puede descompone r una funcioacuten basada en un polinomio de Reed Muller si se asume que cada minterm tiene una cant idad de 1 menor que la funcioacuten fina l

Bu~cando

iexcl- - - --teorem a y aprovechando el siguiente

Si y = xEBz entonces que xEeY = z

Esto llevariacutea a que siacute y es una funcioacuten compleja con una buena cantidad de 1 al hacer la operacioacuten exor con alguno de los minterms que la forman el resultado

a) Un minterm relativamente simple y faacutecil de identificar o

b) Una funcioacuten maacutes simple que y tal que tendraacute una cantidad menor de 1 en su tabla de verdad

La esencia del procedimiento consistiraacute en poder generar las tablas de verdad de todos los minterms posibles y en llevar conteo de coacutemo se reduce el nuacutemero de 1 en la funcioacuten resultante con forme se somete a prueba cada minterm

Un atajo dentro de este procedimiento consiste en asumir que si la cantidad toshytal de 1 de la funcioacuten original es mayor a la mitad de todos los valores posibles de la tabla de verdad entonces resultariacutea maacutes faacutecil trabajar con el negado de la funcioacuten original en lugar de con ella misshyma y aplicar la siguiente propiedad

1= 1 EB-iCi - (18)

En much as ocasiones el uso de este atashyjo lleva a una respuesta de tipo polaridad mixta que es mucho maacutes simple que la

Vale

que se obtiene por otros meacutetodos

la pena sentildealar que los algoritmos aplicables a Reed Muller ya fueron impleshyment ados como parte de proyecto de gradu acioacuten de Al ejandro Fabiaacuten en la Uni versidad Don Bosco (2003)

propuesta para expresiones

una alternativa que no incluya los meacutetodos tradicionales ni que esteacute reshylacionada con Jos polinomios de Reed Muller cabe la posibilidad de llegar a soluciones maacutes simples y que al no deshypender de funciones XOR resulten maacutes

seraacute en cualquier caso baratas de implementar

--------------shy

UNWbullbullbullIDAD aAHCIco OAVIDIA REALIDAD y REFLEXIOacuteN

Al buscar una forma de sistematizar la simplificacioacuten de lasfunciones en las forshymas canoacutenicas propongo un algoritmo basado en las siguientes premisas

1- Si se puede hacer que para un nuacuteshymero n de variables la computadora pueda evaluar cada uno de los minterms que podriacutean obtenerse al combinar la n variables el proceso de saber cuaacutel minterm es parte de una funcioacuten dada se convierte en un proceso de eliminacioacuten

2- Si un minterm m es parte de una funcioacuten f entonces

f=m+n+h f = mnh (19) ~fm=O

El seguir el procedimiento anterior para todos los minterms posibles no elimina un problema con que geneshyralmente se encuentran los estudianshytes la presencia de teacuterminos redundantes en la expresioacuten final es decir que algunos minterms que se han incluido dentro de la expresioacuten pueden de hecho ser absorbidos por otros

Luego si se conoce la tabla de verClad de la funcioacuten que se desea sim lificar la tabla de verdad de un minterm generado por la computadora si m es parte de f al aplicar la uacuteltima ecuacioacuten en ning uacuten caso el resultado deberaacute dar diferente de O Si en alguacuten caso el resultado es verdadero habriacutea que descartar ese minterm como parte de la ecuacioacuten final

Por ejemplo para la funcioacuten y=I( 123) la tabla de verdad resulta ser la siguiente

Tabla 2 --b A Y

o O O

O 1 1 1 O 1 1 1 1

1

Los minterms que pueden formar esta funshycioacuten seraacuten 01 a a b b ab ab ab y abo Un total de 10 teacuterminos Ya que los primeros 2 no vale la pena probarlos al probar el caso de a tendriacuteamos

Tabla 3

y A Ya iexcl O O O 1 O O O O O 1 O

Tabla 4

Como a es un minterm incluido en Y entonces todas las combinaciones de Ya daraacuten cero siempre

Para el caso de b resultaraacute distinto

y b y b 1 1 iexcl

o 1 O O O O

l O O O

Dado que al menos en un caso el resulshytado de combinacioacuten es 1 es faacutecil deducir que b no es un minterm de y

s- Una vez sistematizados todos estos pasos el resultado seraacute una expresioacuten de la forma canoacutenica reducida a su forma maacutes simple

---------------------shy

------------

UNIYIRIIDAD FRANCISCO GAYIDIA REAuoAD y REFLEXiOacuteN

D Relacioacuten con la teoriacutea de conjuntos

Si se relacionan los operadores booleanos con operaciones de conjuntos habriacutea que considera que la funcioacuten ANO corresponde a la de intercepcioacuten que la OR es la de unioacuten y que la NOT es simplemente semiddot ntildealar todo aquello que no pertenece al conjunto a que se aplica

Asiacute una graacutefica que sentildealara a un subconjunto m como incluido en un conshyjunto F seriacutea tanto como afirmar que m es un rninterm de F

u

F

Fig 2 m como un minterm de F

Toda la regioacuten dentro del universo que no pertenece a f seriacutea f

Fig 3 El conjunto de F

Si buscamos el intercepto de F y m soacutelo llegariacuteamos a un espacio vaciacuteo ya que no tienen ninguacuten espacio en comuacuten por lo tanto Se cumple el principio propuesto

Si se hubiera trabajado con un conjunto p no incluido dentro de F (una expresioacuten que no es un minterm de F) entonces la representacioacuten graacutefica seriacutea

Fig 4 P no es minterm de F pero estaacute incluido en F

Dado que p queda incluido dentro de F entonces el resultado de la intercepcioacuten seriacutea diferente a un conjunto vaciacuteo

E Implicaciones Un meacutetodo como el descrito implica proshybar una cantidad considerable de posibishylidades lo obvio es que si se sistematiza el meacutetodo cuantos maacutes minterms se prueshyben en el sistema maacutes tiempo se llevaraacute la simplificacioacuten

Cuando se trabaja con una sola variable los minterms posibles son O 1 a a Un total de 4 Para el caso de 2 variables ya se habiacutea comprobado que los minterms posibles son 10 Si se analiza un caso de 3 variables el nuacutemero total de teacuterminos posibles es de 28 Al analizar esta secuenshycia de nuacutemeros se deduce que la cantishydad de minterms al final para n variables de entrada es de 3+1

Una comprobacioacuten de esta foacutermula para un caso general partiriacutea de este principio En un caso simple de formarse un minterm con k variables de n variables de entrashyda se formariacutea un numero de combinashyciones de variables dado por

UNIVIRSIDAD RANCSCO GAVIDIA REALIDAD y REFLEXIOacuteN

(Z) (20)

Pero de cada una de estas combinaciones se puede generar una cantidad de comshybinac iones binarias de los variable s y sus correspondientes negados Esta cantidad seraacute igual a 2k

Luego la cantidad total de minterms generados con k variables de un total de n es

(21)

La sumatoria de todos los teacuterminos posishybles desde k=l hasta n da como resultashydo una expresioacuten similar a la del polinomio de Newton para la potencia de un binoshymio donde 2 es uno de los monomios y 1 el otro es decir

(22) i 2k (n) = (3) --~= (2+1) K-O k

Sin embargo como no se estaacute consideranshydo el caso de k = O entonces la cantishydad de minterms forma dos con las variashybles resulta 3-1 Con siderando los minterms que no depe nden de las variashybles de entrada es deci r O y 1 entonces la cantidad de minterms posibles seraacute 3+1

F La problemaacutetica en torno al algoritmo

Uno de los puntos de intereacutes en torno a generar una aplicacioacuten que utilice el pro shycedimiento propuesto radica en la neceshysidad de generar las tablas de verdad de minterms y a partir de alliacute seguir el proshyceso de eliminacioacuten Hay dos alternativas que pueden ser viables

1- Dado que los minterms a usar seraacuten siempre los mismos para un nuacutemero

dado de variables de entrada y sus tablas de verdad no dependen de la tabla de verdad de la funcioacuten a analishyzar entonces seriacutea factible tener almashycenadas todas estas tablas en una base de datos de la cual se consultariacutean las tablas de verdad soacutelo para llevar a cabo el procedimiento de eliminacioacuten desshycrito no con el fin de alterar en nada los resultados almacenados

2- Recurrir a Uf) proced imiento que din aacutemicamente genere las tablas de verdad en cada ocasioacuten en que haya que analizar una funcioacuten en especial

Ambas alternativas ofrecen ventajas y desventajas

a) En el primer caso habriacutea que alimenshytar los datos manualmente a la tabla de verdad y para que la aplicacioacuten tuvieshyra la capacidad de resolver funciones con 5 variables de entrada la base tenshydriacutea que tener 243 tablas de 243 minterms donde cada tabla tendriacutea 32 valores asignados De esta forma habriacutea entonces 7776 elementos binarios alshymacenados en la base de datos En otras palabras la base de datos necesitariacutea una cantidad de elementos almacenados proshyporcional a 6 elevado a la n Para una cantidad n de variables a considerar Aunque el orden de las operaciones a llevar a cabo es pequentildeo para un sisshytema informaacutetico resulta en una cantishydad enorme de datos a digitarse para almacenarse en la base

b) En el segundo caso la generacioacuten din aacutemica de las tablas de verdad implica considerar para cada variable al menos 3 condiciones posibles

i) El que la variable esteacute ausente en el minterm a analizar

--------------shy

REALIDAD y REFLEXIOacuteN UNIVERSIDAD RANCISCO GAYlDIA

ii) El que la variable esteacute presente pero deba operarse con su valor actual

iii) Que la variable esteacute presente pero deberaacute operararse siempre negada

Al final habraacute que llevar a cabo un total de (6) evaluaciones de todos los valores que pueden asumir los minterms a analishyzar El factor determinante en este caso es el tiempo maacutequina necesario para llevar a cabo todas estas evaluaciones cuando se quiera analizar una funcioacuten que dependa de un nuacutemero de variables elevado

G Meacutetodos alternativos

En este momento vale la pena preguntarshyse si no seriacutea viable buscar la forma de simplificar funciones booleanas por otros meacutetodos como el uso de una extensa base de datos en la que se buscara una forma simplificada de una funcioacuten comparaacutendoshyla con su tabla de verdad almacenada Aunque eacutesta parece una alternativa bastante simple hay que evaluar elementos imporshytantes como el tamantildeo de la base de dashytos o la magnitud del tiempo de buacutesqueshyda en la misma y sopesar esto contra las caracteriacutesticas de los meacutetodos de Martiacuten

De acuerdo a la metodologiacutea de Martin si se estima que se requieren n variables para representar una funcioacuten entonces existiraacuten 3 minterms que pueden ser parte de la funcioacuten simplificada y el proceso de simplificacioacuten propuesto eliminaraacute aqu 1I0s minterms que no pertenecen a la func ioacuten analizada y tambieacuten aquellos qu e son absorbidos por otros den tro de la misma funcioacuten El proceso implica que el pro grashyma en Visual Basic desarrolle las tablas de verdad de cada uno de los minterms y ya que en su formato maacutes simple cada tashybla de verdad estariacutea formada por 2 bits asiacute que el archivo que utilizariacutea el prograshy

ma en clisp tendriacutea un tamantildeo de 6 bits Asiacute para simplificar funciones de sistemas de 6 variables se necesitariacutea de un archishyvo de al menos 46 Kb En la praacutectica los archivos usados son maacutes grandes porque no se expresan las tablas de verdad con 1 y O sino que con los teacuterminos t y nil que son propios del lenguaje Lisp

A estas alturas vale la pena preguntarse iquestCuaacuten grande seriacutea una base de datos como sustituto al meacutetodo de Martin En primer lugar seriacutea necesario que esta base contashyra al menos con 2 campos uno con la expresioacuten algebraica de la funcioacuten en su forma maacutes simple y otro con la tabla de verdad correspondiente Obviamente el tamantildeo de cada campo depende en bueshyna medida del nuacutemero maacuteximo de variashybles que sea capaz de procesar el sistema y ello influi raacute directamente en el tamantildeo de la base de datos En segundo lugar el tamantildeo de la base de datos tambieacuten deshypende del nuacutemero de registros a contener y deberaacute con tener todas las funciones posibles que se puedan generar con n variables La cuestioacuten ahora es iquestcuaacutentas funciones pueden generarse con n variables

Para responder a la pregunta anterior hamiddot bria que recurrir a buscar cuaacutentas formas miacutenimas se pueden obtener combinando minterms o partir de otro modelo que permita llegar a la misma respuesta de una forma maacutes directa Si se utilizan las afirshymaciones de Reed y Muller de que toda funcioacuten booleana puede expresarse en forma de uno de sus polinomios si se lleshyvan a expresiones de tipo de polaridad fija la cual es su forma maacutes simple se presenshytan en formas como la siguiente

(23)

La cual seriacutea un polinomio de Reed-Muller para 2 variables En general habriacutea que

___________B

UNlVbullbullIDAD AMeIIeO GAVIDIA REALIDAD y REFLEXIOacuteN

decir que un polinomio de este tipo poshydriacutea estar formado por 2 teacuterminos Exisshytiraacuten coeficientes k cada uno de los cuashyles asumiriacutea valores de 1 oacute O asiacute que el nuacutemero de posibles combinaciones que se generariacutean es de 22 Si mediante un polinomio de Reed-Muller puede represenshytarse cualquier funcioacuten entonces el nuacutemero total de funciones distintas que se pueden generar con n variables corresponde al mismo valor de combinaciones generadas por un polinomio de Reed-Muller

Asiacute para un sistema de 6 variables se geshy264 nerariacutean funciones distintas es decir

18446J44073709551616=18xlO 6 Si a este nuacutemero corresponde el nuacutemero de registros de la base ce datos aunq e cada registro apenas ocupase un bit (que de hecho no seraacute asiacute) el tamantildeo miacutenimo de la base seriacutea de 2147483648 Gbytes

De lo anterior se deduce que la alternativa de usar un sistema de Bases de daacutefos es impraacutectica El sistema con que cuenta actualshymente no representa ni siquiera 100kbyte de consumo del disco duro ni exige maacutes allaacute de los 2MB de ram que requiere cualquier programa en Cliacutesp para funcionar

I

Donde mi n Y p son a su vez maxterms al aplicar el teorema de O Margan se tendriacutea

F=m+n+p (25)

Si se lleva a cabo la siguiente operacioacuten entonces tendriacuteamos

F+mm+m+n+p=l (26)

o simplemente

(27)

lile aquiacute se podriacutea deducir que para cualshyquier maxterm m que sea parte de una funcioacuten F deberaacute cumplirse el principio anterior Por ejemplo

Si F=II(23)

Entonces la tabla de verdad seraacute

~~

1

-Tabla 4

b a F O O O O 1 O 1 O 1

1 1 1

Erttre los posibles maxterms estaraacuten aQab (a+b) a+b) (a+b) y (a+b) Un total de 8 maxt rm sin tomar en cuenta a O con lo cual podriacutean ser un total de 9 posibles (3)

-----~

1 tomando

Tabla 5

F m F+m O 1 1

O O O O 1 1F=mnp (24)

---------------shy

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

__

REALIDAD y REFIEXlOacuteN UNIVIRSIDAD FRANCISCO OAVIDIA

Soluciones no matriciales Cabe la posibilidad entonces de buscar alternativas no matriciales que resuelvan funciones en forma de polinomios de Rced Muller Los trabajos de Per lingren de la Universidad Tecnoloacutegica de lulea en Sueshycia y los de otros plantean algunas altershynativas no matriciales

Una alternativa relativamente simple conshysiste en asumir que cada 1 en la tabla de verdad corresponde a un minterm cuya tabla de verdad soacutelo tiene un valor vershydadero Asiacute que al hacer la operacioacuten exor con cualquiera de los otros minterms no habraacute anulacioacuten de unos en el resulshytado final Usando esta loacutegica b funcioacuten que tenga mayor cantidad de 1 en su tabla de verdad resultaraacute maacutes compleja y cada minterm siempre estaraacute compuesto por combinaciones de las n variabl es que intervienen en la funcioacuten Asiacute la expreshysioacuten y=iquest(l357) corresRonderiacutea a y=cba EecbaEBcbaEBcba Aun que esta respuesshyta es vaacutelida dista de ser la maacutes senci lla de implementar en un ci rcui to y su uacutenishyca ventaja radica en que el procedimienshyto es muy simple para la computadora

Otra alternativa no matricial consiste en un meacutetodo de aproximaciones sucesivas seguacuten el cual se puede descompone r una funcioacuten basada en un polinomio de Reed Muller si se asume que cada minterm tiene una cant idad de 1 menor que la funcioacuten fina l

Bu~cando

iexcl- - - --teorem a y aprovechando el siguiente

Si y = xEBz entonces que xEeY = z

Esto llevariacutea a que siacute y es una funcioacuten compleja con una buena cantidad de 1 al hacer la operacioacuten exor con alguno de los minterms que la forman el resultado

a) Un minterm relativamente simple y faacutecil de identificar o

b) Una funcioacuten maacutes simple que y tal que tendraacute una cantidad menor de 1 en su tabla de verdad

La esencia del procedimiento consistiraacute en poder generar las tablas de verdad de todos los minterms posibles y en llevar conteo de coacutemo se reduce el nuacutemero de 1 en la funcioacuten resultante con forme se somete a prueba cada minterm

Un atajo dentro de este procedimiento consiste en asumir que si la cantidad toshytal de 1 de la funcioacuten original es mayor a la mitad de todos los valores posibles de la tabla de verdad entonces resultariacutea maacutes faacutecil trabajar con el negado de la funcioacuten original en lugar de con ella misshyma y aplicar la siguiente propiedad

1= 1 EB-iCi - (18)

En much as ocasiones el uso de este atashyjo lleva a una respuesta de tipo polaridad mixta que es mucho maacutes simple que la

Vale

que se obtiene por otros meacutetodos

la pena sentildealar que los algoritmos aplicables a Reed Muller ya fueron impleshyment ados como parte de proyecto de gradu acioacuten de Al ejandro Fabiaacuten en la Uni versidad Don Bosco (2003)

propuesta para expresiones

una alternativa que no incluya los meacutetodos tradicionales ni que esteacute reshylacionada con Jos polinomios de Reed Muller cabe la posibilidad de llegar a soluciones maacutes simples y que al no deshypender de funciones XOR resulten maacutes

seraacute en cualquier caso baratas de implementar

--------------shy

UNWbullbullbullIDAD aAHCIco OAVIDIA REALIDAD y REFLEXIOacuteN

Al buscar una forma de sistematizar la simplificacioacuten de lasfunciones en las forshymas canoacutenicas propongo un algoritmo basado en las siguientes premisas

1- Si se puede hacer que para un nuacuteshymero n de variables la computadora pueda evaluar cada uno de los minterms que podriacutean obtenerse al combinar la n variables el proceso de saber cuaacutel minterm es parte de una funcioacuten dada se convierte en un proceso de eliminacioacuten

2- Si un minterm m es parte de una funcioacuten f entonces

f=m+n+h f = mnh (19) ~fm=O

El seguir el procedimiento anterior para todos los minterms posibles no elimina un problema con que geneshyralmente se encuentran los estudianshytes la presencia de teacuterminos redundantes en la expresioacuten final es decir que algunos minterms que se han incluido dentro de la expresioacuten pueden de hecho ser absorbidos por otros

Luego si se conoce la tabla de verClad de la funcioacuten que se desea sim lificar la tabla de verdad de un minterm generado por la computadora si m es parte de f al aplicar la uacuteltima ecuacioacuten en ning uacuten caso el resultado deberaacute dar diferente de O Si en alguacuten caso el resultado es verdadero habriacutea que descartar ese minterm como parte de la ecuacioacuten final

Por ejemplo para la funcioacuten y=I( 123) la tabla de verdad resulta ser la siguiente

Tabla 2 --b A Y

o O O

O 1 1 1 O 1 1 1 1

1

Los minterms que pueden formar esta funshycioacuten seraacuten 01 a a b b ab ab ab y abo Un total de 10 teacuterminos Ya que los primeros 2 no vale la pena probarlos al probar el caso de a tendriacuteamos

Tabla 3

y A Ya iexcl O O O 1 O O O O O 1 O

Tabla 4

Como a es un minterm incluido en Y entonces todas las combinaciones de Ya daraacuten cero siempre

Para el caso de b resultaraacute distinto

y b y b 1 1 iexcl

o 1 O O O O

l O O O

Dado que al menos en un caso el resulshytado de combinacioacuten es 1 es faacutecil deducir que b no es un minterm de y

s- Una vez sistematizados todos estos pasos el resultado seraacute una expresioacuten de la forma canoacutenica reducida a su forma maacutes simple

---------------------shy

------------

UNIYIRIIDAD FRANCISCO GAYIDIA REAuoAD y REFLEXiOacuteN

D Relacioacuten con la teoriacutea de conjuntos

Si se relacionan los operadores booleanos con operaciones de conjuntos habriacutea que considera que la funcioacuten ANO corresponde a la de intercepcioacuten que la OR es la de unioacuten y que la NOT es simplemente semiddot ntildealar todo aquello que no pertenece al conjunto a que se aplica

Asiacute una graacutefica que sentildealara a un subconjunto m como incluido en un conshyjunto F seriacutea tanto como afirmar que m es un rninterm de F

u

F

Fig 2 m como un minterm de F

Toda la regioacuten dentro del universo que no pertenece a f seriacutea f

Fig 3 El conjunto de F

Si buscamos el intercepto de F y m soacutelo llegariacuteamos a un espacio vaciacuteo ya que no tienen ninguacuten espacio en comuacuten por lo tanto Se cumple el principio propuesto

Si se hubiera trabajado con un conjunto p no incluido dentro de F (una expresioacuten que no es un minterm de F) entonces la representacioacuten graacutefica seriacutea

Fig 4 P no es minterm de F pero estaacute incluido en F

Dado que p queda incluido dentro de F entonces el resultado de la intercepcioacuten seriacutea diferente a un conjunto vaciacuteo

E Implicaciones Un meacutetodo como el descrito implica proshybar una cantidad considerable de posibishylidades lo obvio es que si se sistematiza el meacutetodo cuantos maacutes minterms se prueshyben en el sistema maacutes tiempo se llevaraacute la simplificacioacuten

Cuando se trabaja con una sola variable los minterms posibles son O 1 a a Un total de 4 Para el caso de 2 variables ya se habiacutea comprobado que los minterms posibles son 10 Si se analiza un caso de 3 variables el nuacutemero total de teacuterminos posibles es de 28 Al analizar esta secuenshycia de nuacutemeros se deduce que la cantishydad de minterms al final para n variables de entrada es de 3+1

Una comprobacioacuten de esta foacutermula para un caso general partiriacutea de este principio En un caso simple de formarse un minterm con k variables de n variables de entrashyda se formariacutea un numero de combinashyciones de variables dado por

UNIVIRSIDAD RANCSCO GAVIDIA REALIDAD y REFLEXIOacuteN

(Z) (20)

Pero de cada una de estas combinaciones se puede generar una cantidad de comshybinac iones binarias de los variable s y sus correspondientes negados Esta cantidad seraacute igual a 2k

Luego la cantidad total de minterms generados con k variables de un total de n es

(21)

La sumatoria de todos los teacuterminos posishybles desde k=l hasta n da como resultashydo una expresioacuten similar a la del polinomio de Newton para la potencia de un binoshymio donde 2 es uno de los monomios y 1 el otro es decir

(22) i 2k (n) = (3) --~= (2+1) K-O k

Sin embargo como no se estaacute consideranshydo el caso de k = O entonces la cantishydad de minterms forma dos con las variashybles resulta 3-1 Con siderando los minterms que no depe nden de las variashybles de entrada es deci r O y 1 entonces la cantidad de minterms posibles seraacute 3+1

F La problemaacutetica en torno al algoritmo

Uno de los puntos de intereacutes en torno a generar una aplicacioacuten que utilice el pro shycedimiento propuesto radica en la neceshysidad de generar las tablas de verdad de minterms y a partir de alliacute seguir el proshyceso de eliminacioacuten Hay dos alternativas que pueden ser viables

1- Dado que los minterms a usar seraacuten siempre los mismos para un nuacutemero

dado de variables de entrada y sus tablas de verdad no dependen de la tabla de verdad de la funcioacuten a analishyzar entonces seriacutea factible tener almashycenadas todas estas tablas en una base de datos de la cual se consultariacutean las tablas de verdad soacutelo para llevar a cabo el procedimiento de eliminacioacuten desshycrito no con el fin de alterar en nada los resultados almacenados

2- Recurrir a Uf) proced imiento que din aacutemicamente genere las tablas de verdad en cada ocasioacuten en que haya que analizar una funcioacuten en especial

Ambas alternativas ofrecen ventajas y desventajas

a) En el primer caso habriacutea que alimenshytar los datos manualmente a la tabla de verdad y para que la aplicacioacuten tuvieshyra la capacidad de resolver funciones con 5 variables de entrada la base tenshydriacutea que tener 243 tablas de 243 minterms donde cada tabla tendriacutea 32 valores asignados De esta forma habriacutea entonces 7776 elementos binarios alshymacenados en la base de datos En otras palabras la base de datos necesitariacutea una cantidad de elementos almacenados proshyporcional a 6 elevado a la n Para una cantidad n de variables a considerar Aunque el orden de las operaciones a llevar a cabo es pequentildeo para un sisshytema informaacutetico resulta en una cantishydad enorme de datos a digitarse para almacenarse en la base

b) En el segundo caso la generacioacuten din aacutemica de las tablas de verdad implica considerar para cada variable al menos 3 condiciones posibles

i) El que la variable esteacute ausente en el minterm a analizar

--------------shy

REALIDAD y REFLEXIOacuteN UNIVERSIDAD RANCISCO GAYlDIA

ii) El que la variable esteacute presente pero deba operarse con su valor actual

iii) Que la variable esteacute presente pero deberaacute operararse siempre negada

Al final habraacute que llevar a cabo un total de (6) evaluaciones de todos los valores que pueden asumir los minterms a analishyzar El factor determinante en este caso es el tiempo maacutequina necesario para llevar a cabo todas estas evaluaciones cuando se quiera analizar una funcioacuten que dependa de un nuacutemero de variables elevado

G Meacutetodos alternativos

En este momento vale la pena preguntarshyse si no seriacutea viable buscar la forma de simplificar funciones booleanas por otros meacutetodos como el uso de una extensa base de datos en la que se buscara una forma simplificada de una funcioacuten comparaacutendoshyla con su tabla de verdad almacenada Aunque eacutesta parece una alternativa bastante simple hay que evaluar elementos imporshytantes como el tamantildeo de la base de dashytos o la magnitud del tiempo de buacutesqueshyda en la misma y sopesar esto contra las caracteriacutesticas de los meacutetodos de Martiacuten

De acuerdo a la metodologiacutea de Martin si se estima que se requieren n variables para representar una funcioacuten entonces existiraacuten 3 minterms que pueden ser parte de la funcioacuten simplificada y el proceso de simplificacioacuten propuesto eliminaraacute aqu 1I0s minterms que no pertenecen a la func ioacuten analizada y tambieacuten aquellos qu e son absorbidos por otros den tro de la misma funcioacuten El proceso implica que el pro grashyma en Visual Basic desarrolle las tablas de verdad de cada uno de los minterms y ya que en su formato maacutes simple cada tashybla de verdad estariacutea formada por 2 bits asiacute que el archivo que utilizariacutea el prograshy

ma en clisp tendriacutea un tamantildeo de 6 bits Asiacute para simplificar funciones de sistemas de 6 variables se necesitariacutea de un archishyvo de al menos 46 Kb En la praacutectica los archivos usados son maacutes grandes porque no se expresan las tablas de verdad con 1 y O sino que con los teacuterminos t y nil que son propios del lenguaje Lisp

A estas alturas vale la pena preguntarse iquestCuaacuten grande seriacutea una base de datos como sustituto al meacutetodo de Martin En primer lugar seriacutea necesario que esta base contashyra al menos con 2 campos uno con la expresioacuten algebraica de la funcioacuten en su forma maacutes simple y otro con la tabla de verdad correspondiente Obviamente el tamantildeo de cada campo depende en bueshyna medida del nuacutemero maacuteximo de variashybles que sea capaz de procesar el sistema y ello influi raacute directamente en el tamantildeo de la base de datos En segundo lugar el tamantildeo de la base de datos tambieacuten deshypende del nuacutemero de registros a contener y deberaacute con tener todas las funciones posibles que se puedan generar con n variables La cuestioacuten ahora es iquestcuaacutentas funciones pueden generarse con n variables

Para responder a la pregunta anterior hamiddot bria que recurrir a buscar cuaacutentas formas miacutenimas se pueden obtener combinando minterms o partir de otro modelo que permita llegar a la misma respuesta de una forma maacutes directa Si se utilizan las afirshymaciones de Reed y Muller de que toda funcioacuten booleana puede expresarse en forma de uno de sus polinomios si se lleshyvan a expresiones de tipo de polaridad fija la cual es su forma maacutes simple se presenshytan en formas como la siguiente

(23)

La cual seriacutea un polinomio de Reed-Muller para 2 variables En general habriacutea que

___________B

UNlVbullbullIDAD AMeIIeO GAVIDIA REALIDAD y REFLEXIOacuteN

decir que un polinomio de este tipo poshydriacutea estar formado por 2 teacuterminos Exisshytiraacuten coeficientes k cada uno de los cuashyles asumiriacutea valores de 1 oacute O asiacute que el nuacutemero de posibles combinaciones que se generariacutean es de 22 Si mediante un polinomio de Reed-Muller puede represenshytarse cualquier funcioacuten entonces el nuacutemero total de funciones distintas que se pueden generar con n variables corresponde al mismo valor de combinaciones generadas por un polinomio de Reed-Muller

Asiacute para un sistema de 6 variables se geshy264 nerariacutean funciones distintas es decir

18446J44073709551616=18xlO 6 Si a este nuacutemero corresponde el nuacutemero de registros de la base ce datos aunq e cada registro apenas ocupase un bit (que de hecho no seraacute asiacute) el tamantildeo miacutenimo de la base seriacutea de 2147483648 Gbytes

De lo anterior se deduce que la alternativa de usar un sistema de Bases de daacutefos es impraacutectica El sistema con que cuenta actualshymente no representa ni siquiera 100kbyte de consumo del disco duro ni exige maacutes allaacute de los 2MB de ram que requiere cualquier programa en Cliacutesp para funcionar

I

Donde mi n Y p son a su vez maxterms al aplicar el teorema de O Margan se tendriacutea

F=m+n+p (25)

Si se lleva a cabo la siguiente operacioacuten entonces tendriacuteamos

F+mm+m+n+p=l (26)

o simplemente

(27)

lile aquiacute se podriacutea deducir que para cualshyquier maxterm m que sea parte de una funcioacuten F deberaacute cumplirse el principio anterior Por ejemplo

Si F=II(23)

Entonces la tabla de verdad seraacute

~~

1

-Tabla 4

b a F O O O O 1 O 1 O 1

1 1 1

Erttre los posibles maxterms estaraacuten aQab (a+b) a+b) (a+b) y (a+b) Un total de 8 maxt rm sin tomar en cuenta a O con lo cual podriacutean ser un total de 9 posibles (3)

-----~

1 tomando

Tabla 5

F m F+m O 1 1

O O O O 1 1F=mnp (24)

---------------shy

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

UNWbullbullbullIDAD aAHCIco OAVIDIA REALIDAD y REFLEXIOacuteN

Al buscar una forma de sistematizar la simplificacioacuten de lasfunciones en las forshymas canoacutenicas propongo un algoritmo basado en las siguientes premisas

1- Si se puede hacer que para un nuacuteshymero n de variables la computadora pueda evaluar cada uno de los minterms que podriacutean obtenerse al combinar la n variables el proceso de saber cuaacutel minterm es parte de una funcioacuten dada se convierte en un proceso de eliminacioacuten

2- Si un minterm m es parte de una funcioacuten f entonces

f=m+n+h f = mnh (19) ~fm=O

El seguir el procedimiento anterior para todos los minterms posibles no elimina un problema con que geneshyralmente se encuentran los estudianshytes la presencia de teacuterminos redundantes en la expresioacuten final es decir que algunos minterms que se han incluido dentro de la expresioacuten pueden de hecho ser absorbidos por otros

Luego si se conoce la tabla de verClad de la funcioacuten que se desea sim lificar la tabla de verdad de un minterm generado por la computadora si m es parte de f al aplicar la uacuteltima ecuacioacuten en ning uacuten caso el resultado deberaacute dar diferente de O Si en alguacuten caso el resultado es verdadero habriacutea que descartar ese minterm como parte de la ecuacioacuten final

Por ejemplo para la funcioacuten y=I( 123) la tabla de verdad resulta ser la siguiente

Tabla 2 --b A Y

o O O

O 1 1 1 O 1 1 1 1

1

Los minterms que pueden formar esta funshycioacuten seraacuten 01 a a b b ab ab ab y abo Un total de 10 teacuterminos Ya que los primeros 2 no vale la pena probarlos al probar el caso de a tendriacuteamos

Tabla 3

y A Ya iexcl O O O 1 O O O O O 1 O

Tabla 4

Como a es un minterm incluido en Y entonces todas las combinaciones de Ya daraacuten cero siempre

Para el caso de b resultaraacute distinto

y b y b 1 1 iexcl

o 1 O O O O

l O O O

Dado que al menos en un caso el resulshytado de combinacioacuten es 1 es faacutecil deducir que b no es un minterm de y

s- Una vez sistematizados todos estos pasos el resultado seraacute una expresioacuten de la forma canoacutenica reducida a su forma maacutes simple

---------------------shy

------------

UNIYIRIIDAD FRANCISCO GAYIDIA REAuoAD y REFLEXiOacuteN

D Relacioacuten con la teoriacutea de conjuntos

Si se relacionan los operadores booleanos con operaciones de conjuntos habriacutea que considera que la funcioacuten ANO corresponde a la de intercepcioacuten que la OR es la de unioacuten y que la NOT es simplemente semiddot ntildealar todo aquello que no pertenece al conjunto a que se aplica

Asiacute una graacutefica que sentildealara a un subconjunto m como incluido en un conshyjunto F seriacutea tanto como afirmar que m es un rninterm de F

u

F

Fig 2 m como un minterm de F

Toda la regioacuten dentro del universo que no pertenece a f seriacutea f

Fig 3 El conjunto de F

Si buscamos el intercepto de F y m soacutelo llegariacuteamos a un espacio vaciacuteo ya que no tienen ninguacuten espacio en comuacuten por lo tanto Se cumple el principio propuesto

Si se hubiera trabajado con un conjunto p no incluido dentro de F (una expresioacuten que no es un minterm de F) entonces la representacioacuten graacutefica seriacutea

Fig 4 P no es minterm de F pero estaacute incluido en F

Dado que p queda incluido dentro de F entonces el resultado de la intercepcioacuten seriacutea diferente a un conjunto vaciacuteo

E Implicaciones Un meacutetodo como el descrito implica proshybar una cantidad considerable de posibishylidades lo obvio es que si se sistematiza el meacutetodo cuantos maacutes minterms se prueshyben en el sistema maacutes tiempo se llevaraacute la simplificacioacuten

Cuando se trabaja con una sola variable los minterms posibles son O 1 a a Un total de 4 Para el caso de 2 variables ya se habiacutea comprobado que los minterms posibles son 10 Si se analiza un caso de 3 variables el nuacutemero total de teacuterminos posibles es de 28 Al analizar esta secuenshycia de nuacutemeros se deduce que la cantishydad de minterms al final para n variables de entrada es de 3+1

Una comprobacioacuten de esta foacutermula para un caso general partiriacutea de este principio En un caso simple de formarse un minterm con k variables de n variables de entrashyda se formariacutea un numero de combinashyciones de variables dado por

UNIVIRSIDAD RANCSCO GAVIDIA REALIDAD y REFLEXIOacuteN

(Z) (20)

Pero de cada una de estas combinaciones se puede generar una cantidad de comshybinac iones binarias de los variable s y sus correspondientes negados Esta cantidad seraacute igual a 2k

Luego la cantidad total de minterms generados con k variables de un total de n es

(21)

La sumatoria de todos los teacuterminos posishybles desde k=l hasta n da como resultashydo una expresioacuten similar a la del polinomio de Newton para la potencia de un binoshymio donde 2 es uno de los monomios y 1 el otro es decir

(22) i 2k (n) = (3) --~= (2+1) K-O k

Sin embargo como no se estaacute consideranshydo el caso de k = O entonces la cantishydad de minterms forma dos con las variashybles resulta 3-1 Con siderando los minterms que no depe nden de las variashybles de entrada es deci r O y 1 entonces la cantidad de minterms posibles seraacute 3+1

F La problemaacutetica en torno al algoritmo

Uno de los puntos de intereacutes en torno a generar una aplicacioacuten que utilice el pro shycedimiento propuesto radica en la neceshysidad de generar las tablas de verdad de minterms y a partir de alliacute seguir el proshyceso de eliminacioacuten Hay dos alternativas que pueden ser viables

1- Dado que los minterms a usar seraacuten siempre los mismos para un nuacutemero

dado de variables de entrada y sus tablas de verdad no dependen de la tabla de verdad de la funcioacuten a analishyzar entonces seriacutea factible tener almashycenadas todas estas tablas en una base de datos de la cual se consultariacutean las tablas de verdad soacutelo para llevar a cabo el procedimiento de eliminacioacuten desshycrito no con el fin de alterar en nada los resultados almacenados

2- Recurrir a Uf) proced imiento que din aacutemicamente genere las tablas de verdad en cada ocasioacuten en que haya que analizar una funcioacuten en especial

Ambas alternativas ofrecen ventajas y desventajas

a) En el primer caso habriacutea que alimenshytar los datos manualmente a la tabla de verdad y para que la aplicacioacuten tuvieshyra la capacidad de resolver funciones con 5 variables de entrada la base tenshydriacutea que tener 243 tablas de 243 minterms donde cada tabla tendriacutea 32 valores asignados De esta forma habriacutea entonces 7776 elementos binarios alshymacenados en la base de datos En otras palabras la base de datos necesitariacutea una cantidad de elementos almacenados proshyporcional a 6 elevado a la n Para una cantidad n de variables a considerar Aunque el orden de las operaciones a llevar a cabo es pequentildeo para un sisshytema informaacutetico resulta en una cantishydad enorme de datos a digitarse para almacenarse en la base

b) En el segundo caso la generacioacuten din aacutemica de las tablas de verdad implica considerar para cada variable al menos 3 condiciones posibles

i) El que la variable esteacute ausente en el minterm a analizar

--------------shy

REALIDAD y REFLEXIOacuteN UNIVERSIDAD RANCISCO GAYlDIA

ii) El que la variable esteacute presente pero deba operarse con su valor actual

iii) Que la variable esteacute presente pero deberaacute operararse siempre negada

Al final habraacute que llevar a cabo un total de (6) evaluaciones de todos los valores que pueden asumir los minterms a analishyzar El factor determinante en este caso es el tiempo maacutequina necesario para llevar a cabo todas estas evaluaciones cuando se quiera analizar una funcioacuten que dependa de un nuacutemero de variables elevado

G Meacutetodos alternativos

En este momento vale la pena preguntarshyse si no seriacutea viable buscar la forma de simplificar funciones booleanas por otros meacutetodos como el uso de una extensa base de datos en la que se buscara una forma simplificada de una funcioacuten comparaacutendoshyla con su tabla de verdad almacenada Aunque eacutesta parece una alternativa bastante simple hay que evaluar elementos imporshytantes como el tamantildeo de la base de dashytos o la magnitud del tiempo de buacutesqueshyda en la misma y sopesar esto contra las caracteriacutesticas de los meacutetodos de Martiacuten

De acuerdo a la metodologiacutea de Martin si se estima que se requieren n variables para representar una funcioacuten entonces existiraacuten 3 minterms que pueden ser parte de la funcioacuten simplificada y el proceso de simplificacioacuten propuesto eliminaraacute aqu 1I0s minterms que no pertenecen a la func ioacuten analizada y tambieacuten aquellos qu e son absorbidos por otros den tro de la misma funcioacuten El proceso implica que el pro grashyma en Visual Basic desarrolle las tablas de verdad de cada uno de los minterms y ya que en su formato maacutes simple cada tashybla de verdad estariacutea formada por 2 bits asiacute que el archivo que utilizariacutea el prograshy

ma en clisp tendriacutea un tamantildeo de 6 bits Asiacute para simplificar funciones de sistemas de 6 variables se necesitariacutea de un archishyvo de al menos 46 Kb En la praacutectica los archivos usados son maacutes grandes porque no se expresan las tablas de verdad con 1 y O sino que con los teacuterminos t y nil que son propios del lenguaje Lisp

A estas alturas vale la pena preguntarse iquestCuaacuten grande seriacutea una base de datos como sustituto al meacutetodo de Martin En primer lugar seriacutea necesario que esta base contashyra al menos con 2 campos uno con la expresioacuten algebraica de la funcioacuten en su forma maacutes simple y otro con la tabla de verdad correspondiente Obviamente el tamantildeo de cada campo depende en bueshyna medida del nuacutemero maacuteximo de variashybles que sea capaz de procesar el sistema y ello influi raacute directamente en el tamantildeo de la base de datos En segundo lugar el tamantildeo de la base de datos tambieacuten deshypende del nuacutemero de registros a contener y deberaacute con tener todas las funciones posibles que se puedan generar con n variables La cuestioacuten ahora es iquestcuaacutentas funciones pueden generarse con n variables

Para responder a la pregunta anterior hamiddot bria que recurrir a buscar cuaacutentas formas miacutenimas se pueden obtener combinando minterms o partir de otro modelo que permita llegar a la misma respuesta de una forma maacutes directa Si se utilizan las afirshymaciones de Reed y Muller de que toda funcioacuten booleana puede expresarse en forma de uno de sus polinomios si se lleshyvan a expresiones de tipo de polaridad fija la cual es su forma maacutes simple se presenshytan en formas como la siguiente

(23)

La cual seriacutea un polinomio de Reed-Muller para 2 variables En general habriacutea que

___________B

UNlVbullbullIDAD AMeIIeO GAVIDIA REALIDAD y REFLEXIOacuteN

decir que un polinomio de este tipo poshydriacutea estar formado por 2 teacuterminos Exisshytiraacuten coeficientes k cada uno de los cuashyles asumiriacutea valores de 1 oacute O asiacute que el nuacutemero de posibles combinaciones que se generariacutean es de 22 Si mediante un polinomio de Reed-Muller puede represenshytarse cualquier funcioacuten entonces el nuacutemero total de funciones distintas que se pueden generar con n variables corresponde al mismo valor de combinaciones generadas por un polinomio de Reed-Muller

Asiacute para un sistema de 6 variables se geshy264 nerariacutean funciones distintas es decir

18446J44073709551616=18xlO 6 Si a este nuacutemero corresponde el nuacutemero de registros de la base ce datos aunq e cada registro apenas ocupase un bit (que de hecho no seraacute asiacute) el tamantildeo miacutenimo de la base seriacutea de 2147483648 Gbytes

De lo anterior se deduce que la alternativa de usar un sistema de Bases de daacutefos es impraacutectica El sistema con que cuenta actualshymente no representa ni siquiera 100kbyte de consumo del disco duro ni exige maacutes allaacute de los 2MB de ram que requiere cualquier programa en Cliacutesp para funcionar

I

Donde mi n Y p son a su vez maxterms al aplicar el teorema de O Margan se tendriacutea

F=m+n+p (25)

Si se lleva a cabo la siguiente operacioacuten entonces tendriacuteamos

F+mm+m+n+p=l (26)

o simplemente

(27)

lile aquiacute se podriacutea deducir que para cualshyquier maxterm m que sea parte de una funcioacuten F deberaacute cumplirse el principio anterior Por ejemplo

Si F=II(23)

Entonces la tabla de verdad seraacute

~~

1

-Tabla 4

b a F O O O O 1 O 1 O 1

1 1 1

Erttre los posibles maxterms estaraacuten aQab (a+b) a+b) (a+b) y (a+b) Un total de 8 maxt rm sin tomar en cuenta a O con lo cual podriacutean ser un total de 9 posibles (3)

-----~

1 tomando

Tabla 5

F m F+m O 1 1

O O O O 1 1F=mnp (24)

---------------shy

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

------------

UNIYIRIIDAD FRANCISCO GAYIDIA REAuoAD y REFLEXiOacuteN

D Relacioacuten con la teoriacutea de conjuntos

Si se relacionan los operadores booleanos con operaciones de conjuntos habriacutea que considera que la funcioacuten ANO corresponde a la de intercepcioacuten que la OR es la de unioacuten y que la NOT es simplemente semiddot ntildealar todo aquello que no pertenece al conjunto a que se aplica

Asiacute una graacutefica que sentildealara a un subconjunto m como incluido en un conshyjunto F seriacutea tanto como afirmar que m es un rninterm de F

u

F

Fig 2 m como un minterm de F

Toda la regioacuten dentro del universo que no pertenece a f seriacutea f

Fig 3 El conjunto de F

Si buscamos el intercepto de F y m soacutelo llegariacuteamos a un espacio vaciacuteo ya que no tienen ninguacuten espacio en comuacuten por lo tanto Se cumple el principio propuesto

Si se hubiera trabajado con un conjunto p no incluido dentro de F (una expresioacuten que no es un minterm de F) entonces la representacioacuten graacutefica seriacutea

Fig 4 P no es minterm de F pero estaacute incluido en F

Dado que p queda incluido dentro de F entonces el resultado de la intercepcioacuten seriacutea diferente a un conjunto vaciacuteo

E Implicaciones Un meacutetodo como el descrito implica proshybar una cantidad considerable de posibishylidades lo obvio es que si se sistematiza el meacutetodo cuantos maacutes minterms se prueshyben en el sistema maacutes tiempo se llevaraacute la simplificacioacuten

Cuando se trabaja con una sola variable los minterms posibles son O 1 a a Un total de 4 Para el caso de 2 variables ya se habiacutea comprobado que los minterms posibles son 10 Si se analiza un caso de 3 variables el nuacutemero total de teacuterminos posibles es de 28 Al analizar esta secuenshycia de nuacutemeros se deduce que la cantishydad de minterms al final para n variables de entrada es de 3+1

Una comprobacioacuten de esta foacutermula para un caso general partiriacutea de este principio En un caso simple de formarse un minterm con k variables de n variables de entrashyda se formariacutea un numero de combinashyciones de variables dado por

UNIVIRSIDAD RANCSCO GAVIDIA REALIDAD y REFLEXIOacuteN

(Z) (20)

Pero de cada una de estas combinaciones se puede generar una cantidad de comshybinac iones binarias de los variable s y sus correspondientes negados Esta cantidad seraacute igual a 2k

Luego la cantidad total de minterms generados con k variables de un total de n es

(21)

La sumatoria de todos los teacuterminos posishybles desde k=l hasta n da como resultashydo una expresioacuten similar a la del polinomio de Newton para la potencia de un binoshymio donde 2 es uno de los monomios y 1 el otro es decir

(22) i 2k (n) = (3) --~= (2+1) K-O k

Sin embargo como no se estaacute consideranshydo el caso de k = O entonces la cantishydad de minterms forma dos con las variashybles resulta 3-1 Con siderando los minterms que no depe nden de las variashybles de entrada es deci r O y 1 entonces la cantidad de minterms posibles seraacute 3+1

F La problemaacutetica en torno al algoritmo

Uno de los puntos de intereacutes en torno a generar una aplicacioacuten que utilice el pro shycedimiento propuesto radica en la neceshysidad de generar las tablas de verdad de minterms y a partir de alliacute seguir el proshyceso de eliminacioacuten Hay dos alternativas que pueden ser viables

1- Dado que los minterms a usar seraacuten siempre los mismos para un nuacutemero

dado de variables de entrada y sus tablas de verdad no dependen de la tabla de verdad de la funcioacuten a analishyzar entonces seriacutea factible tener almashycenadas todas estas tablas en una base de datos de la cual se consultariacutean las tablas de verdad soacutelo para llevar a cabo el procedimiento de eliminacioacuten desshycrito no con el fin de alterar en nada los resultados almacenados

2- Recurrir a Uf) proced imiento que din aacutemicamente genere las tablas de verdad en cada ocasioacuten en que haya que analizar una funcioacuten en especial

Ambas alternativas ofrecen ventajas y desventajas

a) En el primer caso habriacutea que alimenshytar los datos manualmente a la tabla de verdad y para que la aplicacioacuten tuvieshyra la capacidad de resolver funciones con 5 variables de entrada la base tenshydriacutea que tener 243 tablas de 243 minterms donde cada tabla tendriacutea 32 valores asignados De esta forma habriacutea entonces 7776 elementos binarios alshymacenados en la base de datos En otras palabras la base de datos necesitariacutea una cantidad de elementos almacenados proshyporcional a 6 elevado a la n Para una cantidad n de variables a considerar Aunque el orden de las operaciones a llevar a cabo es pequentildeo para un sisshytema informaacutetico resulta en una cantishydad enorme de datos a digitarse para almacenarse en la base

b) En el segundo caso la generacioacuten din aacutemica de las tablas de verdad implica considerar para cada variable al menos 3 condiciones posibles

i) El que la variable esteacute ausente en el minterm a analizar

--------------shy

REALIDAD y REFLEXIOacuteN UNIVERSIDAD RANCISCO GAYlDIA

ii) El que la variable esteacute presente pero deba operarse con su valor actual

iii) Que la variable esteacute presente pero deberaacute operararse siempre negada

Al final habraacute que llevar a cabo un total de (6) evaluaciones de todos los valores que pueden asumir los minterms a analishyzar El factor determinante en este caso es el tiempo maacutequina necesario para llevar a cabo todas estas evaluaciones cuando se quiera analizar una funcioacuten que dependa de un nuacutemero de variables elevado

G Meacutetodos alternativos

En este momento vale la pena preguntarshyse si no seriacutea viable buscar la forma de simplificar funciones booleanas por otros meacutetodos como el uso de una extensa base de datos en la que se buscara una forma simplificada de una funcioacuten comparaacutendoshyla con su tabla de verdad almacenada Aunque eacutesta parece una alternativa bastante simple hay que evaluar elementos imporshytantes como el tamantildeo de la base de dashytos o la magnitud del tiempo de buacutesqueshyda en la misma y sopesar esto contra las caracteriacutesticas de los meacutetodos de Martiacuten

De acuerdo a la metodologiacutea de Martin si se estima que se requieren n variables para representar una funcioacuten entonces existiraacuten 3 minterms que pueden ser parte de la funcioacuten simplificada y el proceso de simplificacioacuten propuesto eliminaraacute aqu 1I0s minterms que no pertenecen a la func ioacuten analizada y tambieacuten aquellos qu e son absorbidos por otros den tro de la misma funcioacuten El proceso implica que el pro grashyma en Visual Basic desarrolle las tablas de verdad de cada uno de los minterms y ya que en su formato maacutes simple cada tashybla de verdad estariacutea formada por 2 bits asiacute que el archivo que utilizariacutea el prograshy

ma en clisp tendriacutea un tamantildeo de 6 bits Asiacute para simplificar funciones de sistemas de 6 variables se necesitariacutea de un archishyvo de al menos 46 Kb En la praacutectica los archivos usados son maacutes grandes porque no se expresan las tablas de verdad con 1 y O sino que con los teacuterminos t y nil que son propios del lenguaje Lisp

A estas alturas vale la pena preguntarse iquestCuaacuten grande seriacutea una base de datos como sustituto al meacutetodo de Martin En primer lugar seriacutea necesario que esta base contashyra al menos con 2 campos uno con la expresioacuten algebraica de la funcioacuten en su forma maacutes simple y otro con la tabla de verdad correspondiente Obviamente el tamantildeo de cada campo depende en bueshyna medida del nuacutemero maacuteximo de variashybles que sea capaz de procesar el sistema y ello influi raacute directamente en el tamantildeo de la base de datos En segundo lugar el tamantildeo de la base de datos tambieacuten deshypende del nuacutemero de registros a contener y deberaacute con tener todas las funciones posibles que se puedan generar con n variables La cuestioacuten ahora es iquestcuaacutentas funciones pueden generarse con n variables

Para responder a la pregunta anterior hamiddot bria que recurrir a buscar cuaacutentas formas miacutenimas se pueden obtener combinando minterms o partir de otro modelo que permita llegar a la misma respuesta de una forma maacutes directa Si se utilizan las afirshymaciones de Reed y Muller de que toda funcioacuten booleana puede expresarse en forma de uno de sus polinomios si se lleshyvan a expresiones de tipo de polaridad fija la cual es su forma maacutes simple se presenshytan en formas como la siguiente

(23)

La cual seriacutea un polinomio de Reed-Muller para 2 variables En general habriacutea que

___________B

UNlVbullbullIDAD AMeIIeO GAVIDIA REALIDAD y REFLEXIOacuteN

decir que un polinomio de este tipo poshydriacutea estar formado por 2 teacuterminos Exisshytiraacuten coeficientes k cada uno de los cuashyles asumiriacutea valores de 1 oacute O asiacute que el nuacutemero de posibles combinaciones que se generariacutean es de 22 Si mediante un polinomio de Reed-Muller puede represenshytarse cualquier funcioacuten entonces el nuacutemero total de funciones distintas que se pueden generar con n variables corresponde al mismo valor de combinaciones generadas por un polinomio de Reed-Muller

Asiacute para un sistema de 6 variables se geshy264 nerariacutean funciones distintas es decir

18446J44073709551616=18xlO 6 Si a este nuacutemero corresponde el nuacutemero de registros de la base ce datos aunq e cada registro apenas ocupase un bit (que de hecho no seraacute asiacute) el tamantildeo miacutenimo de la base seriacutea de 2147483648 Gbytes

De lo anterior se deduce que la alternativa de usar un sistema de Bases de daacutefos es impraacutectica El sistema con que cuenta actualshymente no representa ni siquiera 100kbyte de consumo del disco duro ni exige maacutes allaacute de los 2MB de ram que requiere cualquier programa en Cliacutesp para funcionar

I

Donde mi n Y p son a su vez maxterms al aplicar el teorema de O Margan se tendriacutea

F=m+n+p (25)

Si se lleva a cabo la siguiente operacioacuten entonces tendriacuteamos

F+mm+m+n+p=l (26)

o simplemente

(27)

lile aquiacute se podriacutea deducir que para cualshyquier maxterm m que sea parte de una funcioacuten F deberaacute cumplirse el principio anterior Por ejemplo

Si F=II(23)

Entonces la tabla de verdad seraacute

~~

1

-Tabla 4

b a F O O O O 1 O 1 O 1

1 1 1

Erttre los posibles maxterms estaraacuten aQab (a+b) a+b) (a+b) y (a+b) Un total de 8 maxt rm sin tomar en cuenta a O con lo cual podriacutean ser un total de 9 posibles (3)

-----~

1 tomando

Tabla 5

F m F+m O 1 1

O O O O 1 1F=mnp (24)

---------------shy

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

UNIVIRSIDAD RANCSCO GAVIDIA REALIDAD y REFLEXIOacuteN

(Z) (20)

Pero de cada una de estas combinaciones se puede generar una cantidad de comshybinac iones binarias de los variable s y sus correspondientes negados Esta cantidad seraacute igual a 2k

Luego la cantidad total de minterms generados con k variables de un total de n es

(21)

La sumatoria de todos los teacuterminos posishybles desde k=l hasta n da como resultashydo una expresioacuten similar a la del polinomio de Newton para la potencia de un binoshymio donde 2 es uno de los monomios y 1 el otro es decir

(22) i 2k (n) = (3) --~= (2+1) K-O k

Sin embargo como no se estaacute consideranshydo el caso de k = O entonces la cantishydad de minterms forma dos con las variashybles resulta 3-1 Con siderando los minterms que no depe nden de las variashybles de entrada es deci r O y 1 entonces la cantidad de minterms posibles seraacute 3+1

F La problemaacutetica en torno al algoritmo

Uno de los puntos de intereacutes en torno a generar una aplicacioacuten que utilice el pro shycedimiento propuesto radica en la neceshysidad de generar las tablas de verdad de minterms y a partir de alliacute seguir el proshyceso de eliminacioacuten Hay dos alternativas que pueden ser viables

1- Dado que los minterms a usar seraacuten siempre los mismos para un nuacutemero

dado de variables de entrada y sus tablas de verdad no dependen de la tabla de verdad de la funcioacuten a analishyzar entonces seriacutea factible tener almashycenadas todas estas tablas en una base de datos de la cual se consultariacutean las tablas de verdad soacutelo para llevar a cabo el procedimiento de eliminacioacuten desshycrito no con el fin de alterar en nada los resultados almacenados

2- Recurrir a Uf) proced imiento que din aacutemicamente genere las tablas de verdad en cada ocasioacuten en que haya que analizar una funcioacuten en especial

Ambas alternativas ofrecen ventajas y desventajas

a) En el primer caso habriacutea que alimenshytar los datos manualmente a la tabla de verdad y para que la aplicacioacuten tuvieshyra la capacidad de resolver funciones con 5 variables de entrada la base tenshydriacutea que tener 243 tablas de 243 minterms donde cada tabla tendriacutea 32 valores asignados De esta forma habriacutea entonces 7776 elementos binarios alshymacenados en la base de datos En otras palabras la base de datos necesitariacutea una cantidad de elementos almacenados proshyporcional a 6 elevado a la n Para una cantidad n de variables a considerar Aunque el orden de las operaciones a llevar a cabo es pequentildeo para un sisshytema informaacutetico resulta en una cantishydad enorme de datos a digitarse para almacenarse en la base

b) En el segundo caso la generacioacuten din aacutemica de las tablas de verdad implica considerar para cada variable al menos 3 condiciones posibles

i) El que la variable esteacute ausente en el minterm a analizar

--------------shy

REALIDAD y REFLEXIOacuteN UNIVERSIDAD RANCISCO GAYlDIA

ii) El que la variable esteacute presente pero deba operarse con su valor actual

iii) Que la variable esteacute presente pero deberaacute operararse siempre negada

Al final habraacute que llevar a cabo un total de (6) evaluaciones de todos los valores que pueden asumir los minterms a analishyzar El factor determinante en este caso es el tiempo maacutequina necesario para llevar a cabo todas estas evaluaciones cuando se quiera analizar una funcioacuten que dependa de un nuacutemero de variables elevado

G Meacutetodos alternativos

En este momento vale la pena preguntarshyse si no seriacutea viable buscar la forma de simplificar funciones booleanas por otros meacutetodos como el uso de una extensa base de datos en la que se buscara una forma simplificada de una funcioacuten comparaacutendoshyla con su tabla de verdad almacenada Aunque eacutesta parece una alternativa bastante simple hay que evaluar elementos imporshytantes como el tamantildeo de la base de dashytos o la magnitud del tiempo de buacutesqueshyda en la misma y sopesar esto contra las caracteriacutesticas de los meacutetodos de Martiacuten

De acuerdo a la metodologiacutea de Martin si se estima que se requieren n variables para representar una funcioacuten entonces existiraacuten 3 minterms que pueden ser parte de la funcioacuten simplificada y el proceso de simplificacioacuten propuesto eliminaraacute aqu 1I0s minterms que no pertenecen a la func ioacuten analizada y tambieacuten aquellos qu e son absorbidos por otros den tro de la misma funcioacuten El proceso implica que el pro grashyma en Visual Basic desarrolle las tablas de verdad de cada uno de los minterms y ya que en su formato maacutes simple cada tashybla de verdad estariacutea formada por 2 bits asiacute que el archivo que utilizariacutea el prograshy

ma en clisp tendriacutea un tamantildeo de 6 bits Asiacute para simplificar funciones de sistemas de 6 variables se necesitariacutea de un archishyvo de al menos 46 Kb En la praacutectica los archivos usados son maacutes grandes porque no se expresan las tablas de verdad con 1 y O sino que con los teacuterminos t y nil que son propios del lenguaje Lisp

A estas alturas vale la pena preguntarse iquestCuaacuten grande seriacutea una base de datos como sustituto al meacutetodo de Martin En primer lugar seriacutea necesario que esta base contashyra al menos con 2 campos uno con la expresioacuten algebraica de la funcioacuten en su forma maacutes simple y otro con la tabla de verdad correspondiente Obviamente el tamantildeo de cada campo depende en bueshyna medida del nuacutemero maacuteximo de variashybles que sea capaz de procesar el sistema y ello influi raacute directamente en el tamantildeo de la base de datos En segundo lugar el tamantildeo de la base de datos tambieacuten deshypende del nuacutemero de registros a contener y deberaacute con tener todas las funciones posibles que se puedan generar con n variables La cuestioacuten ahora es iquestcuaacutentas funciones pueden generarse con n variables

Para responder a la pregunta anterior hamiddot bria que recurrir a buscar cuaacutentas formas miacutenimas se pueden obtener combinando minterms o partir de otro modelo que permita llegar a la misma respuesta de una forma maacutes directa Si se utilizan las afirshymaciones de Reed y Muller de que toda funcioacuten booleana puede expresarse en forma de uno de sus polinomios si se lleshyvan a expresiones de tipo de polaridad fija la cual es su forma maacutes simple se presenshytan en formas como la siguiente

(23)

La cual seriacutea un polinomio de Reed-Muller para 2 variables En general habriacutea que

___________B

UNlVbullbullIDAD AMeIIeO GAVIDIA REALIDAD y REFLEXIOacuteN

decir que un polinomio de este tipo poshydriacutea estar formado por 2 teacuterminos Exisshytiraacuten coeficientes k cada uno de los cuashyles asumiriacutea valores de 1 oacute O asiacute que el nuacutemero de posibles combinaciones que se generariacutean es de 22 Si mediante un polinomio de Reed-Muller puede represenshytarse cualquier funcioacuten entonces el nuacutemero total de funciones distintas que se pueden generar con n variables corresponde al mismo valor de combinaciones generadas por un polinomio de Reed-Muller

Asiacute para un sistema de 6 variables se geshy264 nerariacutean funciones distintas es decir

18446J44073709551616=18xlO 6 Si a este nuacutemero corresponde el nuacutemero de registros de la base ce datos aunq e cada registro apenas ocupase un bit (que de hecho no seraacute asiacute) el tamantildeo miacutenimo de la base seriacutea de 2147483648 Gbytes

De lo anterior se deduce que la alternativa de usar un sistema de Bases de daacutefos es impraacutectica El sistema con que cuenta actualshymente no representa ni siquiera 100kbyte de consumo del disco duro ni exige maacutes allaacute de los 2MB de ram que requiere cualquier programa en Cliacutesp para funcionar

I

Donde mi n Y p son a su vez maxterms al aplicar el teorema de O Margan se tendriacutea

F=m+n+p (25)

Si se lleva a cabo la siguiente operacioacuten entonces tendriacuteamos

F+mm+m+n+p=l (26)

o simplemente

(27)

lile aquiacute se podriacutea deducir que para cualshyquier maxterm m que sea parte de una funcioacuten F deberaacute cumplirse el principio anterior Por ejemplo

Si F=II(23)

Entonces la tabla de verdad seraacute

~~

1

-Tabla 4

b a F O O O O 1 O 1 O 1

1 1 1

Erttre los posibles maxterms estaraacuten aQab (a+b) a+b) (a+b) y (a+b) Un total de 8 maxt rm sin tomar en cuenta a O con lo cual podriacutean ser un total de 9 posibles (3)

-----~

1 tomando

Tabla 5

F m F+m O 1 1

O O O O 1 1F=mnp (24)

---------------shy

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

REALIDAD y REFLEXIOacuteN UNIVERSIDAD RANCISCO GAYlDIA

ii) El que la variable esteacute presente pero deba operarse con su valor actual

iii) Que la variable esteacute presente pero deberaacute operararse siempre negada

Al final habraacute que llevar a cabo un total de (6) evaluaciones de todos los valores que pueden asumir los minterms a analishyzar El factor determinante en este caso es el tiempo maacutequina necesario para llevar a cabo todas estas evaluaciones cuando se quiera analizar una funcioacuten que dependa de un nuacutemero de variables elevado

G Meacutetodos alternativos

En este momento vale la pena preguntarshyse si no seriacutea viable buscar la forma de simplificar funciones booleanas por otros meacutetodos como el uso de una extensa base de datos en la que se buscara una forma simplificada de una funcioacuten comparaacutendoshyla con su tabla de verdad almacenada Aunque eacutesta parece una alternativa bastante simple hay que evaluar elementos imporshytantes como el tamantildeo de la base de dashytos o la magnitud del tiempo de buacutesqueshyda en la misma y sopesar esto contra las caracteriacutesticas de los meacutetodos de Martiacuten

De acuerdo a la metodologiacutea de Martin si se estima que se requieren n variables para representar una funcioacuten entonces existiraacuten 3 minterms que pueden ser parte de la funcioacuten simplificada y el proceso de simplificacioacuten propuesto eliminaraacute aqu 1I0s minterms que no pertenecen a la func ioacuten analizada y tambieacuten aquellos qu e son absorbidos por otros den tro de la misma funcioacuten El proceso implica que el pro grashyma en Visual Basic desarrolle las tablas de verdad de cada uno de los minterms y ya que en su formato maacutes simple cada tashybla de verdad estariacutea formada por 2 bits asiacute que el archivo que utilizariacutea el prograshy

ma en clisp tendriacutea un tamantildeo de 6 bits Asiacute para simplificar funciones de sistemas de 6 variables se necesitariacutea de un archishyvo de al menos 46 Kb En la praacutectica los archivos usados son maacutes grandes porque no se expresan las tablas de verdad con 1 y O sino que con los teacuterminos t y nil que son propios del lenguaje Lisp

A estas alturas vale la pena preguntarse iquestCuaacuten grande seriacutea una base de datos como sustituto al meacutetodo de Martin En primer lugar seriacutea necesario que esta base contashyra al menos con 2 campos uno con la expresioacuten algebraica de la funcioacuten en su forma maacutes simple y otro con la tabla de verdad correspondiente Obviamente el tamantildeo de cada campo depende en bueshyna medida del nuacutemero maacuteximo de variashybles que sea capaz de procesar el sistema y ello influi raacute directamente en el tamantildeo de la base de datos En segundo lugar el tamantildeo de la base de datos tambieacuten deshypende del nuacutemero de registros a contener y deberaacute con tener todas las funciones posibles que se puedan generar con n variables La cuestioacuten ahora es iquestcuaacutentas funciones pueden generarse con n variables

Para responder a la pregunta anterior hamiddot bria que recurrir a buscar cuaacutentas formas miacutenimas se pueden obtener combinando minterms o partir de otro modelo que permita llegar a la misma respuesta de una forma maacutes directa Si se utilizan las afirshymaciones de Reed y Muller de que toda funcioacuten booleana puede expresarse en forma de uno de sus polinomios si se lleshyvan a expresiones de tipo de polaridad fija la cual es su forma maacutes simple se presenshytan en formas como la siguiente

(23)

La cual seriacutea un polinomio de Reed-Muller para 2 variables En general habriacutea que

___________B

UNlVbullbullIDAD AMeIIeO GAVIDIA REALIDAD y REFLEXIOacuteN

decir que un polinomio de este tipo poshydriacutea estar formado por 2 teacuterminos Exisshytiraacuten coeficientes k cada uno de los cuashyles asumiriacutea valores de 1 oacute O asiacute que el nuacutemero de posibles combinaciones que se generariacutean es de 22 Si mediante un polinomio de Reed-Muller puede represenshytarse cualquier funcioacuten entonces el nuacutemero total de funciones distintas que se pueden generar con n variables corresponde al mismo valor de combinaciones generadas por un polinomio de Reed-Muller

Asiacute para un sistema de 6 variables se geshy264 nerariacutean funciones distintas es decir

18446J44073709551616=18xlO 6 Si a este nuacutemero corresponde el nuacutemero de registros de la base ce datos aunq e cada registro apenas ocupase un bit (que de hecho no seraacute asiacute) el tamantildeo miacutenimo de la base seriacutea de 2147483648 Gbytes

De lo anterior se deduce que la alternativa de usar un sistema de Bases de daacutefos es impraacutectica El sistema con que cuenta actualshymente no representa ni siquiera 100kbyte de consumo del disco duro ni exige maacutes allaacute de los 2MB de ram que requiere cualquier programa en Cliacutesp para funcionar

I

Donde mi n Y p son a su vez maxterms al aplicar el teorema de O Margan se tendriacutea

F=m+n+p (25)

Si se lleva a cabo la siguiente operacioacuten entonces tendriacuteamos

F+mm+m+n+p=l (26)

o simplemente

(27)

lile aquiacute se podriacutea deducir que para cualshyquier maxterm m que sea parte de una funcioacuten F deberaacute cumplirse el principio anterior Por ejemplo

Si F=II(23)

Entonces la tabla de verdad seraacute

~~

1

-Tabla 4

b a F O O O O 1 O 1 O 1

1 1 1

Erttre los posibles maxterms estaraacuten aQab (a+b) a+b) (a+b) y (a+b) Un total de 8 maxt rm sin tomar en cuenta a O con lo cual podriacutean ser un total de 9 posibles (3)

-----~

1 tomando

Tabla 5

F m F+m O 1 1

O O O O 1 1F=mnp (24)

---------------shy

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

UNlVbullbullIDAD AMeIIeO GAVIDIA REALIDAD y REFLEXIOacuteN

decir que un polinomio de este tipo poshydriacutea estar formado por 2 teacuterminos Exisshytiraacuten coeficientes k cada uno de los cuashyles asumiriacutea valores de 1 oacute O asiacute que el nuacutemero de posibles combinaciones que se generariacutean es de 22 Si mediante un polinomio de Reed-Muller puede represenshytarse cualquier funcioacuten entonces el nuacutemero total de funciones distintas que se pueden generar con n variables corresponde al mismo valor de combinaciones generadas por un polinomio de Reed-Muller

Asiacute para un sistema de 6 variables se geshy264 nerariacutean funciones distintas es decir

18446J44073709551616=18xlO 6 Si a este nuacutemero corresponde el nuacutemero de registros de la base ce datos aunq e cada registro apenas ocupase un bit (que de hecho no seraacute asiacute) el tamantildeo miacutenimo de la base seriacutea de 2147483648 Gbytes

De lo anterior se deduce que la alternativa de usar un sistema de Bases de daacutefos es impraacutectica El sistema con que cuenta actualshymente no representa ni siquiera 100kbyte de consumo del disco duro ni exige maacutes allaacute de los 2MB de ram que requiere cualquier programa en Cliacutesp para funcionar

I

Donde mi n Y p son a su vez maxterms al aplicar el teorema de O Margan se tendriacutea

F=m+n+p (25)

Si se lleva a cabo la siguiente operacioacuten entonces tendriacuteamos

F+mm+m+n+p=l (26)

o simplemente

(27)

lile aquiacute se podriacutea deducir que para cualshyquier maxterm m que sea parte de una funcioacuten F deberaacute cumplirse el principio anterior Por ejemplo

Si F=II(23)

Entonces la tabla de verdad seraacute

~~

1

-Tabla 4

b a F O O O O 1 O 1 O 1

1 1 1

Erttre los posibles maxterms estaraacuten aQab (a+b) a+b) (a+b) y (a+b) Un total de 8 maxt rm sin tomar en cuenta a O con lo cual podriacutean ser un total de 9 posibles (3)

-----~

1 tomando

Tabla 5

F m F+m O 1 1

O O O O 1 1F=mnp (24)

---------------shy

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

----------------

REALIDAD y REFLEXiOacuteN UHIVIUIDAD bullbullAMelseo GAVlDIA

Se observa que en un caso en especial el resultado no es 1 por lo tanto a no es un maxterm de la funcioacuten F

Si por otra parte se prueba lo mismo con b se puede observar un resultado diferente

Tabla 6

F m F+m

1 O 1

1 O 1

O 1 1

O 1 1

De ahiacute se deduciraacute que para b si es un maxterm de F Asiacute pues si m es un maxterm de F se cumpliraacute que

F+m=l (28)

o aplicando el teorema de DeMorgan

Fm=O (29)

l El meacutetodo complementario desde el punshyto de vista de la teoriacutea de conjuntos

Si relacionamos los operadores booleanos con las operaciones de conjunto tal como shyse sentildealoacute en el apartado B Una funcioacuten expresada en forma de maxterms seriacutea el equivalente a la intercepcioacuten de dos o maacutes conjuntos Asiacute F=mn se presentariacutea graacutefi shycamente como

Fig 5 m como un maxterm de F

Mientras que m corresponderiacutea a todo lo que fuera del con junto m

Fig 6 El conjunto de m

Cuando se busca la intercepcioacuten de F y m lo que se consigue es un conjunto vaciacuteo lo cual concuerda con Jo que hashybiacutea planteado anteriormente

J Problemaacuteticas adicionales

Hasta ahora se ha partido de que se puede aplicar los meacutetodos propuestos de la premisa de que es posible llevar a cabo las operaciones sentildealadas entre la tabla de verdad de la funcioacuten a simplishyficar y todas las otras posibles tablas de verdad de los minterms o maxterms que deban evaluarse para el sistema Sin embargo hay varias interrogantes a aclashyrar iquestCuaacutentas variables son las necesarias para simplificar una determinada funcioacuten [C oacutemo se generaraacuten los 3 minterms iquestCoacutemo se generaraacuten las tablas de verdad de los minterms

La primera dificultad es la maacutes simple de resolver y es similar al problema del nuacuteshymero de bits necesarios para representar una serie de siacutembolos La diferencia rashydical estaacute en que en este caso la cantishydad de bits no seraacute funcioacuten del nuacutemero total de siacutembolos sino del valor del nuacuteshymero mayor dentro del conjunto de nuacuteshymeros en la representacioacuten de la funcioacuten como una sumatoria

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

UNIVbullbullbullIDAD RANClICO GAVIDIA REALIDAD y REFLEXIOacuteN

Asiacute para y=I( 13 57) nmax=7

Se aplicariacutea la foacutermula

(iexclog(n max~ b=1+rnt log2 J (30)

Donde la funcioacuten int corresponderiacutea al entero menor del valor de la expresioacuten entre pareacutentesis Esta expresioacuten es bien conocida como el Id2 por los estudiantes de Teoriacutea de informacioacuten

La siguiente dificultad como obtener los 3n minterms no deberiacutea ser mayor dificulshytad de no ser por

No se estaacute recurriendo a minterms ya preshyviamente almacenados sino a un meacutetodo para generarlos dinaacutemicamente en funcioacuten al nuacutemero b de variables involucradas en cada caso

Es maacutes faacutecil para la co mputadora trabajar con un coacutedigo numeacuterico representativo de cada mister a tener que trabajar con exshypresiones algebraicas

Como una forma de afrontar este tipo He problema se debe recurrir a lo que se conoce como un coacutedigo ternario es deshycir un sistema numeacuterico basado en tres siacutembolos representativos En un sistema ternario se necesitariacutean n cifras para represhysentar a cada uno de los 3n minterms Se seguiriacutea la siguiente conve ncioacuten

t

a) Cada posicioacuten dentro de la expresioacuten ternaria estaacute relacionada con una de las variables a intervenir dentro del minterm

b) Un valor de O en una posicioacuten indishyca que la variable correspondiente estaraacute negada I

e) Un valor de 1 en una posicioacuten indishyca que la variable correspondiente se tomaraacute con su valor sin alterar

d) Un valor de 2 en una posicioacuten indi shyca que esa variable no es parte de ese minterm en particular asiacute que no importa queacute valor tome

Siguiendo esta loacutegica en un sistema de 3 variables el minterm ba se representariacutea por 201 Y el minterm c por 122 Para el siacutemshybolo 222 el cual indicariacutea el minterm es vershydadero independientemente de las variables soacutelo cabe la posibilidad de que sea l

De lo planteado la rutina para la generashycioacuten de los minterms se limitaraacute a iniciar un conteo de los nuacutemeros de O a 3n -1 Cada valor del contador es convertido a c oacutedigo ternario y luego cada coacuted igo es almacenashydo junto con su equivalente algebraico

El tipo de representacioacuten planteado pueshyde extenderse para expresar maxterms Ya que despueacutes de todo para n variables existiraacuten 3n maxterms

La uacuteltima dificultad es decir la de evashyluar la tabla de verdad de cada minterm involucra partir de los valores ternarios alshymacenado s para cada minterm Cada tashybla de verdad a evaluar tiene 2n posicioshynes den tro de ella misma aacute considerar coshyrrespondientes a todas las combinaciones binarias de las n variaacutebles De ahiacute que se recurra al ~s o de un contador que asushyme valores enteros entre O y 2n 1 cada valor es convertido a un coacutedigo binario y cada bit es interpretado de acuerdo a la configuracioacuten de nuacutemeros ternarios que representar al minterm a evaluar Si el bit de una variable es O para un valor binario y hay un 1 ternario en la posicioacuten de esa variable la posicioacuten en la tabla de verdad pasaraacute a ser O Si el bit de una variabl~ es 1 para un valor binario y hay un O ternario en la posicioacuten de esa variable la posicioacuten n la tabla de verdad pasaraacute a ser

---------------shy

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

REALIDAD y REFLEXIOacuteN UNIYIRSIDAD RANCISCO GAYIDIA

1 Cuando el valor ternario de un variashyble es 2 el valor de la variable no afecshytaraacute a la posicioacuten en la tabla de verdad Por conveniencia se asume antes de evashyluar cada posicioacuten que esta tendraacute un valor inicial de 1

K Formas de desarrollar la solucioacuten propuesta

Dentro de todo el conjunto de pasos a efectuar para obtener un sistema funcional que pueda resolver todas esshytas problemaacuteticas se han planteado varias posibilidades

Un solo sistema en Visual Basic que puemiddot da ejecutar todos los algoritmos planteashydos y otros relacionados con la convershysioacuten entre formas de representacioacuten de las funciones

Un sistema hecho en Visual e que pueda migrarse maacutes faacutecilmente a otras plataformas como una mejo r alternativa

Un sistema hecho totalmente en una plashytaforma GPL que pueda llevarse a un enmiddot

torno Windows o a uno Linux sin mashyyor dificultad

En realidad cada propuesta tiene ventajas y desventaja s Por una parte tanto Visual Basic como Visual C presentan entornos graacuteficos amigables para el usuario pero un programa en Visual Basic que lo resuelva todo consumiriacutea extensivamente recursos de memoria y tend riacutea una cantidad conshysiderable de liacuteneas de coacutedigo dadas las dificultades para manejar un gran nuacutemeshyro de vectores representativo de cada tashybla de verdad Un versioacuten Visual C seriacutea maacutes faacutecil de migrar a otros entornos pero la cantidad de liacuteneas de coacutedigo seriacutea igual o mayor que para el caso de Visual Basic Un lenguaje idoacuteneo para este tipo de proshycesamiento es CLlSP ya que se puede efectuar el tratam iento de las tablas de verdad como listas y con un miacutenimo de liacuteneas de coacutedigo Sin embargo la dificulshytad estriba en que su entorno es de tipo texto trabaja mejor con valores loacutegicos O numeacutericos que con expresiones algebraicas y no hay una interfaz por defecto para conectarse con un entorno graacutefico en particular

-----------------shy

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

UNIVIIIDAD bullbullAMelseo GAVIDIA REALIDAD y REFLEXIOacuteN

La solucioacuten desarrollada al momento conshysiste en usar lo mejor de ambos mundos Es decir recurrir a una plataforma de enshytrada y salida de datos en forma graacutefica y en transferir las operaciones booleanas maacutes complejas a CLlSP

Asiacute pues la deduccioacuten del nuacutemero de variables de los rninterrns y de sus respecshytivas tablas de verdad se puede efectuar a nivel de Visual Basic Posteriormente los resultados de estas tablas se almacenan en un archivo de texto respetando la convenshycioacuten de siacutembolos usados por CLlSP

Un programa en Visual Basic se encarga de escribir una rutina en CLlSP que invoshyca la evaluacioacuten de la tabla de verdad de la funcioacuten a evaluar recurriendo a una libreriacutea en CLlSP que contiene las funcioshynes de evaluacioacuten basadas en lo s algoritmos de Martin

Posteriormente el programa en Visual Basiacutec manda a ejecutar un archivo de proshycesamiento por lotes que provoca qu CLlSP evaluacutee la rutina creada desde Vishysual Basic Mientras la ruti na CLlSP se ejecuta recurre a leer del archivo donshyde se almacenaron las tablas de verdad necesarias para la simpli ficacioacuten de un sistema con b variables

Una vez obtenida la simpli ficacioacuten de la funcioacuten el resultado es una lista en la cual cada posicioacuten corresponde a cada uno de los minterms que podriacutean ser par te de la funcioacuten evaluada Donde aparezca un valor verdadero en esta lista se estaraacute inshydicando que el minterm correspondien shyte si forma parte de la expresioacuten final donde aparezca un valor falso indica que ese minterm no esta contenido en la resshypuesta final ya sea porque no es un minterm vaacutelido o porque es absorbido por

otro de los minterms sentildealados dentro de la funcioacuten final

Ya que mientras la rutina en CLlSP proshycesa la informacioacuten Visual Basic debeshyraacute esperar lo cual se logra mediante una rutina de peacuterdida de tiempo controlada por un evento Visual Basic registra la fecha y hora en que transfirioacute los datos a CLlSP y tambieacuten registra la fecha y hora de la uacuteltima modificacioacuten a un archivo en que CLlSP escribiraacute los resultados de sus caacutelculos Mientras a la hora de la uacuteltima actualizacioacuten de ese arch ivo sea menor a la hora en que se transfirieron los datos el programa en Visual Basic continuaraacute con su rutina de peacuterdida de tie mpo Soacutelo cuando la fecha de la uacuteltishyma actu alizacioacuten cambia se puede teshyner la seguridad de que Clisp ha termishynado sus caacutelculos y ha colocado el reshysultado final en el archivo de salida Este procedimiento es necesario ya que no nay una forma di recta de pasar paraacutemeshytros entre los e tornos VB y C1I5P

Est tipo de procedimiento es similar al empleado para simplificar funciones en forma de maxterms aunque cambian las rutinas de generacioacuten de tablas de verdad (despueacutes de todo seraacuten rutinas para funshyciones en form a de maxterms) y la rutina den CLlSP para evaluar cuaacuteles maxterms siacute son vaacutelid os en la expresioacuten final

Para las funciones en forma de Reed Muller aunque se puede recurrir a procedimienshytos similares ya que muchos de ellos son de tipo matricial resulta de CLlSP no ofrece ventajas particulares para el procesamienshyto de matrices El resultado en un prograshyma que resulta tan largo como el desarroshyllado por A Fabiaacuten en su trabajo de grashyduacioacuten con la diferencia de que eacutel no usoacute en ninguacuten momento alguacuten tipo de prograshy

_--_--------shy

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

------------

REALIDAD y REFLEXIOacuteN UNIVIRSIDAD RANCISCO GAVIDIA

macioacuten en CLlSP simplemente se limitoacute a disentildear sus rutinas en Visual Basic

Otras metodologiacuteas

Hay algunos autores que han desarrollashydo sus propios meacutetodos para afrontar los problemas relacionados con funciones booleanas Asiacute por ejemplo Denis V Popel de Baker University propone el uso de uniones de Sierplnski para leacutel represenshytacioacuten de funciones Esta es maacutes bien una metodologiacutea graacutefica y su sistematizacioacuten seriacutea maacutes bien un reto a asumir en un futuro distante

Como una forma de ayudar a los disentildeashydores a llegar a funciones maacutes simples de implementar circuitalmente basaacutendose en compuertas exor Ajan Mishchenko de Portland State University propone un algoritmo llamado de Si-descomposicioacuten Este tipo de enfoque sigue la liacutenea de que no importa tanto el tipo de expresioacuten que se obtenga al final sino que el resultado se pueda plantear en base a bloques simshyples de entrada y un uso miacutenimo de funshyciones El resultado final estaacute maacutes cerca de un polinomio de Reed Muller de poshylaridad mixta que de cualquier otro tipo de expresioacuten El resultado de esa investishygacioacuten llevoacute a un programa que tiene aplicacioacuten en el disentildeo de FPGN

Debatosh Debnath de Kyushu Institute of Technology de Japoacuten ha desarrollado un sistema para la minimizacioacuten de funcioshynes booleanas llevaacutendolo a un polinomio de Reed Muller de polaridad fija no usan un meacutetodo de desarrollo de matrices maacutes bien usan una teacutecnica de diagramas de decisioacuten binario rnulti-terrninal

Otro investigador en este campo es B Steinbach de Freiberg University of Mining and Technology quien ha desarroshy

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

UNIYIUIDAD aANCfCO GAYIDA REALIDAD y REAEXIOacuteN

liado un meacutetodo basado en derivadas sado esta asignatura parciales de las expresiones algebraicas de la funcioacuten a evaluar RECONOCIMIENTOS

M Conclusiones

Existen muchas metodologiacuteas para enfrentar los problemas relacionados con las funcioshynes booleanas Desde el desarrollo de los polinomios de Reed Muller eacuteste ha sido el tipo de expresioacuten en el que se ha inshyvestigado maacutes y la mayor parte de los algoritmos existentes se centran en meacutetoshydos aplicables para los casos de polaridad positiva o fija Los intentos para simplifishycar funciones booleanas en forma de exshypresiones de polaridad mixta aunque proshymetedores no representan necesariamente la mejor alternativa

Cualquier intento por desarrollar un meacuteshytodo basado en buacutesquedas simples usanshydo bases de datos es impraacutectico para sisshy

GIi pconsorg 11

temas que requieran maacutes de 4 variab les Dragan lenkovlaquo ffici ent Caculation oFntildexed-Poshylarity Polvnomiel Expressions For Multiple-Valued Logic Functions h ttp csdlcomputerorg)comp Los meacutetodos propuestos por el auto r dishyo r o ce e d i n g e i s m v l 2 0 0 2 1 4 6 2 0 0 fieren enormemente de la tendenci a de

otros investigadores alrededor del munshydo No requieren del uso de graacutef icos y se pueden implementar co n tecn o loshygiacutea accesible a nu estro paiacutes Las pru shybas preliminares del sistema protot ipo demuestran que es preferible contar con una computadora de maacutes de 800 Mhz de velocidad y maacutes de 32 Mb de ramo Estos requerimientos de hardwa re caen dentro de liacutemites aceptables para las disshyponibilidades actuales de la regioacuten asiacute que es factible implement ar versio nes futuras como un instrumen to de en seshyntildeanza de Sistemas Digitales Con ello se solucionariacutea en parte las limitacioshynes y deficiencias en el aprendizaje Sisshytemas digitales que se observa entre

Expreso mi agradecimiento al doctor atto Lange del Technische Univers ltat Hamburg-Harburg por el curso dado sobre Teoriacutea de Informacioacuten Tambieacuten agradezco al Dr John Paxton de Monshytana State University por el curso que impartioacute sobre lenguaje CLlSP ya que es una herramienta valiosa sin la cual no se contariacutea en la actualidad con un protoshytipo del sistema de simplificacioacuten de funshyd one s booleanas Tambieacuten extiendo mi agradecimiento a Alejandro Fabiaacuten cuyo trabajo de investigacioacuten en torno a Reed M uller representa una alternativa a los algoritmos que he desarrollado

Referencias

[I InFo rmaci oacuten general sobre Cliso ht tp

14620076abshtml J Biografiacutea de Kronecker disponble middotht tpwwwshy

groupsdcsst-andacuk - historyMathematicialls Kroneckerhtml

4 P Lindgren IMPROVEDMINIMIZA71QN METHODS OF PSEUDO KRONECKER EXPRESSIONS FORMULmiddot TIPLE OU PUT FUNCTIONS http wwwsmluthseacute - plnpublicationspublicationshtml

5 A Fabiaacute Meacute todo alternativo para la reducci oacuten de Funcionespor polinomios ReedmiddotMuller Universidad don Bosco Tesis 621381 Fl18 2003

[6 D V Popel Sierpinski Caskets For Functions Repshyresen ation httpieee xploreieeeorgxpl tocresutjspisNumber-2 1788

[7 Aan Mishenko An Algorithm for Bi-Decomposition oLo ic ntildemctions httpwwweepdxedu-alanmi publicauacuteonsfindexhtm

Bl FPGA httpwwwmrcuidahoeduFpgaFpgahtm 9 Younes Ahmed Representation oFBooean quanshy

tum circu its as reedmiddotMuller expensions fuente International journal oF Elecuon ics jul2004 Vol 91 Issue 7 p431 14p (Obten ido a traveacutes de

muchos de los estudiantes que han cur- EBSCO Host)

--------------shy

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions

------------

2

UNIVERSIDAD FRANCISCO GAVIDIA REALIDAD REFLEXIOacuteN

la B Stcinbeci Minimization oiacute AND-ExOR Expresshysions http wwwinformatiktu-iacutereibergdeproiacute2 pubikationeni ndexhtm

I IButler Ion T Shmerko Vad P Commcnts on Symshypathy Fast Exact Minimization of Fixed Poarity ReedshyMu ller Expansion for Symmetric hm ct ion s Fuente JEEE Trensec iions on ComputermiddotAided Deshysign of Jntegrated Circuits amp Systems Nov2000 Vol 19 Issue JI P 386 Op 2 charts (O btenido a traveacutes de EBSCO Host)

12Yang Ke1 Zbeo Qianchuan2 Ttie balance probshylem o min-maxsystems isco-NPhard Fuente Sysshytems amp Control ieuers Nov2004 Vol 53 Issue 3 4 p303 8p (Ob tenido a traveacutes de EBSCO Host)

Notas

Dragan ]ankovic Efficient Caculation of Fixed-Poshylarily Polynomial Expressions for Mult iple-Valued Logic hmctions Es interesante el hecho de que Kronecker ideoacute su pro ducto or igina mente para op eraciones con nuacutemeros racionaes pero que elo no tiene mayor eontildececion praacutectica en ninguna aacuterea y aunque en su

eacutepoca yaexistiacutean los trabajos de Boole hasido hasta recientemente que se estaacuteaplicando a esa aacuterea

3 P Lindgren MPROVED MINIMIZATlON METHmiddot 005 OF PSEUDO KRONECKER EXPRESSIONS FOR MULTPLE OUTPUT FUNCTIONS

4 Alejandro Fabiaacuten Meacutetodo alternat ivo para a reduccioacute n de funciones por polinomios ReedshyMuller Universidad Don Basca 2003

5 Comman Lisp versioacuten de lenguaje Lisp (Li st

proccesing) Lenguaje con licencia CNU usado en aplicacione s de inteligencia artificial y para el procesamiento de listas complejas

6 DV Popel Sierpinski Cssketraquo for Functions Representatlon

7 Alan Mishenko An Algorithm ior Bi-Decomposimiddot tion of Logic ntildemctions

8 FPCA Arreglos de camp os de co mp ue r tas programables algunos de estos arreglossepueden usarpara implementar funciones lOacutegicasy otros se usanen el disentildeo de sistemas de redesneuronaes

9 D Debnath Exsci Minimizaion of Fixed Polarity Reed-Muler Expressions ior Incompetely Specimiddot fied Functions

10 B Steinbach Minimization of AND-ExOR Exmiddot pressions