dc.contributor.author Pearson, David en_US dc.date.accessioned 2007-04-23T16:36:33Z dc.date.available 2007-04-23T16:36:33Z dc.date.issued 1994-06 en_US dc.identifier.citation http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cs/TR94-1433 en_US dc.identifier.uri https://hdl.handle.net/1813/6219 dc.description.abstract The change-making problem is the problem of representing a given value with the fewest coins possible from a given set of coin denominations. To solve this problem for arbitrary coin systems is NP-hard [L]. We investigate the problem of determining whether the greedy algorithm always produces the optimal result for a given coin system. Chang and Gill [CG] show that this can be solved in time polynomial in the size of the largest coin and in the number of coins. Kozen and Zaks [KZ] give a more efficient algorithm, and pose as an open problem whether there is an algorithm to solve this problem which is polynomial in the size of the input. In this paper, we will derive such an algorithm. We first obtain a characterization of the smallest coounterexample (if there is one) for which the greedy algorithm is not optimal. We then derive a set of \$O(n^2)\$ possible values (where \$n\$ is the number of coins) which must contain the smallest counterexample. Each can be tested with \$O(n)\$ arithmetic operations, giving us an \$O(n^3)\$ algorithm. en_US dc.format.extent 540806 bytes dc.format.extent 136100 bytes dc.format.mimetype application/pdf dc.format.mimetype application/postscript dc.language.iso en_US en_US dc.publisher Cornell University en_US dc.subject computer science en_US dc.subject technical report en_US dc.title A Polynomial-time Algorithm for the Change-Making Problem en_US dc.type technical report en_US
﻿