Ce n'est pas une réponse mais peut-être que cela vous orientera, vous ou quelqu'un d'autre, dans la bonne direction.
J'ai trouvé l'article de D. Kozen et S. Zaks intitulé "Limites optimales pour le problème de changement" dans lequel ils donnent les conditions pour lesquelles l'algorithme de changement gourmand d'une instance de changement de pièce est optimal. J'utiliserai leur notation.
Étant donné une instance de changement de pièce de pièces distinctes
( c 1 , c 2 , c 3 , ⋯ , c m - 1 , c m ) c 1 = 1 < c 2 < c 3 < ⋯ < c m - 1 < c m
a fonction M ( x ) représentant le nombre optimal de pièces nécessaires pour changer x et une fonctionm
( c1, c2, c3, ⋯ , cm - 1, cm)
c1= 1 < c2< c3< ⋯ < cm - 1< cm
M( x )X représentant le nombre de pièces nécessaires pour changer goulûment de x , alors si M ( x ) ≠ G ( x ) , il existe un contre-exemple dans la gamme
c 3 + 1 < x < c m - 1 + c mG ( x )XM( x ) ≠ G ( x )c3+ 1 < x < cm - 1+ cm
Ils montrent ensuite que
Xc3+ 1 < x < cm - 1+ cm
G ( x ) ≤ G ( x - c ) + 1
c ∈ ( c1, c2, ⋯ , cm)
G ( x ) = M( x )
Cela nous donne un test "efficace" (jusqu'à un temps pseudo polynomial) pour déterminer si une instance de changement de pièce est gourmande ou non.
En utilisant ce qui précède, j'ai exécuté une courte simulation dont les résultats sont tracés sur une échelle log-log ci-dessous
m[ 1 ⋯ N]
m = 383N- 12
pm( N) ∝ N- ( m - 2 )2
pm( N)mN
mN
( 1 , 5 , 10 , 25 , 50 , 100 , 200 , 500 , 1000 , 2000 , 5000 , 10000 )) qui ne semblent pas être uniformément répartis. Peut-être que regarder d'autres distributions pour générer les dénominations de pièces de monnaie donnerait des résultats non triviaux dans la grande limite du système. Par exemple, une distribution de loi de puissance pourrait produire des coupures de pièces plus similaires à celles des États-Unis.