Estudo da fase de geração de implicantes primos do método de QuineMcCluskey buscando uma heurística

Detalhes bibliográficos
Autor(a) principal: Santos, Manuel José Vasconcelos dos [UNESP]
Data de Publicação: 2025
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UNESP
Texto Completo: https://hdl.handle.net/11449/260625
Resumo: O problema de minimização de funções Booleanas busca otimizar os circuitos lógicos mantendo sua funcionalidade e reduzindo custo de implementação. Há diversas técnicas de minimização de funções booleanas descritas na literatura, como o método de Quine-McCluskey, que gera todos os implicantes primos para então fazer a cobertura dos mintermos da função, empregando os implicantes primos gerados. É notável o baixo desempenho computacional do Método de Quine-McCluskey para funções com muitas variáveis. Algoritmos heurísticos têm atingido resultados satisfatórios quanto a essas limitações computacionais, como o programa Espresso. Na maioria das aplicações não se faz necessária a solução exata ou global da função, uma solução local ou mínima será suficiente. Neste trabalho implementou-se em linguagem de programação Python um algoritmo que modifica a fase de geração de implicante primos do método de Quine-McCluskey, de modo a gerar implicantes primos num período relativamente curto de tempo, quando comparado com o método de Quine-McCluskey tradicional. Para avaliar a eficiência, o algoritmo proposto foi comparado com o método de Quine-McCluskey tradicional e com o programa Espresso, considerando a quantidade de memória utilizada, o tempo de execução, os termos gerados e os custos das soluções geradas. A partir dos resultados obtidos pode-se concluir que, o método Quine-McCluskey modificado tem menor tempo de execução que o método de Quine-McCluskey tradicional, e menor tempo de execução que o programa Espresso para menos de 8 variáveis de entrada. Para funções com poucas variáveis o método de Quine-McCluskey tradicional faz menor uso de memória que o método de Quine-McCluskey modificado. Entretanto, do ponto de vista da minimização o método de Quine-McCluskey modificado não apresenta um resultado satisfatório, pois não gera uma solução de custo mínimo para a maioria dos casos ensaiados, como geram o método de Quine-McCluskey tradicional e o programa Espresso.
id UNSP_8f1f72d770807790c6a91084a890b136
oai_identifier_str oai:repositorio.unesp.br:11449/260625
network_acronym_str UNSP
network_name_str Repositório Institucional da UNESP
repository_id_str 2946
spelling Estudo da fase de geração de implicantes primos do método de QuineMcCluskey buscando uma heurísticaStudy of the generation phase of cousin implicants of the Quine-McCluskey method searching for a heuristicMétodo de Quine-McCluskeyGeração de implicantes primosPrograma espressoLinguagem de programação PythonPrime implicants generationQuine-McCluskey methodEspresso programPython programming languageO problema de minimização de funções Booleanas busca otimizar os circuitos lógicos mantendo sua funcionalidade e reduzindo custo de implementação. Há diversas técnicas de minimização de funções booleanas descritas na literatura, como o método de Quine-McCluskey, que gera todos os implicantes primos para então fazer a cobertura dos mintermos da função, empregando os implicantes primos gerados. É notável o baixo desempenho computacional do Método de Quine-McCluskey para funções com muitas variáveis. Algoritmos heurísticos têm atingido resultados satisfatórios quanto a essas limitações computacionais, como o programa Espresso. Na maioria das aplicações não se faz necessária a solução exata ou global da função, uma solução local ou mínima será suficiente. Neste trabalho implementou-se em linguagem de programação Python um algoritmo que modifica a fase de geração de implicante primos do método de Quine-McCluskey, de modo a gerar implicantes primos num período relativamente curto de tempo, quando comparado com o método de Quine-McCluskey tradicional. Para avaliar a eficiência, o algoritmo proposto foi comparado com o método de Quine-McCluskey tradicional e com o programa Espresso, considerando a quantidade de memória utilizada, o tempo de execução, os termos gerados e os custos das soluções geradas. A partir dos resultados obtidos pode-se concluir que, o método Quine-McCluskey modificado tem menor tempo de execução que o método de Quine-McCluskey tradicional, e menor tempo de execução que o programa Espresso para menos de 8 variáveis de entrada. Para funções com poucas variáveis o método de Quine-McCluskey tradicional faz menor uso de memória que o método de Quine-McCluskey modificado. Entretanto, do ponto de vista da minimização o método de Quine-McCluskey modificado não apresenta um resultado satisfatório, pois não gera uma solução de custo mínimo para a maioria dos casos ensaiados, como geram o método de Quine-McCluskey tradicional e o programa Espresso.The minimization problem of boolean functions seeks to optimize logic circuits keeping its functionality and reducing implementation cost. There are many minimization techniques in literature, such as the Quine-McCluskey method, that generates all prime implicants to then do the function minterms coverage using the generated prime implicants. The low computing performance of the Quine-McCluskey method for functions with many product terms is noticeable. Heuristic algorithms have achieved satisfactory results regarding these computational limitations, such as the Espresso program. In most applications an exact or global solution of the function is not necessary, a local or minimal solution will suffice. In this work an algorithm was implemented in the Python programming language that modifies the prime implicant generation phase of the Quine-McCluskey method, in order to generate prime implicants in a relatively short period of time, when compared to the traditional Quine-McCluskey method. To evaluate the method's efficiency, the proposed method was compared to the traditional Quine-McCluskey method and the Espresso program, the amount of memory used, execution time, generated terms and the costs of generated solutions were considered. From the results obtained, it can be concluded that the modified Quine-McCluskey method generates fewer implicants than the other methods, therefore it requires a shorter execution time than the traditional Quine-McCluskey method, and a shorter execution time than the program Espresso for less than 8 input variables. For functions with few variations, the traditional Quine-McCluskey method uses less memory than the modified Quine-McCluskey method. However, from a minimization standpoint the modified Quine-McCluskey method does not present a satisfactory result, since it does not generate a minimum cost solution for many of the cases tested, as does the traditional Quine-McCluskey method and the ESPRESSO program.Universidade Estadual Paulista (Unesp)Alves, Carlos Antônio [UNESP]Universidade Estadual Paulista (Unesp)Santos, Manuel José Vasconcelos dos [UNESP]2025-02-10T12:00:25Z2025-02-10T12:00:25Z2025-02-06info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisapplication/pdfSANTOS, M. J. V. dos. Estudo da fase de geração de implicantes primos do método de QuineMcCluskey buscando uma heurística. Orientador: Carlos Antônio Alves. 2025. 92 f. : il. Trabalho de conclusão de curso (Graduação em Engenharia Elétrica) - Universidade Estadual Paulista (UNESP), Faculdade de Engenharia, Ilha Solteira, 2025https://hdl.handle.net/11449/260625porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UNESPinstname:Universidade Estadual Paulista (UNESP)instacron:UNESP2025-02-10T15:39:56Zoai:repositorio.unesp.br:11449/260625Repositório InstitucionalPUBhttp://repositorio.unesp.br/oai/requestrepositoriounesp@unesp.bropendoar:29462025-02-10T15:39:56Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP)false
dc.title.none.fl_str_mv Estudo da fase de geração de implicantes primos do método de QuineMcCluskey buscando uma heurística
Study of the generation phase of cousin implicants of the Quine-McCluskey method searching for a heuristic
title Estudo da fase de geração de implicantes primos do método de QuineMcCluskey buscando uma heurística
spellingShingle Estudo da fase de geração de implicantes primos do método de QuineMcCluskey buscando uma heurística
Santos, Manuel José Vasconcelos dos [UNESP]
Método de Quine-McCluskey
Geração de implicantes primos
Programa espresso
Linguagem de programação Python
Prime implicants generation
Quine-McCluskey method
Espresso program
Python programming language
title_short Estudo da fase de geração de implicantes primos do método de QuineMcCluskey buscando uma heurística
title_full Estudo da fase de geração de implicantes primos do método de QuineMcCluskey buscando uma heurística
title_fullStr Estudo da fase de geração de implicantes primos do método de QuineMcCluskey buscando uma heurística
title_full_unstemmed Estudo da fase de geração de implicantes primos do método de QuineMcCluskey buscando uma heurística
title_sort Estudo da fase de geração de implicantes primos do método de QuineMcCluskey buscando uma heurística
author Santos, Manuel José Vasconcelos dos [UNESP]
author_facet Santos, Manuel José Vasconcelos dos [UNESP]
author_role author
dc.contributor.none.fl_str_mv Alves, Carlos Antônio [UNESP]
Universidade Estadual Paulista (Unesp)
dc.contributor.author.fl_str_mv Santos, Manuel José Vasconcelos dos [UNESP]
dc.subject.por.fl_str_mv Método de Quine-McCluskey
Geração de implicantes primos
Programa espresso
Linguagem de programação Python
Prime implicants generation
Quine-McCluskey method
Espresso program
Python programming language
topic Método de Quine-McCluskey
Geração de implicantes primos
Programa espresso
Linguagem de programação Python
Prime implicants generation
Quine-McCluskey method
Espresso program
Python programming language
description O problema de minimização de funções Booleanas busca otimizar os circuitos lógicos mantendo sua funcionalidade e reduzindo custo de implementação. Há diversas técnicas de minimização de funções booleanas descritas na literatura, como o método de Quine-McCluskey, que gera todos os implicantes primos para então fazer a cobertura dos mintermos da função, empregando os implicantes primos gerados. É notável o baixo desempenho computacional do Método de Quine-McCluskey para funções com muitas variáveis. Algoritmos heurísticos têm atingido resultados satisfatórios quanto a essas limitações computacionais, como o programa Espresso. Na maioria das aplicações não se faz necessária a solução exata ou global da função, uma solução local ou mínima será suficiente. Neste trabalho implementou-se em linguagem de programação Python um algoritmo que modifica a fase de geração de implicante primos do método de Quine-McCluskey, de modo a gerar implicantes primos num período relativamente curto de tempo, quando comparado com o método de Quine-McCluskey tradicional. Para avaliar a eficiência, o algoritmo proposto foi comparado com o método de Quine-McCluskey tradicional e com o programa Espresso, considerando a quantidade de memória utilizada, o tempo de execução, os termos gerados e os custos das soluções geradas. A partir dos resultados obtidos pode-se concluir que, o método Quine-McCluskey modificado tem menor tempo de execução que o método de Quine-McCluskey tradicional, e menor tempo de execução que o programa Espresso para menos de 8 variáveis de entrada. Para funções com poucas variáveis o método de Quine-McCluskey tradicional faz menor uso de memória que o método de Quine-McCluskey modificado. Entretanto, do ponto de vista da minimização o método de Quine-McCluskey modificado não apresenta um resultado satisfatório, pois não gera uma solução de custo mínimo para a maioria dos casos ensaiados, como geram o método de Quine-McCluskey tradicional e o programa Espresso.
publishDate 2025
dc.date.none.fl_str_mv 2025-02-10T12:00:25Z
2025-02-10T12:00:25Z
2025-02-06
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv SANTOS, M. J. V. dos. Estudo da fase de geração de implicantes primos do método de QuineMcCluskey buscando uma heurística. Orientador: Carlos Antônio Alves. 2025. 92 f. : il. Trabalho de conclusão de curso (Graduação em Engenharia Elétrica) - Universidade Estadual Paulista (UNESP), Faculdade de Engenharia, Ilha Solteira, 2025
https://hdl.handle.net/11449/260625
identifier_str_mv SANTOS, M. J. V. dos. Estudo da fase de geração de implicantes primos do método de QuineMcCluskey buscando uma heurística. Orientador: Carlos Antônio Alves. 2025. 92 f. : il. Trabalho de conclusão de curso (Graduação em Engenharia Elétrica) - Universidade Estadual Paulista (UNESP), Faculdade de Engenharia, Ilha Solteira, 2025
url https://hdl.handle.net/11449/260625
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Estadual Paulista (Unesp)
publisher.none.fl_str_mv Universidade Estadual Paulista (Unesp)
dc.source.none.fl_str_mv reponame:Repositório Institucional da UNESP
instname:Universidade Estadual Paulista (UNESP)
instacron:UNESP
instname_str Universidade Estadual Paulista (UNESP)
instacron_str UNESP
institution UNESP
reponame_str Repositório Institucional da UNESP
collection Repositório Institucional da UNESP
repository.name.fl_str_mv Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP)
repository.mail.fl_str_mv repositoriounesp@unesp.br
_version_ 1834483904997752832