diff --git a/Makechange.pm b/Makechange.pm
index 332f744..5054cba 100644
--- a/Makechange.pm
+++ b/Makechange.pm
@@ -9,7 +9,9 @@ our @EXPORT = qw(makechange
makechange2
makechange3
makechange_greedy
- shortestarrays);
+ shortestarrays
+ sum_array
+ mean);
sub makechange {
# Just count how many ways to make change
@@ -170,10 +172,33 @@ sub shortestarrays {
return ($lowest, \@winners);
}
+sub sum_array {
+ my $aref = shift @_;
+ my $total = 0;
+ foreach my $val (@$aref) {
+ $total += $val;
+ }
+ return $total;
+}
+
+sub mean {
+ my $aref = shift @_;
+ my $length = scalar @$aref;
+ my $sum = 0;
+ foreach my $val (@$aref) {
+ $sum += $val;
+ }
+ if ($length > 0) {
+ return $sum / $length;
+ } else {
+ return undef;
+ }
+}
+
=head1 COPYRIGHT AND LICENSE
Makechange.pm
-Copyright (C) 2018 Brandon Seah
+Copyright (C) 2018 Brandon Seah
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/denomination_3_analysis.ipynb b/denomination_3_analysis.ipynb
index 7ddfe1d..761d7bb 100644
--- a/denomination_3_analysis.ipynb
+++ b/denomination_3_analysis.ipynb
@@ -319,7 +319,7 @@
},
{
"cell_type": "code",
- "execution_count": 123,
+ "execution_count": 195,
"metadata": {
"collapsed": false
},
@@ -330,15 +330,12 @@
"
\n",
" | coin1 | coin2 | coin3 | bestcount | numsolutions |
\n",
"\n",
+ "\t932 | 1 | 12 | 19 | 5.202020 | 1 |
\n",
"\t491 | 1 | 7 | 23 | 5.212121 | 1 |
\n",
- "\t577 | 1 | 8 | 18 | 5.252525 | 1 |
\n",
"\t578 | 1 | 8 | 19 | 5.232323 | 1 |
\n",
"\t671 | 1 | 9 | 22 | 5.232323 | 1 |
\n",
- "\t672 | 1 | 9 | 23 | 5.252525 | 1 |
\n",
- "\t755 | 1 | 10 | 17 | 5.252525 | 1 |
\n",
- "\t844 | 1 | 11 | 18 | 5.242424 | 1 |
\n",
- "\t932 | 1 | 12 | 19 | 5.202020 | 1 |
\n",
"\t1017 | 1 | 13 | 18 | 5.232323 | 1 |
\n",
+ "\t844 | 1 | 11 | 18 | 5.242424 | 1 |
\n",
"\n",
"
\n"
],
@@ -346,44 +343,35 @@
"\\begin{tabular}{r|lllll}\n",
" & coin1 & coin2 & coin3 & bestcount & numsolutions\\\\\n",
"\\hline\n",
+ "\t932 & 1 & 12 & 19 & 5.202020 & 1 \\\\\n",
"\t491 & 1 & 7 & 23 & 5.212121 & 1 \\\\\n",
- "\t577 & 1 & 8 & 18 & 5.252525 & 1 \\\\\n",
"\t578 & 1 & 8 & 19 & 5.232323 & 1 \\\\\n",
"\t671 & 1 & 9 & 22 & 5.232323 & 1 \\\\\n",
- "\t672 & 1 & 9 & 23 & 5.252525 & 1 \\\\\n",
- "\t755 & 1 & 10 & 17 & 5.252525 & 1 \\\\\n",
- "\t844 & 1 & 11 & 18 & 5.242424 & 1 \\\\\n",
- "\t932 & 1 & 12 & 19 & 5.202020 & 1 \\\\\n",
"\t1017 & 1 & 13 & 18 & 5.232323 & 1 \\\\\n",
+ "\t844 & 1 & 11 & 18 & 5.242424 & 1 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"| | coin1 | coin2 | coin3 | bestcount | numsolutions | \n",
- "|---|---|---|---|---|---|---|---|---|\n",
+ "|---|---|---|---|---|---|\n",
+ "| 932 | 1 | 12 | 19 | 5.202020 | 1 | \n",
"| 491 | 1 | 7 | 23 | 5.212121 | 1 | \n",
- "| 577 | 1 | 8 | 18 | 5.252525 | 1 | \n",
"| 578 | 1 | 8 | 19 | 5.232323 | 1 | \n",
"| 671 | 1 | 9 | 22 | 5.232323 | 1 | \n",
- "| 672 | 1 | 9 | 23 | 5.252525 | 1 | \n",
- "| 755 | 1 | 10 | 17 | 5.252525 | 1 | \n",
- "| 844 | 1 | 11 | 18 | 5.242424 | 1 | \n",
- "| 932 | 1 | 12 | 19 | 5.202020 | 1 | \n",
"| 1017 | 1 | 13 | 18 | 5.232323 | 1 | \n",
+ "| 844 | 1 | 11 | 18 | 5.242424 | 1 | \n",
"\n",
"\n"
],
"text/plain": [
" coin1 coin2 coin3 bestcount numsolutions\n",
+ "932 1 12 19 5.202020 1 \n",
"491 1 7 23 5.212121 1 \n",
- "577 1 8 18 5.252525 1 \n",
"578 1 8 19 5.232323 1 \n",
"671 1 9 22 5.232323 1 \n",
- "672 1 9 23 5.252525 1 \n",
- "755 1 10 17 5.252525 1 \n",
- "844 1 11 18 5.242424 1 \n",
- "932 1 12 19 5.202020 1 \n",
- "1017 1 13 18 5.232323 1 "
+ "1017 1 13 18 5.232323 1 \n",
+ "844 1 11 18 5.242424 1 "
]
},
"metadata": {},
@@ -391,7 +379,7 @@
}
],
"source": [
- "d.bydenom[which(d.bydenom$bestcount <= 1.01* min(d.bydenom$bestcount)),]"
+ "head(d.bydenom[order(d.bydenom$bestcount),])"
]
},
{
@@ -1361,7 +1349,7 @@
},
{
"cell_type": "code",
- "execution_count": 160,
+ "execution_count": 198,
"metadata": {
"collapsed": false
},
@@ -1372,13 +1360,12 @@
"\n",
" | coin1 | coin2 | coin3 | snscost |
\n",
"\n",
+ "\t698 | 1 | 9 | 49 | 4.425469 |
\n",
+ "\t679 | 1 | 9 | 30 | 4.687068 |
\n",
+ "\t608 | 1 | 8 | 49 | 4.744324 |
\n",
"\t425 | 1 | 6 | 49 | 4.762093 |
\n",
"\t517 | 1 | 7 | 49 | 4.802567 |
\n",
- "\t608 | 1 | 8 | 49 | 4.744324 |
\n",
"\t669 | 1 | 9 | 20 | 4.811451 |
\n",
- "\t679 | 1 | 9 | 30 | 4.687068 |
\n",
- "\t689 | 1 | 9 | 40 | 4.818361 |
\n",
- "\t698 | 1 | 9 | 49 | 4.425469 |
\n",
"\n",
"
\n"
],
@@ -1386,38 +1373,35 @@
"\\begin{tabular}{r|llll}\n",
" & coin1 & coin2 & coin3 & snscost\\\\\n",
"\\hline\n",
+ "\t698 & 1 & 9 & 49 & 4.425469\\\\\n",
+ "\t679 & 1 & 9 & 30 & 4.687068\\\\\n",
+ "\t608 & 1 & 8 & 49 & 4.744324\\\\\n",
"\t425 & 1 & 6 & 49 & 4.762093\\\\\n",
"\t517 & 1 & 7 & 49 & 4.802567\\\\\n",
- "\t608 & 1 & 8 & 49 & 4.744324\\\\\n",
"\t669 & 1 & 9 & 20 & 4.811451\\\\\n",
- "\t679 & 1 & 9 & 30 & 4.687068\\\\\n",
- "\t689 & 1 & 9 & 40 & 4.818361\\\\\n",
- "\t698 & 1 & 9 & 49 & 4.425469\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"| | coin1 | coin2 | coin3 | snscost | \n",
- "|---|---|---|---|---|---|---|\n",
+ "|---|---|---|---|---|---|\n",
+ "| 698 | 1 | 9 | 49 | 4.425469 | \n",
+ "| 679 | 1 | 9 | 30 | 4.687068 | \n",
+ "| 608 | 1 | 8 | 49 | 4.744324 | \n",
"| 425 | 1 | 6 | 49 | 4.762093 | \n",
"| 517 | 1 | 7 | 49 | 4.802567 | \n",
- "| 608 | 1 | 8 | 49 | 4.744324 | \n",
"| 669 | 1 | 9 | 20 | 4.811451 | \n",
- "| 679 | 1 | 9 | 30 | 4.687068 | \n",
- "| 689 | 1 | 9 | 40 | 4.818361 | \n",
- "| 698 | 1 | 9 | 49 | 4.425469 | \n",
"\n",
"\n"
],
"text/plain": [
" coin1 coin2 coin3 snscost \n",
+ "698 1 9 49 4.425469\n",
+ "679 1 9 30 4.687068\n",
+ "608 1 8 49 4.744324\n",
"425 1 6 49 4.762093\n",
"517 1 7 49 4.802567\n",
- "608 1 8 49 4.744324\n",
- "669 1 9 20 4.811451\n",
- "679 1 9 30 4.687068\n",
- "689 1 9 40 4.818361\n",
- "698 1 9 49 4.425469"
+ "669 1 9 20 4.811451"
]
},
"metadata": {},
@@ -1425,7 +1409,7 @@
}
],
"source": [
- "d.snsdistro[which(d.snsdistro$snscost <= 1.1*min(d.snsdistro$snscost)),]"
+ "head(d.snsdistro[order(d.snsdistro$snscost),])"
]
},
{
@@ -1536,7 +1520,7 @@
},
{
"cell_type": "code",
- "execution_count": 167,
+ "execution_count": 196,
"metadata": {
"collapsed": false
},
@@ -1547,8 +1531,12 @@
"\n",
" | coin1 | coin2 | coin3 | snscost |
\n",
"\n",
- "\t769 | 1 | 10 | 31 | 4.021718 |
\n",
"\t779 | 1 | 10 | 41 | 3.918065 |
\n",
+ "\t769 | 1 | 10 | 31 | 4.021718 |
\n",
+ "\t680 | 1 | 9 | 31 | 4.119447 |
\n",
+ "\t763 | 1 | 10 | 25 | 4.125370 |
\n",
+ "\t1525 | 1 | 19 | 31 | 4.143139 |
\n",
+ "\t789 | 1 | 10 | 51 | 4.160908 |
\n",
"\n",
"
\n"
],
@@ -1556,23 +1544,35 @@
"\\begin{tabular}{r|llll}\n",
" & coin1 & coin2 & coin3 & snscost\\\\\n",
"\\hline\n",
- "\t769 & 1 & 10 & 31 & 4.021718\\\\\n",
"\t779 & 1 & 10 & 41 & 3.918065\\\\\n",
+ "\t769 & 1 & 10 & 31 & 4.021718\\\\\n",
+ "\t680 & 1 & 9 & 31 & 4.119447\\\\\n",
+ "\t763 & 1 & 10 & 25 & 4.125370\\\\\n",
+ "\t1525 & 1 & 19 & 31 & 4.143139\\\\\n",
+ "\t789 & 1 & 10 & 51 & 4.160908\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"| | coin1 | coin2 | coin3 | snscost | \n",
- "|---|---|\n",
- "| 769 | 1 | 10 | 31 | 4.021718 | \n",
+ "|---|---|---|---|---|---|\n",
"| 779 | 1 | 10 | 41 | 3.918065 | \n",
+ "| 769 | 1 | 10 | 31 | 4.021718 | \n",
+ "| 680 | 1 | 9 | 31 | 4.119447 | \n",
+ "| 763 | 1 | 10 | 25 | 4.125370 | \n",
+ "| 1525 | 1 | 19 | 31 | 4.143139 | \n",
+ "| 789 | 1 | 10 | 51 | 4.160908 | \n",
"\n",
"\n"
],
"text/plain": [
- " coin1 coin2 coin3 snscost \n",
- "769 1 10 31 4.021718\n",
- "779 1 10 41 3.918065"
+ " coin1 coin2 coin3 snscost \n",
+ "779 1 10 41 3.918065\n",
+ "769 1 10 31 4.021718\n",
+ "680 1 9 31 4.119447\n",
+ "763 1 10 25 4.125370\n",
+ "1525 1 19 31 4.143139\n",
+ "789 1 10 51 4.160908"
]
},
"metadata": {},
@@ -1580,7 +1580,7 @@
}
],
"source": [
- "d.snsdistro.complement[which(d.snsdistro.complement$snscost <= 1.05*min(d.snsdistro.complement$snscost)),]"
+ "head(d.snsdistro.complement[order(d.snsdistro.complement$snscost),])"
]
},
{
@@ -1682,9 +1682,236 @@
" coin2 == 10 & coin3 == 41)"
]
},
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## What is good for both customer and cashier?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "For each denomination, we take the mean empirical cost for cashier and the mean empirical cost for customer (cost to change 100-x) and calculate the average. Thus we find compromise which optimizes for both cashier and customer"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 201,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "d.snsdistro.combine <- merge(d.snsdistro,d.snsdistro.complement,by=c('coin1','coin2','coin3'))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 203,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "d.snsdistro.combine$meancost <- (d.snsdistro.combine$snscost.x + d.snsdistro.combine$snscost.y) / 2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 204,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "coin1 | coin2 | coin3 | snscost.x | snscost.y | meancost |
\n",
+ "\n",
+ "\t1 | 10 | 11 | 7.628825 | 4.987167 | 6.307996 |
\n",
+ "\t1 | 10 | 12 | 6.719645 | 5.044423 | 5.882034 |
\n",
+ "\t1 | 10 | 13 | 6.105627 | 5.212241 | 5.658934 |
\n",
+ "\t1 | 10 | 14 | 5.919052 | 4.760118 | 5.339585 |
\n",
+ "\t1 | 10 | 15 | 7.076999 | 4.718657 | 5.897828 |
\n",
+ "\t1 | 10 | 16 | 5.824284 | 4.762093 | 5.293189 |
\n",
+ "\n",
+ "
\n"
+ ],
+ "text/latex": [
+ "\\begin{tabular}{r|llllll}\n",
+ " coin1 & coin2 & coin3 & snscost.x & snscost.y & meancost\\\\\n",
+ "\\hline\n",
+ "\t 1 & 10 & 11 & 7.628825 & 4.987167 & 6.307996\\\\\n",
+ "\t 1 & 10 & 12 & 6.719645 & 5.044423 & 5.882034\\\\\n",
+ "\t 1 & 10 & 13 & 6.105627 & 5.212241 & 5.658934\\\\\n",
+ "\t 1 & 10 & 14 & 5.919052 & 4.760118 & 5.339585\\\\\n",
+ "\t 1 & 10 & 15 & 7.076999 & 4.718657 & 5.897828\\\\\n",
+ "\t 1 & 10 & 16 & 5.824284 & 4.762093 & 5.293189\\\\\n",
+ "\\end{tabular}\n"
+ ],
+ "text/markdown": [
+ "\n",
+ "coin1 | coin2 | coin3 | snscost.x | snscost.y | meancost | \n",
+ "|---|---|---|---|---|---|\n",
+ "| 1 | 10 | 11 | 7.628825 | 4.987167 | 6.307996 | \n",
+ "| 1 | 10 | 12 | 6.719645 | 5.044423 | 5.882034 | \n",
+ "| 1 | 10 | 13 | 6.105627 | 5.212241 | 5.658934 | \n",
+ "| 1 | 10 | 14 | 5.919052 | 4.760118 | 5.339585 | \n",
+ "| 1 | 10 | 15 | 7.076999 | 4.718657 | 5.897828 | \n",
+ "| 1 | 10 | 16 | 5.824284 | 4.762093 | 5.293189 | \n",
+ "\n",
+ "\n"
+ ],
+ "text/plain": [
+ " coin1 coin2 coin3 snscost.x snscost.y meancost\n",
+ "1 1 10 11 7.628825 4.987167 6.307996\n",
+ "2 1 10 12 6.719645 5.044423 5.882034\n",
+ "3 1 10 13 6.105627 5.212241 5.658934\n",
+ "4 1 10 14 5.919052 4.760118 5.339585\n",
+ "5 1 10 15 7.076999 4.718657 5.897828\n",
+ "6 1 10 16 5.824284 4.762093 5.293189"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "head(d.snsdistro.combine)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 205,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ " | coin1 | coin2 | coin3 | snscost.x | snscost.y | meancost |
\n",
+ "\n",
+ "\t4639 | 1 | 9 | 30 | 4.687068 | 4.467917 | 4.577493 |
\n",
+ "\t4629 | 1 | 9 | 20 | 4.811451 | 4.428430 | 4.619941 |
\n",
+ "\t4640 | 1 | 9 | 31 | 5.270484 | 4.119447 | 4.694965 |
\n",
+ "\t4649 | 1 | 9 | 40 | 4.818361 | 4.582428 | 4.700395 |
\n",
+ "\t97 | 1 | 11 | 19 | 5.343534 | 4.265548 | 4.804541 |
\n",
+ "\t353 | 1 | 14 | 17 | 5.187562 | 4.517275 | 4.852419 |
\n",
+ "\n",
+ "
\n"
+ ],
+ "text/latex": [
+ "\\begin{tabular}{r|llllll}\n",
+ " & coin1 & coin2 & coin3 & snscost.x & snscost.y & meancost\\\\\n",
+ "\\hline\n",
+ "\t4639 & 1 & 9 & 30 & 4.687068 & 4.467917 & 4.577493\\\\\n",
+ "\t4629 & 1 & 9 & 20 & 4.811451 & 4.428430 & 4.619941\\\\\n",
+ "\t4640 & 1 & 9 & 31 & 5.270484 & 4.119447 & 4.694965\\\\\n",
+ "\t4649 & 1 & 9 & 40 & 4.818361 & 4.582428 & 4.700395\\\\\n",
+ "\t97 & 1 & 11 & 19 & 5.343534 & 4.265548 & 4.804541\\\\\n",
+ "\t353 & 1 & 14 & 17 & 5.187562 & 4.517275 & 4.852419\\\\\n",
+ "\\end{tabular}\n"
+ ],
+ "text/markdown": [
+ "\n",
+ "| | coin1 | coin2 | coin3 | snscost.x | snscost.y | meancost | \n",
+ "|---|---|---|---|---|---|\n",
+ "| 4639 | 1 | 9 | 30 | 4.687068 | 4.467917 | 4.577493 | \n",
+ "| 4629 | 1 | 9 | 20 | 4.811451 | 4.428430 | 4.619941 | \n",
+ "| 4640 | 1 | 9 | 31 | 5.270484 | 4.119447 | 4.694965 | \n",
+ "| 4649 | 1 | 9 | 40 | 4.818361 | 4.582428 | 4.700395 | \n",
+ "| 97 | 1 | 11 | 19 | 5.343534 | 4.265548 | 4.804541 | \n",
+ "| 353 | 1 | 14 | 17 | 5.187562 | 4.517275 | 4.852419 | \n",
+ "\n",
+ "\n"
+ ],
+ "text/plain": [
+ " coin1 coin2 coin3 snscost.x snscost.y meancost\n",
+ "4639 1 9 30 4.687068 4.467917 4.577493\n",
+ "4629 1 9 20 4.811451 4.428430 4.619941\n",
+ "4640 1 9 31 5.270484 4.119447 4.694965\n",
+ "4649 1 9 40 4.818361 4.582428 4.700395\n",
+ "97 1 11 19 5.343534 4.265548 4.804541\n",
+ "353 1 14 17 5.187562 4.517275 4.852419"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "head(d.snsdistro.combine[order(d.snsdistro.combine$meancost),])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 207,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {},
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {},
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "pdf: 2"
+ ],
+ "text/latex": [
+ "\\textbf{pdf:} 2"
+ ],
+ "text/markdown": [
+ "**pdf:** 2"
+ ],
+ "text/plain": [
+ "pdf \n",
+ " 2 "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ "plot without title"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "(ggplot(d.snsdistro.combine,aes(coin2,coin3)) \n",
+ " + geom_raster(aes(fill=meancost))\n",
+ " + scale_fill_distiller(palette='Spectral')\n",
+ ")\n",
+ "\n",
+ "png(\"denomination_3_analysis_stopnshop_combined_solution_landscape.png\",height=480,width=640)\n",
+ "(ggplot(d.snsdistro.combine,aes(coin2,coin3)) \n",
+ " + geom_raster(aes(fill=meancost))\n",
+ " + scale_fill_distiller(palette='Spectral')\n",
+ ")\n",
+ "dev.off()"
+ ]
+ },
{
"cell_type": "code",
- "execution_count": 184,
+ "execution_count": 208,
"metadata": {
"collapsed": true
},
diff --git a/docs/denomination_3_analysis_stopnshop_combined_solution_landscape.png b/docs/denomination_3_analysis_stopnshop_combined_solution_landscape.png
new file mode 100644
index 0000000..65d6d39
Binary files /dev/null and b/docs/denomination_3_analysis_stopnshop_combined_solution_landscape.png differ
diff --git a/docs/prices.md b/docs/prices.md
index 60c2188..93f4af8 100644
--- a/docs/prices.md
+++ b/docs/prices.md
@@ -3,19 +3,140 @@ layout: page
title: Real-life prices
---
-In the optimal-denomination problem, we assumed that the probability of needing to make change for 1 to 99 cents was uniformly distributed. However, we know that this isn't so, because we encounter prices ending in .99 and .50 more often than, for example, .17.
+In the optimal-denomination problem, we assumed that the probability of needing to make change for 1 to 99 cents was uniformly distributed. However, we know that this isn't so, because we encounter prices ending in .99 and .50 more often than, for example, .17.
-Assuming a uniform distribution, Shallit (2003) argued that the US coinage needed an 18-cent piece. What if we used probabilities based on real-life prices?
+Assuming a uniform distribution, Shallit (2003) argued that the US coinage needed an 18-cent piece. What if we used probabilities based on real-life prices?
-## Uniform distribution
+For the following analyses, we limit ourselves to denominations comprised of 3 coins, of which there are 4753. In comparison there are 152096 denominations of 4 coins, and 3612280 of 5 coins. At least one coin must have value 1, in order to be able to change all values between 1 and 99, therefore there are really only two degrees of freedom for a 3-coin denomination.
+## The solution landscape for the optimal denomination problem
-## Real prices - Germany
+Let's first look at the 'landscape' of solutions under the assumption that all amounts to be changed between 1 and 99 cents are equally likely. Shallit's analysis only reported the best denomination using a given number of coins. However, how much better is the best denomination than the next-best ones? Are there any patterns that we can discern when looking at the change-cost of different denominations?
-Price data from Rewe website.
+First we examine the top solutions and see how they compare with each other. We'll use the word 'cost' to refer to the mean fewest-coin solution for all amounts from 1 to 99 for a given denomination.
+
+coin1 | coin2 | coin3 | cost
+------|-------|-------|---------
+1 | 12 | 19 | 5.202020
+1 | 7 | 23 | 5.212121
+1 | 8 | 19 | 5.232323
+1 | 9 | 22 | 5.232323
+1 | 13 | 18 | 5.232323
+1 | 11 | 18 | 5.242424
+
+The best denomination, `1 12 19` matches the result of Shallit, although the cost is slightly different because he calculated for values from 1 to 100 but we only do so for 1 to 99. Looking at the top denominations, it is not easy to make out any clear pattern. Instead, we try to visualize the solutions for all denominations.
+
+![](denomination_3_analysis_solution_landscape.png)
+
+The above plot shows the cost for all possible denominations, depicted by a color scale, with the values of the coins in the denominations represented by the axes of the plot. Warmer colors correspond to higher costs, while cooler colors are lower costs, which are desirable.
+
+It is immediately clear that when a denomination has two coins which are both >50 in value (e.g. `1 60 75`), the cost will be high (upper right of plot). This makes sense, because amounts < 50 will need to be changed in only 1-cent pieces. The very worst denomination is `1 98 99`.
+
+On the right side of the plot are more reasonable denominations. But it is not quite symmetrical. Among the cool blues of low-cost denominations are green streaks representing high-cost denominations. These streaks look suspiciously regular...
+
+![](denomination_3_analysis_solution_landscape_withlines.png)
+
+When we overlay lines representing 1:2, 1:3, 1:4 etc. slopes, we find that they fall nicely on top of the suboptimal solutions.
+
+We can explain this qualitatively in terms of factors. For a coinage to be versatile enough to change any number between 1 and 99, the coin values should cover as many prime factors as possible. When one coin value is a simple multiple of another, then there are on average fewer factors available, and the average cost would tend to be higher.
+
+![](denomination_3_analysis_solution_landscape_transect.png)
+
+Above are transects through the landscape plot for different values of `coin3`. For `coin3 = 30`, for example, the local peaks representing high-cost solutions occur with denominations `1 10 30`, `1 15 30`, and `1 20 30`.
+
+Solutions close to the 1:1 line are also inefficient. These represent denominations where there are two coins very close in value, e.g. `1 49 50`. The closeness of their value means that they are largely redundant, and so on average the humble 1-cent piece has to do most of the work in making up change.
+
+### Which amounts are harder to make change for?
+
+Now that we've mentioned prime factors, we have a suspicion that when the amount of money to be changed is a prime (e.g. 41 cents), it will be harder to make change for it. Is this true?
+
+The following plot shows the average fewest-coin solution for all 3-coin denominations, as the amount of money to be changed is varied.
+
+![](denomination_3_analysis_solutions_byamount.png)
+
+The prime effect is not really noticeable for amounts < 15. Otherwise, there is usually a small uptick in the mean number of coins needed to make change for prime numbers. The effect is not large, but this probably represents the fact that any effect is "averaged out" because we are taking the mean across all possible denominations.
+
+Furthermore, the broader trend peaks around 50. I'm not sure what might be an intuitive explanation for this.
+
+### Number of equally-good solutions
+
+![](denomination_3_analysis_numsolutions_landscape.png)
+
+![](denomination_3_analysis_numsolutions_transect.png)
## Real prices - USA
-Price data from Stop-and-Shop website.
+Now that we've thoroughly explored the solution landscape, instead of only picking the optimal solution, let's question the other assumption: that all prices are equally likely.
+
+The following is a histogram of the cents-part of prices from the US supermarker Stop and Shop's website.
+
+![](supermarket_change_stats_us.png)
+
+A large fraction of prices end in .99 and .49. This phenomenon is probably familiar to most readers from personal experience. It's thus clear that prices are not all equally weighted, and some amounts more often need to be changed than others.
+
+This was the original motivation for this entire analysis - In an idle moment, I wondered whether it would be worthwhile to mint a 99-cent coin.
+
+Is it?
+
+### Optimal denomination landscape using real-life prices
+
+Surprisingly - no! The optimal denomination is in fact `1 9 49`, when we use the empirical distribution of prices from Stop and Shop. It is a clear winner, just after the runner-up `1 9 30`.
+
+However it is clear how the top two solutions optimize for the commonly encountered 99 and 49.
+
+coin1 | coin2 | coin3 | weighted cost
+------|-------|-------|--------------
+ 1 | 9 | 49 | 4.425469
+ 1 | 9 | 30 | 4.687068
+ 1 | 8 | 49 | 4.744324
+ 1 | 6 | 49 | 4.762093
+ 1 | 7 | 49 | 4.802567
+ 1 | 9 | 20 | 4.811451
+
+The solution landscape now looks quite different:
+
+![](denomination_3_analysis_stopnshop_solution_landscape.png)
+
+There are some clear messages: the upper right corner (higher coin values) is a bad place to be, and the lower left (smaller values) is somewhat better. However, the criss-crossing pattern of stripes is not so straightforward to explain than the uniform-distribution scenario.
## Customer or cashier?
+
+Up to this point we have been making change for real-life prices. However, this is from the customer's perspective. What about the cashier? Faced with a price of .49, the customer has to figure out how to make change for .49, while the cashier has to make change for 1.00 - .49 = .51.
+
+Indeed, the cashier's dream denomination should be one of the following:
+
+coin1 | coin2 | coin3 | weighted cost
+------|-------|-------|--------------
+ 1 | 10 | 41 | 3.918065
+ 1 | 10 | 31 | 4.021718
+ 1 | 9 | 31 | 4.119447
+ 1 | 10 | 25 | 4.125370
+ 1 | 19 | 31 | 4.143139
+ 1 | 10 | 51 | 4.160908
+
+The solution landscape from the cashier's perspective now looks like this:
+
+![](denomination_3_analysis_stopnshop_complement_solution_landscape.png)
+
+It is actually better to be a cashier, because the mean cost for the top cashier's denomination is almost half a coin less than that for the top customer's denomination.
+
+### What's good for both?
+
+In reality, the same currency will have to be used by both customer and cashier. We can try to compromise by taking the average of the mean cost for customer and mean cost for cashier.
+
+coin1 | coin2 | coin3 | customer | cashier | combined
+------|-------|-------|----------|---------|---------
+ 1 | 9 | 30 | 4.687068 | 4.467917 | 4.577493
+ 1 | 9 | 20 | 4.811451 | 4.428430 | 4.619941
+ 1 | 9 | 31 | 5.270484 | 4.119447 | 4.694965
+ 1 | 9 | 40 | 4.818361 | 4.582428 | 4.700395
+ 1 | 11 | 19 | 5.343534 | 4.265548 | 4.804541
+ 1 | 14 | 17 | 5.187562 | 4.517275 | 4.852419
+
+The solution landscape:
+
+![](denomination_3_analysis_stopnshop_combined_solution_landscape.png)
+
+This is the final answer: `1 9 30` is the best 3-coin denomination, given real-life prices! It is probably also easier for mental arithmetic than the `1 12 19` denomination assuming a uniform distribution of prices.
+
+As far as I am aware, no real-life currency uses this denomination. However, the pre-decimal British coinage comes close (`1 3 6 12 24 30 60`), as it is built on a base-12 system.
diff --git a/makechange.pl b/makechange.pl
index 680e0ce..5c31bf0 100755
--- a/makechange.pl
+++ b/makechange.pl
@@ -279,30 +279,6 @@ sub weigh_coins {
#return \%hash;
}
-sub sum_array {
- my $aref = shift @_;
- my $total = 0;
- foreach my $val (@$aref) {
- $total += $val;
- }
- return $total;
-}
-
-sub mean {
- my $aref = shift @_;
- my $length = scalar @$aref;
- my $sum = 0;
- foreach my $val (@$aref) {
- $sum += $val;
- }
- if ($length > 0) {
- return $sum / $length;
- } else {
- return undef;
- }
-}
-
-
sub report_currencies {
foreach my $curr (sort keys %denom_weights) {
foreach my $val (sort keys %{$denom_weights{$curr}}) {