Utilize este link para identificar ou citar este item: https://bdm.unb.br/handle/10483/21568
Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2018_LucasVasconcelosMattioli_tcc.pdf848,37 kBAdobe PDFver/abrir
Registro completo
Campo Dublin CoreValorLíngua
dc.contributor.advisorCosta Júnior, Edson Alves da-
dc.contributor.authorMattioli, Lucas Vasconcelos-
dc.identifier.citationMATTIOLI, Lucas Vasconcelos. Comparativo entre a estratégia gulosa e a programação dinâmica para o problema do troco com sistemas de moedas canônicos. 2018. 59 f., il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software)—Universidade de Brasília, Brasília, 2018.pt_BR
dc.descriptionTrabalho de Conclusão de Curso (graduação)—Universidade de Brasília, Faculdade UnB Gama, 2018.pt_BR
dc.description.abstractO problema do troco é uma especialização do problema da mochila, sendo possível resolvêlo com um algoritmo de programação dinâmica. É possível, também, resolver o problema utilizando um algoritmo guloso quando o sistema de moedas do problema é canônico. Este trabalho analisa e compara os tempos de execução dos algoritmos de programação dinâmica, guloso e de um algoritmo de determinação da canonicidade em cima de sistemas de moedas gerados pseudo-aleatoriamente. Os algoritmos foram implementados e seus tempos mensurados na linguagem de programação C++, seguindo o padrão C++14. Foi verificado que, apenas para sistemas de moedas com tamanhos pequenos (até 76 moedas), o algoritmo de programação dinâmica se mostra mais eficiente que os algoritmos guloso e de determinação de canonicidade, este necessário para garantir a canonicidade do sistema e assegurar a correção do algoritmo guloso.pt_BR
dc.rightsAcesso Abertopt_BR
dc.subject.keywordAlgoritmos de computadorpt_BR
dc.subject.keywordProgramação dinâmicapt_BR
dc.titleComparativo entre a estratégia gulosa e a programação dinâmica para o problema do troco com sistemas de moedas canônicospt_BR
dc.typeTrabalho de Conclusão de Curso - Graduação - Bachareladopt_BR
dc.date.accessioned2019-02-28T14:21:09Z-
dc.date.available2019-02-28T14:21:09Z-
dc.date.submitted2018-12-11-
dc.identifier.urihttp://bdm.unb.br/handle/10483/21568-
dc.language.isoPortuguêspt_BR
dc.description.abstract1The coin change problem is a specialization of the knapsack problem, being possible to solve it with a dynamic programming algorithm. It is also possible to solve the problem using a greedy algorithm when the coin system is canonical. This work analyzes and compares the execution times of dynamic programming, greedy and canonicity determination algorithms on top of pseudo-randomly generated coin systems. The algorithms were implemented in the C++ programming language, following the C++ 14 standard. It was verified that, solely for coin systems with small sizes (up to 76 coins), the dynamic programming algorithm is more efficient than the greedy one, along with the canonicity determination algorithm, which is used to guarantee the canonicity of the system and enable the use of the greedy algorithm.pt_BR
Aparece na Coleção:Engenharia de Software



Este item está licenciado na Licença Creative Commons Creative Commons