Comparativo entre a estratégia gulosa e a programação dinâmica para o problema do troco com sistemas de moedas canônicos
Autor(a) principal: | |
---|---|
Data de Publicação: | 2018 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Monografias da UnB |
Texto Completo: | http://bdm.unb.br/handle/10483/21568 |
Resumo: | Trabalho de Conclusão de Curso (graduação)—Universidade de Brasília, Faculdade UnB Gama, 2018. |
id |
UNB-2_da1e4c274de83503907ffc6673374a9f |
---|---|
oai_identifier_str |
oai:bdm.unb.br:10483/21568 |
network_acronym_str |
UNB-2 |
network_name_str |
Biblioteca Digital de Monografias da UnB |
repository_id_str |
11571 |
spelling |
Mattioli, Lucas VasconcelosCosta Júnior, Edson Alves daMATTIOLI, 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.http://bdm.unb.br/handle/10483/21568Trabalho de Conclusão de Curso (graduação)—Universidade de Brasília, Faculdade UnB Gama, 2018.O 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.Submitted by Luanna Maia (luanna@bce.unb.br) on 2019-02-28T14:20:55Z No. of bitstreams: 3 license_text: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) 2018_LucasVasconcelosMattioli_tcc.pdf: 868734 bytes, checksum: d8e84a3144ba5ad454aea096121e36b3 (MD5)Approved for entry into archive by Luanna Maia (luanna@bce.unb.br) on 2019-02-28T14:21:09Z (GMT) No. of bitstreams: 3 license_text: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) 2018_LucasVasconcelosMattioli_tcc.pdf: 868734 bytes, checksum: d8e84a3144ba5ad454aea096121e36b3 (MD5)Made available in DSpace on 2019-02-28T14:21:09Z (GMT). No. of bitstreams: 3 license_text: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) 2018_LucasVasconcelosMattioli_tcc.pdf: 868734 bytes, checksum: d8e84a3144ba5ad454aea096121e36b3 (MD5)The 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.Algoritmos de computadorProgramação dinâmicaComparativo entre a estratégia gulosa e a programação dinâmica para o problema do troco com sistemas de moedas canônicosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesis2019-02-28T14:21:09Z2019-02-28T14:21:09Z2018-12-11info:eu-repo/semantics/openAccessporreponame:Biblioteca Digital de Monografias da UnBinstname:Universidade de Brasília (UnB)instacron:UNBLICENSElicense.txtlicense.txttext/plain1817http://bdm.unb.br/xmlui/bitstream/10483/21568/5/license.txt21554873e56ad8ddc69c092699b98f95MD55CC-LICENSElicense_urllicense_urltext/plain49http://bdm.unb.br/xmlui/bitstream/10483/21568/2/license_url4afdbb8c545fd630ea7db775da747b2fMD52license_textlicense_textapplication/octet-stream0http://bdm.unb.br/xmlui/bitstream/10483/21568/3/license_textd41d8cd98f00b204e9800998ecf8427eMD53license_rdflicense_rdfapplication/octet-stream0http://bdm.unb.br/xmlui/bitstream/10483/21568/4/license_rdfd41d8cd98f00b204e9800998ecf8427eMD54ORIGINAL2018_LucasVasconcelosMattioli_tcc.pdf2018_LucasVasconcelosMattioli_tcc.pdfapplication/pdf868734http://bdm.unb.br/xmlui/bitstream/10483/21568/1/2018_LucasVasconcelosMattioli_tcc.pdfd8e84a3144ba5ad454aea096121e36b3MD5110483/215682019-02-28 11:21:09.244oai:bdm.unb.br:10483/21568w4kgbmVjZXNzw6FyaW8gY29uY29yZGFyIGNvbSBhIGxpY2Vuw6dhIGRlIGRpc3RyaWJ1acOnw6NvIG7Do28tZXhjbHVzaXZhLAphbnRlcyBxdWUgbyBkb2N1bWVudG8gcG9zc2EgYXBhcmVjZXIgbmEgQmlibGlvdGVjYSBEaWdpdGFsIGRhIFByb2R1w6fDo28gCkRpc2NlbnRlIGRhIFVuaXZlcnNpZGFkZSBkZSBCcmFzw61saWEuIFBvciBmYXZvciwgbGVpYSBhCmxpY2Vuw6dhIGF0ZW50YW1lbnRlLiBDYXNvIG5lY2Vzc2l0ZSBkZSBhbGd1bSBlc2NsYXJlY2ltZW50byBlbnRyZSBlbQpjb250YXRvIGF0cmF2w6lzIGRlOiBiZG1AYmNlLnVuYi5iciBvdSAzMTA3LTI2ODcuCgpMSUNFTsOHQSBERSBESVNUUklCVUnDh8ODTyBOw4NPLUVYQ0xVU0lWQQoKQW8gYXNzaW5hciBlIGVudHJlZ2FyIGVzdGEgbGljZW7Dp2EsIG8vYSBTci4vU3JhLiAoYXV0b3Igb3UgZGV0ZW50b3IgZG9zCmRpcmVpdG9zIGRlIGF1dG9yKToKCmEpIENvbmNlZGUgw6AgVW5pdmVyc2lkYWRlIGRlIEJyYXPDrWxpYSBvIGRpcmVpdG8gbsOjby1leGNsdXNpdm8gZGUKcmVwcm9kdXppciwgY29udmVydGVyIChjb21vIGRlZmluaWRvIGFiYWl4byksIGNvbXVuaWNhciBlL291CmRpc3RyaWJ1aXIgbyBkb2N1bWVudG8gZW50cmVndWUgKGluY2x1aW5kbyBvIHJlc3Vtby9hYnN0cmFjdCkgZW0KZm9ybWF0byBkaWdpdGFsIG91IGltcHJlc3NvIGUgZW0gcXVhbHF1ZXIgbWVpby4KCmIpIERlY2xhcmEgcXVlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIMOpIHNldSB0cmFiYWxobyBvcmlnaW5hbCwgZSBxdWUKZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gRGVjbGFyYQp0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2UsIHRhbnRvIHF1YW50byBsaGUgw6kKcG9zc8OtdmVsIHNhYmVyLCBvcyBkaXJlaXRvcyBkZSBxdWFscXVlciBvdXRyYSBwZXNzb2Egb3UgZW50aWRhZGUuCgpjKSBTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSBjb250w6ltIG1hdGVyaWFsIGRvIHF1YWwgbsOjbyBkZXTDqW0gb3MKZGlyZWl0b3MgZGUgYXV0b3IsIGRlY2xhcmEgcXVlIG9idGV2ZSBhdXRvcml6YcOnw6NvIGRvIGRldGVudG9yIGRvcwpkaXJlaXRvcyBkZSBhdXRvciBwYXJhIGNvbmNlZGVyIMOgIFVuaXZlcnNpZGFkZSBkZSBCcmFzw61saWEgb3MgZGlyZWl0b3MKcmVxdWVyaWRvcyBwb3IgZXN0YSBsaWNlbsOnYSwgZSBxdWUgZXNzZSBtYXRlcmlhbCBjdWpvcyBkaXJlaXRvcyBzw6NvIGRlCnRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIG91CmNvbnRlw7pkbyBkbyBkb2N1bWVudG8gZW50cmVndWUuCgpTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqSBiYXNlYWRvIGVtIHRyYWJhbGhvIGZpbmFuY2lhZG8gb3UgYXBvaWFkbwpwb3Igb3V0cmEgaW5zdGl0dWnDp8OjbyBxdWUgbsOjbyBhIFVuaXZlcnNpZGFkZSBkZSBCcmFzw61saWEsIGRlY2xhcmEgcXVlCmN1bXByaXUgcXVhaXNxdWVyIG9icmlnYcOnw7VlcyBleGlnaWRhcyBwZWxvIHJlc3BlY3Rpdm8gY29udHJhdG8gb3UKYWNvcmRvLgoKQSBVbml2ZXJzaWRhZGUgZGUgQnJhc8OtbGlhIGlkZW50aWZpY2Fyw6EgY2xhcmFtZW50ZSBvKHMpIHNldSAocykgbm9tZSAocykKY29tbyBvIChzKSBhdXRvciAoZXMpIG91IGRldGVudG9yIChlcykgZG9zIGRpcmVpdG9zIGRvIGRvY3VtZW50bwplbnRyZWd1ZSwgZSBuw6NvIGZhcsOhIHF1YWxxdWVyIGFsdGVyYcOnw6NvLCBwYXJhIGFsw6ltIGRhcyBwZXJtaXRpZGFzIHBvcgplc3RhIGxpY2Vuw6dhLgo=Biblioteca Digital de Monografiahttps://bdm.unb.br/PUBhttp://bdm.unb.br/oai/requestbdm@bce.unb.br||patricia@bce.unb.bropendoar:115712019-02-28T14:21:09Biblioteca Digital de Monografias da UnB - Universidade de Brasília (UnB)false |
dc.title.pt_BR.fl_str_mv |
Comparativo entre a estratégia gulosa e a programação dinâmica para o problema do troco com sistemas de moedas canônicos |
title |
Comparativo entre a estratégia gulosa e a programação dinâmica para o problema do troco com sistemas de moedas canônicos |
spellingShingle |
Comparativo entre a estratégia gulosa e a programação dinâmica para o problema do troco com sistemas de moedas canônicos Mattioli, Lucas Vasconcelos Algoritmos de computador Programação dinâmica |
title_short |
Comparativo entre a estratégia gulosa e a programação dinâmica para o problema do troco com sistemas de moedas canônicos |
title_full |
Comparativo entre a estratégia gulosa e a programação dinâmica para o problema do troco com sistemas de moedas canônicos |
title_fullStr |
Comparativo entre a estratégia gulosa e a programação dinâmica para o problema do troco com sistemas de moedas canônicos |
title_full_unstemmed |
Comparativo entre a estratégia gulosa e a programação dinâmica para o problema do troco com sistemas de moedas canônicos |
title_sort |
Comparativo entre a estratégia gulosa e a programação dinâmica para o problema do troco com sistemas de moedas canônicos |
author |
Mattioli, Lucas Vasconcelos |
author_facet |
Mattioli, Lucas Vasconcelos |
author_role |
author |
dc.contributor.author.fl_str_mv |
Mattioli, Lucas Vasconcelos |
dc.contributor.advisor1.fl_str_mv |
Costa Júnior, Edson Alves da |
contributor_str_mv |
Costa Júnior, Edson Alves da |
dc.subject.keyword.pt_BR.fl_str_mv |
Algoritmos de computador Programação dinâmica |
topic |
Algoritmos de computador Programação dinâmica |
description |
Trabalho de Conclusão de Curso (graduação)—Universidade de Brasília, Faculdade UnB Gama, 2018. |
publishDate |
2018 |
dc.date.submitted.none.fl_str_mv |
2018-12-11 |
dc.date.accessioned.fl_str_mv |
2019-02-28T14:21:09Z |
dc.date.available.fl_str_mv |
2019-02-28T14:21:09Z |
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.citation.fl_str_mv |
MATTIOLI, 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. |
dc.identifier.uri.fl_str_mv |
http://bdm.unb.br/handle/10483/21568 |
identifier_str_mv |
MATTIOLI, 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. |
url |
http://bdm.unb.br/handle/10483/21568 |
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.source.none.fl_str_mv |
reponame:Biblioteca Digital de Monografias da UnB instname:Universidade de Brasília (UnB) instacron:UNB |
instname_str |
Universidade de Brasília (UnB) |
instacron_str |
UNB |
institution |
UNB |
reponame_str |
Biblioteca Digital de Monografias da UnB |
collection |
Biblioteca Digital de Monografias da UnB |
bitstream.url.fl_str_mv |
http://bdm.unb.br/xmlui/bitstream/10483/21568/5/license.txt http://bdm.unb.br/xmlui/bitstream/10483/21568/2/license_url http://bdm.unb.br/xmlui/bitstream/10483/21568/3/license_text http://bdm.unb.br/xmlui/bitstream/10483/21568/4/license_rdf http://bdm.unb.br/xmlui/bitstream/10483/21568/1/2018_LucasVasconcelosMattioli_tcc.pdf |
bitstream.checksum.fl_str_mv |
21554873e56ad8ddc69c092699b98f95 4afdbb8c545fd630ea7db775da747b2f d41d8cd98f00b204e9800998ecf8427e d41d8cd98f00b204e9800998ecf8427e d8e84a3144ba5ad454aea096121e36b3 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Biblioteca Digital de Monografias da UnB - Universidade de Brasília (UnB) |
repository.mail.fl_str_mv |
bdm@bce.unb.br||patricia@bce.unb.br |
_version_ |
1801493078323757056 |