Artikel top billede

Foto: Danske Spil

Sådan regner Danske Spils it-system dine Lotto-tal ud

Det er ikke helt tilfældigt, at tallene på din Lotto-kupon er tilfældige. Det udsagn kræver naturligvis en forklaring, og den får du her, sammen med et tip om, hvordan du (i teorien) kan snyde dig til syv rigtige.

Drømmer du om et vinslot i Sydfrankrig, BMW's nyeste, muligheden for at sige jobbet op og træne til den Ironman, du altid har ønsket dig at gennemføre?

Alle de drømme, som det berømte slogan "Tænk hvis du vandt i Lotto," er bygget op om.

Men hvordan finder man egentlig frem til de guldrandede cifre, der kan gøre drømmen til virkelighed?

Det drog jeg til Brøndby, hvor Danske Spil har deres servere stående, for at finde ud af.

Og her viser det sig, at det langt fra er tilfældigt, at de tal, der er på din lotto-kupon er (næsten) helt tilfældige.

"For helt tilfældige er tallene ikke, men de er tilfældige nok til at give mening for os," fortæller Søren Kofoed Weeke, der er it-direktør i Danske Spil, efter vi har sat os tilrette ved et rundt bord i hans kontor med en kop kaffe fra kanden.

"Nerven i spil som Lotto eller Joker, der ikke bygger på færdigheder, er tilfældighed. Derfor er tilfældighed noget, vi tager meget alvorligt."

Det, jeg gerne vil vide, er, om man kan snyde Lotto-systemet, afbryder jeg ham.

Den opmærksomme læser er sikkert allerede blevet strejfet af tanken om, at det svar aldrig bliver viderebragt, hvis det er ja, men Søren Kofoed Weeke overrasker nu alligevel lidt, da han begynder at forklare:  

"Man kan ikke snyde med at gætte selve Lotto-tallet. De bygger på fysiske tilfældigheder. Hvis man skal snyde, skal man udnytte, at man kan gætte, hvad andre har på deres kuponer for at få større gevinst."

"Hvis du har den algoritme, som vi anvender, samtidig med det tal, vi bruger som udgangstal, der typisk er et nicifret tal, og som hele tiden ændres, så får du de samme tal, som vi udtrækker," siger han og fortsætter:

"Så kunne du forudse, hvad andre spiller og spille på noget andet. Men du skal have mange kuponer til din rådighed eller kende vores præcise algoritme og starttal, og det er i praksis ikke muligt."

Han fortæller blandt andet, at algoritmen, der anvendes til at frembringe de pengegivende cifre, er certificeret ud fra alle kunstens regler, og er afprøvet gennem generationer.

"Jeg vil ikke fortælle, hvad det er for en algoritme, men vil da godt afsløre, at den ikke er opfundet af os, og er tilgængelig for mange andre end os. Det er en standardalgoritme, der kan bruges af alle."

Kan man ikke bryde ind i jeres system og stjæle algoritmen eller købe en kopi?

"Det kan man i teorien godt, men du skal stadig kende udgangstallet. Teknisk set hjælper det dig ikke særligt meget," fortæller Søren Kofoed Weeke.

"Og for de rigtige Lotto-tal, vi trækker, kan du ikke finde et system. Det er der mange, der har prøvet, men det er ikke muligt."

Den ikke helt tilfældige tilfældighed

Men lad os lige begynde et helt andet sted:

Det er lørdag formiddag, og du er ved at afslutte dagens indkøb med et hurtigt smut i kiosken for at købe en Lotto-kupon.

Den unge pige bag disken bevæger sig hen til Lotto-maskinen, der på trods af at være camoufleret som et kasseapparat, egentlig er en helt almindelig computer.

"Når en kupon bestilles ude i butikken, så danner systemet en kupon ud fra vores algoritme. Herefter printes bestillingen sammen med en unik stregkode, som kan genkende kuponen, hvis der er gevinst. Det er faktisk helt det samme system, vi bruger på vores websted bare pakket ind i en web-skal." fortæller han.

Den ikke tilfældige tilfældighed

Når en lotto-spiller sætter sin fulde tillid til, at Danske Spil kan udarbejde en kupon med tilfældige tal, er det naturligvis ud fra en forventning om, at alle spillere har den samme chance for at vinde eller tabe.

Derfor skal der være 100 procent tillid mellem spiller og udbyder om, at de tal, der printes på kuponen, er tilfældige.

Lad os lige slå fast, hvad tilfældighed egentlig er.

Ordbogen peger blandt andet på, at "en hændelse kaldes en tilfældighed, hvis den er uforudsigelig." En forklaring, der faktisk passer godt i denne sammenhæng, hvor der ikke må tegne sig et mønster.

"En god algoritme er ikke helt tilfældig, men det er meget tæt på"

Udfordringen er, at en computer ikke bare kan diske op med et tilfældigt tal, det skal der en algoritme til at klare. Tilfældighed kan således gradbøjes, fordi algoritmer kan være gode eller dårlige til at være tilfældige.

En god algoritme er stadig ikke helt tilfældig, men det er meget tæt på.

"Det vigtige er, at man ikke kan forudsige resultatet ud fra et mønster. Og i de gode algoritmer, der bruges til at beregne tilfældighed, skal man ud i ekstremt store antal tal, før man kan se mønstre. For et Lotte-spil er det langt rigeligt i forhold til tilfældighed."

Danske Spils algoritme anvender samme logik som i kryptering, der også er baseret på, at man ikke kan regne baglens, eller på anden måde kan se et mønster i processen.

Helt praktisk har Danske Spil fået certificeret sin algoritme. Videnskabsfolk fra DTU har lavet en rapport, der siger, at den er tilfældig nok.

"I vores algoritme skal tallene eksempelvis fordeles pænt ud, og der må ikke være dubletter."

Når algoritmemodellen er på plads på harddisken vælges et grundtal, som danner udgangspunkt for, hvilke tal algoritmen frembringer. En teknik man også kender fra kryptografien.

Når der kommer en forespørgsel fra en kiosk eller fra websiden, så bedes algoritmen om at finde den næste stribe tal, der tilsammen danner en Lotto-kupon.

Jokertallet kommer fra en LED-lampe

Joker-spillet er lidt anderledes end Lotto, da en kupon består af to Joker-tal. Her havde Danske Spil for nylig et eksempel på en fejl i systemet.

Når maskinerne overtager magten

En mand henvendte sig nemlig med to forskellige kuponer, som han havde købt. På begge kuponer var de to Joker-tal ens.

Det må ikke ske, og ifølge Danske Spil er sandsynlighed for at det sker på 1 til 100 billioner. Altså så astronomisk lille, at man forventer, der er tale om en fejl i den måde, som systemet er at op på, og ikke en fejl i algoritmen.

"At den samme spiller også skulle ende netop disse to ens kuponer, er endnu mindre sandsynligt. Derfor er fejlen nok vores. Når der sker fejl af denne type, så skyldes det givetvis, at vi har lavet en programmeringsfejl," fortæller Søren Kofoed Weeke.

"Det, vi rent praktisk gjorde, var at vælge et nyt starttal og nulstille algoritmen."

Joker-tal kommer faktisk fra et lysglimt.

"På vores Joker-trækning danner vores system tilfældige tal. Til at danne disse tal benytter vi en tilfældighedsgenerator, der er baseret på deling af fotoner fra lys.,"

Det lyder meget besværligt, men der er faktisk bare tale om en LED-lampe, der sender et lys gennem et spejl. Spejlet sender lyset i en af to tilfældige retninger.

Enten bliver det til et nul, eller også bliver det til et - altså det binære talsystem, som anvendes af en computer. Når der er nuller og ettaller nok til at danne et tal, som kan bruges i en Joker-trækning, så er den klaret.

Hele denne proces er samlet på noget så simpelt som et indstikskort, der til forveksling ligner et grafikkort, som kan sættes i en server. Boksen med LED-pæreren er fem gange fem centimeter lang og to centimeter tyk.

"Der er naturligvis også knyttet et stykke software til, som kan styre processen, men det er ikke så kompliceret," siger Søren Kofoed Weeke, efter han har været forbi en kollega for at hente et reserve-printkort, som han viser frem.

Når maskinerne overtager magten

Når Danske Spil fra tid til anden oplever fejl, er det i egne rækker, der først bliver ledt. Sandsynligheden for at finde problemet her er klart den største.

Tidligere nævnte jeg en spiller, der havde fået to ens kuponer. I en anden episode fik en stor portion Lotte-spillere mail med information om helt forkerte gevinster.

Også her var det en intern smutter.

Der skete det, at computeren overtog kontrollen over processen. Man kan sige, at uheldet opstod, fordi programmørerne havde været for grundige.

"Vores it-system er bygget meget stabilt, og i dette tilfælde, hvor en enkelt spiller vist fik en gevinst på størrelse med bruttonationalproduktet, var det netop på grund af stabilitet," forklarer Søren Kofoed Weeke om episoden, og fortsætter:

"Vi havde skrevet en rettelse til systemet, men den blev ikke implementeret korrekt, fordi systemet var bygget så solidt. Computeren vandt over mennesket på grund af programmeringsfejl."

Hvad gør I, når det går galt?

"Det er faktisk ret enkelt. Vi slukker for systemerne. Det er vigtigere, at vores resultater er helt korrekte, end at det går hurtigt. Det forstår spillerne godt," fortæller Søren Kofoed Weeke.

"Der kan jo desværre ske menneskelige fejl eller programmeringsfejl, selv om vi tester. Men i det tilfælde slukker vi."




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
Alfapeople Nordic A/S
Rådgivning, implementering, udvikling og support af software og it-løsninger indenfor CRM og ERP.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
EA Excellence Day

Hvad er det, der gør it-arkitektens rolle så vigtig? Og hvad er det for udfordringer inden for områder som cloud, netværk og datacentre, som fylder hos nogle af landets bedste it-arkitekter lige nu? Det kan du her høre mere om og blive inspireret af på denne konference, hvor du også får lejlighed til at drøfte dette med ligesindede.

23. april 2024 | Læs mere


AI Business Excellence Day – sådan folder du mulighederne ud

Mange danske virksomheder har eksperimenteret med AI-projekter af begrænset omfang, men kun de færreste har for alvor udforsket mulighederne i storskala. Det gør vi her! Du vil blandt andet få mulighed for at se eksempler på, hvordan AI kan anvendes som accelerator i storskala og skubber til grænserne for, hvordan det er muligt at integrere teknologien, så potentialet for alvor foldes ud.

24. april 2024 | Læs mere


Unbreakable - sådan sikrer du dig vedvarende og uafbrudt adgang til dine data

Vi dykker ned i værdien af en stabil og pålidelig storage-platform og hvilke muligheder der findes, for at sikre den højeste grad af redundans og tilgængelighed. Områder som date-beskyttelse og cyber-sikkerhed vil også blive berørt.

25. april 2024 | Læs mere