Random Number Generator

Terninger

Random Number Generator, eller RNG, bliver anvendt i forbindelse med online poker og casino spil.

Denne artikel giver et indblik i, hvad en Random Number Generator er, og hvordan den fungerer i praksis.

Der er sikkert mange, der adskillige gange har siddet ved et pokerbord på nettet, spillet på den rette måde, og alligevel tabt til dårligere spillere.

Der er sikkert også andre, der i den forbindelse har været ved at sprænges af raseri, når man taber med AA til 52 off suit. Der er sikkert også mange, der ofte har udtalt: ”Random Number Generator min bare …”

Af Wombaza aka Babedoc

 

Artiklens formål

Denne artikel har til formål at give en bedre forståelse af, hvad en Random Number Generator er, hvordan den fungerer, og hvorfor man bruger den.

Artiklen vil ikke komme ind på det matematiske princip bag. Om dette kan læseren selv henvende sig til forfatteren eller udforske nærmere.

(artiklen fortsættes...)

Vi anbefaler disse sikre pokersites

 

(...)

Baggrund for denne artikel

Lad os til at begynde med antage, at alle spiller efter bogen. Dvs. at alle har styr på pot odds, outs, position bet / raise etc. Selvom man har styr på disse elementer, er det dog ingen garanti for, at man er kongen af pokerbordet.

Der er flere faktorer, der skal inddrages i overvejelserne. Denne artikel vil koncentrere sig om en enkelt af faktorerne: Den måde hvorpå kort bliver udvalgt i online pokerspil.

Nogle anser det for at være en fordel ved internet poker, at man ikke kan afsløre tells overfor personen ved, at man f.eks. skælver i stemmen, at man ryster eller lignende.

Taler man om online poker er der andre faktorer, der spiller ind.

Disse faktorer er mere analysen af modstanderens spil, dvs. om man kan se et mønster i den måde vedkommende better, caller, raiser, re-raiser etc.

Når man spiller online, kan man kun spille efter statistikken og så ellers have tillid til, at man i det lange løb vil vinde. Dvs. tillid til pokersitet, tillid til at man er god nok til at anvende statistikken, samt tillid til at ens eventuelle dårlige periode med bad beats vender.

 

Tvivlen

Engang imellem tvivler man alligevel på, at kortuddelingen nu sker lige så tilfældigt som på et casino eller ved en anden pokerturnering, hvor en dealer blander.

Der er sikkert flere af læserne, som kender følelsen.

Poker er et forunderligt spil.

Senest har forfatteren tabt utallige gange med AKos til A10os. Men den egentlige baggrund skal findes for 4 måneder siden, hvor jeg 19 gange i træk tabte med et højt par, hvilket vil sige QQ-KK eller AA, til et lavere par. Senest med AA til 22.

Forfatteren har set folk på diverse pokersites skrive, at det pågældende site favoriserer den svageste hånd. I flere tilfælde har forfatteren sågar hørt om pokersites, som bliver beskyldt for at sætte poker bots op til at lave standardraises for at få potten op, så der betales mere i rake. 

Udbrud om at kortene ikke falder tilfældigt er også ret almindelige.

Alt dette vil artiklen vende tilbage til. Ovenstående tvivl gjorde forfatteren, og derfor skrev jeg denne artikel.

 

Hvad er en RNG?

Som ordene Random Number fortæller, vil det være tilfældige tal der udvælges, og ordet Generator angiver den måde, hvorpå de bliver genereret. Dvs. en Random Number Generator er et stykke software som returnerer et tilfældigt tal.

Hvorfor det egentlig er forkert at kalde det for et tilfældigt tal, vil artiklen senere komme ind på. Mere korrekt vil det nok være at definere en RNG som:

Et stykke software designet til at genere en sekvens af tal, som ikke har nogen gennemskuelige mønstre, således at sekvensen kan blive betegnet som tilfældig.

En RNG eksisterer også uden for den computerskabte verden. Tænk blot på at slå plat eller krone, slå med en terning eller blanding af spillekort.

 

Hvordan fungerer en Random Number Generator?

De tal, der bliver genereret, konverteres til kort, som brugeren ser på skærmen.

Ud fra kortsammensætningen køres et script, som sammenligner de hænder, som nu bliver spillet. Ud fra dette script afgøres hånden.

En RNG er derfor det stykke software, der genererer det ”tilfældige” tal. For at en pc kan beregne en værdi, har den brug for en algoritme (en algoritme er et endeligt antal instruktioner der udfører en beregning).

Hvis den f.eks. skal beregne 2 + 2 og returnere værdien 4, skal den bruge en algoritme til at lave denne beregning. Det samme scenario gør sig gældende, når den skal returnere et tilfældigt tal, hvilket den kun kan ud fra en algoritme.

Et eksempel på en generator er en såkaldt kongruens-algoritme, som kan se ud som følgende:

xi = (axi-1 + c) mod m

Hvor a, c og m er konstant og ”mod” står for en heltals ision.

Konstanterne a, c og m kan ikke bare vælges tilfældigt. Denne algoritme tager udgangspunkt i det forrige tal og vil ud fra dette generere et nyt ”tilfældigt” tal. Dvs. for at starte algoritmen, skal algoritmen tage udgangspunkt i et tildelt tal.

En computeren er meget statistisk af natur, og derfor vil den skulle bruge en algoritme til at udvælge et tilfældigt tal. For at computeren kan udvælge et tilfældigt tal, bliver den nødt til at tage udgangspunkt i et tal, en konstant.

Hvis denne konstant er ens hver gang, vil det tilfældige tal også være ens hver gang, hvis de andre konstanter ligeledes er ens. Derfor bliver man nødt til at lave ”støj”, hvorpå konstanterne varierer fra gang til gang.

Støjen vil typisk tage udgangspunkt i flere forskellige faktorer.

For det første kan man anvende den forrige hånd, hvorpå konstanten vil variere. I hånden kan man tage udgangspunkt i antal personer, der sidder ved bordet, tidspunktet for hånden, der blev spillet, og lignende ting. Desuden kan man kombinere dette med serverens klokfrekvens.

På den måde vil man aldrig få 2 hænder, der som udgangspunkt er ens. Da der er tale om et kortspil med 52 kort, kan man ikke undgå, at der er 2 hænder, hvor kortene falder på nøjagtig samme måde. Men situationen vil være sjælden. Hvis man spiller på et casino, vil man også kunne opleve en situation, hvor kortene falder på nøjagtig samme måde.

 

Hvorfor bruge en RNG?

For at man kan have et spil, der er lige for alle, skal man bruge en generator til at udvælge kortene.

Tænk på et pokerbord på et casino. Når der blandes kort, vil croupieren typisk tage kortene og sprede dem på bordet og blande dem, som når man spiller fisk.

Efterfølgende vil der blive blandet på den mere traditionelle metode, for derefter at tage af bunken før der gives kort. Ikke engang denne metode kan siges at være 100% tilfældig, da metoden er afhængig af eksterne faktorer.

Det kan være, at kortene er en smule fedtede, croupieren anvender samme metode hver gang, eller kortene ligger på samme måde som sidst.

På samme måde med en Random Number Generator.

Forskellen er dog, at en computer er deterministisk, og derfor vil man altid kunne se et mønster i den måde, hvorpå den laver beregningerne. Et online pokerspil vil derfor ikke være muligt uden en RNG, da man har brug for en RNG, som kan simulere en kortblanding af en person.

 

Vil en RNG levere 100% tilfældige tal?

Lad os starte med at slå fast én gang for alle: En RNG kan ikke levere et tilfældigt tal!

Dem som har lidt forstand på en pc og computerprogrammer ved, at computerprogrammer er forudsigelige og frem for alt systematiske. Derfor kan en pc ikke skabe tilfældige tal, men kan skabe en række sekvenser af ”tilfældige” tal.

Hvis konstanten, som computeren tager udgangspunkt i, er den samme hver gang, går tendensen i retning af, at der vil kunne påvises et mønster i de tilfældige tal.

Selv med forskellige konstanter vil der efter utroligt mange hænder kunne påvises en sandsynlighed for, at nogle tal oftere forekommer end andre.

Nu er der sikkert mange der tænker, at hvis en RNG ikke kan levere 100% tilfældige tal, hvordan kan vi så spille et spil, hvor tilfældigheder skal være det mest væsentlige?

Det kan man ud fra talsekvenserne, hvilket senere vil blive bedre beskrevet.

 

Kompleksitet imod tilfældighed

Flere Random Number Generators er komplekse i deres måde at udvælge det tilfældige tal. Man forveksler ofte kompleksitet med tilfældighed.

Lad os slå fast med det samme, at kompleksitet og tilfældighed på ingen måde kan sammenlignes.

Men når man nu ikke kan lave tilfældige tal, så kan man i det mindste lave generatoren så kompleks, at ingen kan se sammenhængen.

De tal, som kommer ud af generatorer, kaldes for semi- eller pseudotilfældige tal. De nærmer sig meget 100% tilfældighed, men vil aldrig kunne opnå dette.

 

Hvorfor så kalde det for tilfældige tal?

Når RNG er ufattelig kompleks sammenholdt med en ekstrem stor sekvens, så betegnes tallet tilfældigt eller pseudotilfældigt.

Teknisk set er de ikke tilfældige, men kombinationen af en stor sekvens og pseudotilfældigt tal bevirker, at de er ugennemskuelige med hensyn til at finde et mønster.

Dermed er det så godt som umuligt at finde frem til, hvilket tal der kommer næste gang. Og dermed hvilket kort, der kommer på bordet.

 

Sikkerhed i online poker

Så kan man stille sig selv spørgsmålet: Hvis man finder frem til den RNG, som det enkelte pokersite anvender, kan man så ikke finde frem til hvilket kort der næste gang lander på bordet?

Jo, det kunne man nok godt, men god fornøjelse med at finde frem til den RNG...

Det er langt fra lige til, og det ville nok kræve en del ressourcer fra diverse pc’ere for at finde den. Selvom man fandt frem til algoritmens udformning, vil det stadig være påkrævet, at man ved, hvordan konverteringen fra tal til kort finder sted samt hvilke konstanter, den tager udgangspunkt i.

Med andre ord er det mere eller mindre umuligt.

Flere læse har sikkert hørt om hjælpeværktøjer til poker (f.eks. Pokertracker). Disse værktøjer tager ikke udgangspunkt i RNG’en. De tager udgangspunkt i det rent statistiske ved spillet. Dvs. andre tidligere spillede hænder imod modspillerne, avg. pot, betsize, antal spillede hænder etc.

 

Bots

Bots til at spille på diverse sites har intet med RNG’en at gøre.

Hvis dette begreb eksisterer, vil det i bund og grund være for at få ekstra rake ud af spillerne, ved at det bliver et mere loose bord.

 

Spillernes udbrud

Konklusionen på artiklen er, at, jo, alle de udbrud, som er rettet imod Random Number Generators, faktisk godt kan være sande. Dette er selvfølgelig, hvis et poker site anvender en så dårlig RNG, at den rent faktisk ikke leverer en tilpas stor sekvens af pseudotilfældige tal.

Det er dog forfatterens holdning, at dette IKKE er tilfældet.

Forklaringen skal nok findes i, at vedkommende er inde i en dårlig periode og dermed giver nogen eller noget skylden for, at man har tabt en given hånd. I stedet for at skyde skylden på software, bør man nok skyde skylden på ens egen viden om poker.

Et godt sted at starte vil være at læse nogle af de andre fremragende artikler herinde, så som 10 tommelfingerregler, Table selection og Bankroll management samt nogle af de andre artikler.

Det er forfatterens holdning, at de pokersites, som ikke har en RNG der leverer tilstrækkeligt antal pseudotilfældige tal, vil blive fravalgt i det lange løb.

Derfor er mit råd, at man ikke skal koncentrere sig så meget om RNG’en på sitet, men mere vælge efter om man kan lide softwaren visuelt, samt om man kan lide den måde der spilles på sitet.

Denne artikel var pristager i Texaspoker.dk´s artikelkonkurrence i 2008.