antor skrev:Om jag gör samma sak att jag upprepar, så får jag 5,92291 i medel baserad på en miljon tester. Det är bättre än 8 för tre bollar
Jättebra! Det teoretiska värdet är 160/27 eller om man så vill
1.98 bitar / boll (jämfört med 2.67 bitar per boll tidigare).
Som du noterar räcker det nu att "kasta bort" 5/32 istället för 1/4 av alla tal som genereras. Det går faktiskt att använda de överblivna talen i nästa runda (dynamisk programmering). Med lite hokuspokus kan man åtminstone komma upp i en effektivitet av 30/32 i snitt. Men dessa metoder blir snabbt mycket krångliga, särskilt om man vill bevara en strikt binomialfördelning och inte fuskar med lookuptables.
Betydligt enklare och mer effektivt är att anpassa strängens längd n till antal tärningskast m (antal bitar). För ett givet n blir m
det minsta heltal som uppfyller
m.gif
Om vi istället för 3 väljer att räkna på 5 omgångar, dvs n=5, m=8 får vi
ev.gif
Eller om man så vill
1.69 bitar / boll.
Det går naturligtvis att hitta bättre en anpassning än så, faktum är att det hela blir ett intressant minimeringsproblem som har ett vackert lägsta värde. I praktiken är dock 5 ett mycket bra val.