Jeg antar at du lagrer frekvensene som flyttall mellom 0 og 1 som totalt å lage en.
Først bør du forberede en tabell over kumulative frekvenser, det vil si summen av hyppigheten av bokstaven og alle bokstavene før det.
For å forenkle, hvis du starter med dette frekvensfordeling:
A 0.1
B 0.3
C 0.4
D 0.2
Din kumulativ frekvens bord vil være:
A 0.1
B 0.4 (= 0.1 + 0.3)
C 0.8 (= 0.1 + 0.3 + 0.4)
D 1.0 (= 0.1 + 0.3 + 0.4 + 0.2)
Nå generere et tilfeldig tall mellom 0 og 1, og se hvor i denne listen som nummer ligger. Velg bokstaven som har den minste kumulative frekvensen større enn tilfeldig tall. Noen eksempler:
Si at du tilfeldig plukke 0.612. Denne ligger mellom 0,4 og 0,8, dvs. mellom B og C, slik at du vil velge C.
Hvis tilfeldig tall var 0.039, som kommer før 0.1, dvs. før A, så velg A.
Jeg håper det er fornuftig, ellers gjerne spørre om avklaringer!