Professional Documents
Culture Documents
1.
Descripci
on del problema
La minimizaci
on de expresiones booleanas es fundamental en la optimizacion
de circuitos l
ogicos. Hay varios metodos que son muy utilizados, podemos encontrar tales como reducci
on con leyes de algebra booleana y diagramas o mapas
de Karnaugh. Estos metodos son utilizados cuando las expresiones a simplificar
tienen pocas variables, pero su funcionalidad disminuye cuando el n
umero de
variables aumenta.
El metodo de reducci
on de Quine-McCluskey es utilizado cuando la cantidad de variables es muy grande como ocurre en los problemas de optimizacion
reales. Implementar este metodo en un lenguaje de programacion es u
til para
lograr una herramienta autom
atica, que permite la obtencion de expresiones de
conmutaci
on mnimas.
Con este proyecto, se desea implementar el metodo de Quine-McCluskey en
un lenguaje de programaci
on, es decir, dise
nar un programa de computador,
utilizando herramientas que permitan un desarrollo en la menor cantidad de
lneas de c
odigo, que conduzca a un facil entendimiento en futuras referencias o
modificaciones, garantizando una solucion apropiada y eficaz en la construccion
de circuitos digitales.
2.
2.1.
Objetivos
Obetivo general
2.2.
Objetivos especficos
Utilizar el paradigma de programacion orientada a objetos que es de facil
compresi
on para desarrolladores en futuras mejoras.
1
Quine-McCluskey
LATEX
3.
Justificaci
on o Motivaci
on
La reducci
on de variables booleanas es muy importante en el ambito del
desarrollo de circuitos digitales y resolucion de condiciones logicas en programaci
on. Hay varios metodos que se pueden utilizar pero con el metodo de QuineMcCluskey se puede simplificar una expresion booleana sin preocuparse por la
cantidad de variables.
En estos campos de aplicacion se hace indispensable contar con un metodo
eficaz para manejar expresiones booleanas con varias entradas; Por ejemplo, en
un procesador el precio o valor monetario esta definido por la cantidad de entradas posibles y componentes utilizados en su fabricacion. Asimismo, la cantidad
de variables determina el precio en el campo de creacion de redes de circuitos,
de iluminaci
on o de comunicacion en edificios, o en general en estructuras, porque la cantidad de componentes que tenga el circuito es proporcional al costo,
e incluso a fallas tecnicas, por eso siempre entre menos variables tenga este
ser
a mejor.
La implementaci
on de este metodo en un lenguaje de programacion evita
posibles errores humanos, y ahorra tiempo en el momento de la simplificacion.
Por otro lado se han implementado codigos de forma estructural, utilizando lenguajes orientados a objetos, pero con poco uso de este paradigma [1], [2], por lo
cual, se hace evidente la necesidad de dise
nar un programa con las caractersticas
expuestas anteriormente.
4.
El
algebra booleana fue desarrollada por George Boole aplicando tecnicas
algebraicas para tratar expresiones de logica proposicional, restringiendo las
proposiciones primarias por valores algebraicos con valores de 1 y 0, de los cuales
se obtiene varios axiomas y postulados que aplican el metodo de desarrollo usado
por Boole [3] [4].
Esta l
ogica fue aplicada a los circuitos digitales por Claude Shannon en
su tesis doctoral [5], al darse cuenta que esta se podra aplicar a circuitos de
relevadores construyendo computadores con este sistema, se constituyo como la
base de todos los aparatos electronicos que se usan hoy en da. As las cosas
se busc
o la reducci
on de la complejidad logica, por medio de la minimizacion
de la formula booleana. El metodo de Quine McClusckey (Q-M) desarrollado
por Willard Quine y Edward J. McClusckey es un metodo tabular que aplica el
mismo principio de diagramas de Karnaugh, pero no esta limitado por el n
umero
de variables de entrada. Aunque la complejidad aumenta con cada variable que
se a
nade, este metodo se hace indispensable para la minimizacion de expresiones
booleanas.
Se han hecho varias modificaciones al metodo Q-M [6] y adelantos en campos
como algoritmos evolutivos [7], pero a
un tenemos el problema del algoritmo
original: s la cantidad de variables es muy grande tomara mucho tiempo y
Quine-McCluskey
LATEX
5.
Metodologa y Procedimiento
Para la implementaci
on del algoritmo de Quine-McCluskey se procedera a
analizar los c
odigos propuestos por Sourangsu Banerji [1] se haran algunas pruebas de escritorio con pocas variables para tener una vision general del algoritmo
y poder especular la cantidad de iteraciones de este. Una vez realizado lo anterior
se proceder
a a implementar el codigo en C++ y en Java utilizando Dev-C++y
Eclipse respectivamente. Estos son IDE (integrated development environment)
que son aplicaciones para el desarrollo de software.
6.
Cronograma de actividades
Cuadro 1: Cronograma.
Fecha
03/04/2015 - 07/04/2015
09/04/2015 - 17/04/2015
19/04/2015 - 03/05/2015
25/05/2015 - 10/06/2015
6.1.
Quine-McCluskey
Descripcion
Redaccion del anteproyecto
Proceso de analisis y realizacion de pruebas de escritorio
Implementacion del codigo en un IDE
Redaccion del documento escrito
Redacci
on del anteproyecto
6.2.
Proceso de an
alisis y realizaci
on de pruebas de escritorio
Quine-McCluskey
LATEX
6.3.
Implementaci
on del c
odigo en un IDE
6.4.
Redacci
on del documento escrito
7.
Referencias