我国 1953年发行的第二套人民币有三元纸币。
这个事儿不应该打上经济学的标签,其实应该打上算法、计算机的标签。
首先说俩关键词:贪心算法,贪心选择性。
所谓贪心选择性,是指所求问题的整体最优解可以通过一系列局部最优的选择来得到。货币面值理论上设计出什么数字都行,但是目前各种货币几乎都是1、2、5、10这样的设计,一个重要原因是要让大家使用起来方便。现在举一个例子:
小明去打酱油,给售货员十元,售货员找钱1.4元。小明显然不希望找回来的全是一角的硬币。假设售货员各种面值钱币充足,为了以最少的硬币(纸币)数找给小明1.4元,售货员只需要从能用得上的最大面值开始给小明就可以了。于是售货员先拿出1元,然后拿出两张两角,任务完成。
这种策略就是贪心算法。为了获得全局最优解,在解决问题的过程中,每一步都采取当前局部最优解。但是每一步都采取局部最优解就能保证获得全局最优解了吗?显然不能。因此一个问题能不能采用贪心算法求解,要首先证明该问题具有贪心选择性质。如果一个问题具备贪心选择性,则该问题可以使用贪心法求解。
货币面值采用1、2、5、10的设计,即是为了保证贪心选择性。还是上面的例子,假设现在加入了面值为七角的钱币。这样贪心选择性就被破坏了:根据贪心法售货员找给小明三张纸币(一元,贰角,贰角)。而全局最优解是两张(七角,七角)。
加入面值为三的钱币比加入七要好一些,因为加入三不会破坏贪心选择性。但是加入三也带不来什么优势,即没法进一步降低找钱的总张数(除了3这个数能由两张降为一张……),加入3反而还会增加问题的复杂度,让人从无脑的贪心法变得需要考虑是否使用3来代替获得更优解。根据奥卡姆剃刀原则(若无必要,勿增实体),既然加入3没什么意义,不如就不要,还能省下一些印钞成本。(来源:邮币通)