• 2008-03-17 15:39:43
  • brian

Az online póker bölcsője

Akármilyen furcsa, a világ első online pókerterme, a Planet Poker, mindössze tízéves - csupán ennyi ideje lehet valódi pénzben játszani az interneten.

Azonban a szerencsejáték már hamarabb meghonosodott a világhálón, s amikor az online póker kezdetéről beszélünk, nem lehet kihagyni a kaszinókat, melyek évekkel előzték meg az internetes pókertermeket, és bizonyos mértékig kitaposták számukra az utat.

1994-ben egy kis karibi ország, Antigua és Barbuda hozott egy törvényt (Free Trade and Processing Zone Act), mely katalizátorként hatott az online szerencsejáték-iparra: ez a törvény lehetővé tette internetes szerencsejáték-engedélyek kiadását. Még ma is sok online szerencsejáték-cég van Antiguán bejegyezve.

Még ebben az évben megalapították a Microgaminget, az egyik legnagyobb internetes kaszinóprogram-fejlesztő céget. 1995-ben hozták létre a Cryptologicot azzal a céllal, hogy olyan szoftvercsomagot készítsenek, mely biztonságossá és hatékonnyá teszi a tranzakciókat. Bár a MicroGaming programjának nagy szerepe volt az iparág fejlődésében, nem ők nyitották az első online kaszinót, hanem az Internet Casino Inc.: 1996 októberében kezdett működni az Internet Casino, itt lehetett először igazi pénzt feltenni egy játékra. Az iparág óriási növekedésnek indult, és 1998 végére éves bevétele elérte a 850 millió dollárt. 2000-ben nagyjából 700 online kaszinó működött, és megszülettek az első kormányintézkedések is az online szerencsejáték korlátozásról: az Egyesült Államokban háromszor bukott meg az a törvény, mely megtiltotta volna a szerencsejátékot az interneten, Ausztráliában azonban keresztülment a törvényhozáson az Interactive Gambling Moratorium Act, mely minden 2000 után alapított szerencsejátékcégnek megtiltotta, hogy az országban működjön. (Előtte már létrehozták a Lasseters nevű állami céget, amely ma is működik.) De előreszaladtam, ekkor már a kaszinók mellett online pókertermek is működtek.

Azonban az online pókertermek nem a kaszinókból fejlődtek ki, a mai online póker őse az IRC póker. Az IRC-t, azaz Internet Relay Chatet (Valós idejű kommunikáció) egy finn programozó, Jarkko Oikarinen fejlesztette ki az oului egyetemen. Az IRC-vel nem csupán két személy tudott beszélgetni egymással, hanem létre lehetett hozni "szobákat", amelyekben egyidejűleg többen is beszélgethettek. Nem telt sok időbe, hogy játékok jelenjenek meg az IRC-n, többek között a póker is.

Póker Az IRC póker egy olyan programot használt az osztáshoz és a játék vezérléséhez, amelynek egysoros parancsokat lehetett küldeni egy szabványos IRC klienssel, és ami szintén egysoros válaszokat adott. Hamarosan grafikus IRC klienseket fejlesztettek ki, és nem kellett többé gépelni. Az egyik legelső osztóprogramot (Hbot) Anthony Chang alkotta, de ez még csak hold'em leosztásokat generált. Erre figyelt fel Todd Mummert és Greg Reynolds, és a rec.gambling.poker fanatikusai segítségével létrehozta az IRCbotot, ami már számos játéktípust tudott kezelni. Nem csak készpénzes játékot lehetett játszani, versenyeket is rendeztek. Az IRC pókernek különböző szintjei voltak, a #holdem2-höz és #holdem3-hoz nagyobb pókertőke kellett, így csak azok játszhattak ott, akik az alacsonyabb szinteken következetesen nyertek. Akkoriban sokkal komolyabban vették a játékpénzes pókert: számos valódi pénzben, 20$-40$-os alapon játszó pókerjátékos tűnt fel az IRC póker játékterén, hogy a leosztások gyorsaságát kihasználva stratégiákat dolgozzon ki és fejlessze képességeit. Azonban nem közülük került ki a leghíresebb IRC pókerjátékos: Chris "Jesus" Ferguson évekig uralta a versenyek toplistáját, még azután is, hogy1994-ben abbahagyta az IRC pókert.

A Randy Blumer által alapított Planet Poker, a világ első online pókerterme 1997 augusztusában nyílt meg, és akkor még csak játékpénzes Texas hold'emet kínált. 1998 februárjától kezdve lehetett valódi pénzzel is lehetett játszani a Planet Pokeren, és ezzel elkezdődött az, amit ma online pókernek hívunk.

A Planet Pokeren kezdetben mindössze 3$/6$ alapú limites hold'emet lehetett játszani, és csak 1999-ben bővítették a kínálatukat 5$/10$ és 10$/20$ alapra is. 5% rake-et szedtek, ez mai napig standard az online pókertermekben, a 3$-os határt már erősen feszegetik. Verseny nem volt, az első online tornákat Dutch Boyd hírhedt PokerSpot nevű termében rendezték 2000-ben. Studot és Omahát sem lehetett játszani, ezeket a játékokat az 1999-ben megjelenő Paradise Poker vezette be az internetre.

Az első időkben nem volt könnyű helyzetben az online póker. Az emberekben kétségek merültek fel a realisztikusságot illetően: hogyan blöffölhetünk, vagy ismerhetünk fel egy blöfföt, ha nem nézhetünk az ellenfelünk szemébe? Erre az volt a válasz, hogy valóban nem ítélhetünk a játékostársaink gesztusai alapján, de jobban a kártyákra összpontosíthatunk az olyan zavaró tényezők kizárásával, mint az ellenfeleink öltözködése és viselkedése, a cigarettafüst, stb. Ráadásul az ellenfeleink licitálási szokásai így is felmérhetőek, talán tisztábban is, hisz nincs, ami elvonná a figyelmünket.

A másik tényező, amelybe a kétkedők kapaszkodtak, a biztonság volt: hogyan bízhatunk meg a játék tisztaságában, ha nem látjuk saját szemünkkel a keverést és az osztást? A biztonsági kétségeket a játékosok kifogástalan kezelésével oszlatták el: a leosztásokat eltárolták, megvizsgálták, és a játékosokat kártalanították, amennyiben panaszuk helytállónak bizonyult.

A Planet Poker a reklámjaiban is megtalálta a megfelelő hangot: "Játsszon pizsamában! Játsszon hajnali kettőkor, játsszon akkor is, ha nem jön össze a megszokott társasága!", szóltak a hirdetései a Card Playerben és más magazinokban. Ráadásul megnyertek két olyan személyiséget, akik garanciát jelentettek a játékosok számára: az egyik Roy Cooke, a Card Player vezető publicistája volt, akiből a kártyaterem igazgatója lett, a másik Mike Caro, "a póker őrült géniusza". Először Roy Cooke sem hitt az egészben: "Először mindnyájan szkeptikusak voltunk, de a bizonyíték ott volt előttünk, a pókert valóban lehetett messziről játszani. Egy kattintással ráemelhettünk egy londoni hölgyre, hogy kiűzzük a leosztásból! És ez működött!" Mike Caro nem volt ilyen kétkedő, ő hitt a póker internetes elterjedésében. Maga is programozó, 1984-ben ő alkotta meg a világ első pókerező programját, ami kikapott ugyan Bob Stupaktől, de a pókerjátékosok meglepetéssel állapították meg, milyen jól pókerezik.

A Planet Poker valóban arra törekedett, hogy a játékosok bízzanak bennük, hisz csak így nyerhette meg őket. Ezért tették közzé az ASF Software, Inc. által készített keverési algoritmusukat is, ami aztán többé-kevésbé a vesztüket okozta. A Reliable Software Technologies nevű cég néhány pókerezni tudó programozója (Brad Arkin, Frank Hill, Scott Marks, Matt Schmid és Thomas John Walls) is meglátta az algoritmust, és azonnal rájöttek, hogy valami nem stimmel.

Íme az algoritmus:

procedure TDeck.Shuffle;
var
ctr: Byte;
tmp: Byte;

random_number: Byte;
begin
{Töltsd fel a paklit egyedi kártyalapokkal}
for ctr := 1 to 52 do
Card[ctr] := ctr;

{Generálj új magot a véletlenszám-generáláshoz a rendszeróra alapján}
randomize;

{Véletlenszerűen cseréld meg mindegyik kártyalapot}
for ctr := 1 to 52 do begin
random_number := random(51)+1;
tmp := card[random_number];
card[random_number] := card[ctr];
card[ctr] := tmp;
end;

CurrentCard := 1;
JustShuffled := True;
end;

Az eljárás először feltölt egy vektort 1-52-ig terjedő értékekkel, ami a kártyalapokat helyettesíti. Aztán inicializálja a véletlenszám-generátort a rendszerórát használva, majd sorban a vektor minden elemét kicseréli egy véletlenszerűen kiválasztott másik elemmel. Jónak tűnhet, de nem az.

Először is egy könnyen kijavítható csekélység: a random függvény 0 és n-1 közötti számot ad vissza, és nem 0 és n közöttit. Ez azt jelenti, hogy a random_number értéke sosem lesz 52, vagyis az utolsó kártyával sosem cserél helyet az aktuális kártya. Még akkor sem, amikor a ciklus elér a végéhez, ami azt jelenti, hogy az 52. kártya sosem lesz az 52. helyen.

A második, nagyobb probléma magával az algoritmussal van. A fenti program cserélő részét így lehet lefordítani emberi nyelvre:

Induljon egy ciklus i=1-től n-ig
Cseréld ki az i. kártyát egy 1 és n közé eső - a határokat is beleértve - véletlenszerűen kiválasztott pozíciójú kártyával.
i legyen eggyel nagyobb.

Az egyszerűség kedvéért tételezzük fel, hogy a paklink csak három kártyából áll, melyek értéke 1,2,3. A fenti algoritmussal az ábrán látható lehetséges eredményeket kapjuk:

Póker

A keverés lehetséges végeredményei ennek a fának a legalsó levelein láthatók, és szembetűnő, hogy az értékek nem ugyanolyan gyakorisággal fordulnak elő. A 231, 213 és a 132 gyakrabban fordul elő, mint a 312, 321, 123. Ha az első kártyára fogadunk, akkor számíthatunk arra, hogy a 2 kártya gyakrabban fog előjönni, mint az 1 vagy a 3. Ha a pakli méretét növeljük, a valószínűségek még egyenlőtlenebbek lesznek, az oddsok megváltoznak. Ezt az anomáliát egy tapasztalt játékos könnyen kihasználhatja.

Az RST programozói nem csupán felfedték a hibát, hanem javaslatot is tettek a kijavítására. Az ő algoritmusuk így működött:

Induljon egy ciklus i=1-től n-ig
Cseréld ki az i. kártyát egy i és n közé eső - a határokat is beleértve - véletlenszerűen kiválasztott pozíciójú kártyával.
i legyen eggyel nagyobb.

A keverés így ábrázolható egy fával:

Póker

Mint látható, az algoritmus minden sorrendet csupán egyszer állít elő, így egyenlő a valószínűségük.

Az eddigi hibák még nem alkalmasak arra, hogy a rendszert teljes mértékben megtörjék, de az RST munkatársai rámutattak, hogy a keverési algoritmus alapjául szolgáló véletlenszám-generálás az akkori eljárások alapján egyáltalán nem ad kiszámíthatatlan eredményt.

Tegyük fel, hogy egy 1 és 52 közé eső számot akarunk kiválasztani úgy, hogy minden értéknek ugyanakkora esélye legyen. Ideális esetben generálunk egy számot 0 és 1 között (úgy, hogy az 1-et nem érhetjük el, de tetszőlegesen megközelíthetjük) - ahol minden értéknek egyforma a valószínűsége és független az előző értéktől -, és megszorozzuk 52-vel, lefelé kerekítünk és hozzáadunk 1-et. 0 és 1 között végtelen darab szám van, ám ezt a számítógépek nem képesek kezelni.

A számítógépekben lévő egyszerűbb pszeudovéletlenszám-generátorok úgy működnek, hogy előállítanak egy egész számot 0 és N-1 között, ezt megjegyzik, elosztják N-nel, és ezt adják vissza. Az eredmény tehát mindig 0 és 1 közé esik. Egy igazi kártyapakli 52!-féle sorrendben állhat, és ez sokkal több, mint amennyiféle számot egy 32 bites véletlenszám-generáló létre tud hozni. Ez mindössze 32 bites számokat tud kezelni, tehát N legfeljebb 2^32, vagyis kb. 4 milliárd lehet, maximum ennyiféle értéket adhat vissza a véletlenszám-generáló, ennyi a lehetséges magok (az elsőnek kiválasztott egész szám), így a sorrendek száma is.

A pszeudóvéletlenszám-generátor következő meghívásakor az előzőleg meghatározott egész számot veszik alapul a következő egész szám előállításához, ebből következően, ha tudjuk a véletlenszám-generálás magját, azt az értéket, amiből elindult, az összes további eredményt kiszámolhatjuk.

Az ASF által használt pszeudovéletlenszám-generátor a rendszerórát használta magnak, méghozzá az éjfél óta eltelt milliszekundumok számát. Miután egy napban mindössze 86 400 000 milliszekundum van, a magok és a lehetséges sorrendek száma még a négymillárdná is sokkal kevesebb.

Az RST munkatársai készítettek egy programot, amelyet szinkronizáltak a szerver órájával, így 200 000-re tudták csökkenteni a lehetséges sorrendek számát. A programjuk a két saját lap és a flop segítségével meg tudta keresni, melyik keverési sorrendről van szó, és meg tudták állapítani, ki milyen kártyát tart, és milyen turn és river jön - mindezt egy pókerjátékos gondolkodási idején belül.

Póker Arkinnak és társainak eszükbe sem jutott csalni a rendelkezésükre álló információkkal, hanem közzétették a kutatásuk eredményét (az o tanulmányukból származik a véletlenszám-generálás fenti hibalistája is) és javaslataikat is: használjanak 64 bites pszeudovéletlenszám-generátorokat és hardware-es alapú magokat. Az ASF át is dolgozta a keverési algoritmusát, de ez már nem segített a Planet Pokeren: a játékosok nagy része addigra átpártolt a sokkal fejlettebb szolgáltatást nyújtó konkurensekhez - egy időre az 1999-ben megjelenő Paradise Poker lett a vezető online pókerterem.

A Planet Poker szép lassan elsorvadt, a végső döfést az UIGEA adta meg neki. Bár még mindig működik, 2007 április 1-től nem lehet valódi pénzzel játszani benne. De azt, amit akkor, 1997-ben elindított, nem lehetett megállítani: az online póker kinőtt a bölcsőből, és a saját lábára állt.

brian

Pontok: 4.8 (pontozók száma: 131)
    Az online póker bölcsője
    14
    2008-03-25 13:08
    Örülök, hogy tetszett a cikk.

    Ha jól értettem, azt vetetted fel, hogy a mai véletlenszámgenerátokat nem a Planet Poker adatbázisára alapozva tesztelték-e, és így nem juthattak-e rossz eredményre. Erre a válasz nem. Miért alapoztak volna egy viszonylag kicsi - akkoriban nem pörögtek olyan gyorsan a leosztások, mert a játékos kevesebb, a szoftver lassabb volt - és hibás generátor által létrehozott adatbázisra?

    A lapütköztetéses dolgot nem egészen értem, de semmiképp sem akarok belemenni egy "csalnak a termek" vitába. Amíg valaki egyértelmű bizonyítékot nem szolgáltat rá - például egy programozó fel nem tárja, miként növelte meg az AA-KK ütközések számát -, nem érdekel ez a dolog.
    13
    2008-03-24 15:24
    Tisztelt Brian!

    CSatlakozom az elottem szolalokhoz: Nagyon jo cikket irtal!
    Lenne azonban valami amit erdemesnek tarok kiemelni belole..

    ..Nem pusztan a bennem fellelheto duhongesek miatt hanem egyebkent is.
    Irtal arrol, hogy a Planet poker mukodese docogosen volt csak valosagszeru, nem lehetett igazi pokerrol beszelni.
    A kerdesem a kovetkezo: Amennyiben az embereket ez nem zavarta, tulajdonkeppen rajonni sem igazan jot senki.. A pokerzezok szama egyre csak novekedett, akkor
    ez tenyszeru statisztaikakent szolgalhatott egy olyan "veletlengenerator" megteremteseben, melyet szerintem napjainkban alkalmaznak, amely
    ugyan nem csal, de a angyobb penzforgalom erdekeben sokkal tobbszor ad a jatekban resztvevoknek egyszerre "lehetoseget".
    Amire gondolok az az, hogy nyilvan a jatek soran bekalkulaljuk az osszes lehetoseget, mi minden lehet nala. Ami tehat a megfigyelesem: Van is. Ami eredmeyezheti azt is,
    hogy az a bizonyos 33% hogy valakinel nincs semmi statisztikailag igazolt, de egyalalan nem igazolt az, hogy egyszerre valakiknel hanyszor van valami.
    Nagyon szivesen fogadnam velemenyed!

    udv!
    8
    12
    2008-03-18 10:54
    A mai véletlenszámgenerálás valahogy úgy működik hogy tökmindegy mid van kézben, ha beszállsz, az ellenfeled nyer. Saját tapasztalat. O:))))))))
    11
    2008-03-18 10:46
    ez profi volt
    ha lenne 6os az lenne

    a mai véletlenszám generálást is elmagyarázhatná valaki emberi nyelven a programozáshoz analfabétáknak :)
    10
    2008-03-18 04:25
    "A jelenleg használt keverési algoritmusokról lehet valahol olvasni?"
    Muhahaha...
    A póker szerver dokumentációjában...

    http://www.pokerstars.com/poker/rng/
    8
    2008-03-17 19:15
    pokerstars.com
    ------------

    grat a cikkhez...5
    ----------
    7
    2008-03-17 18:30
    Köszi a cikket brian.
    A történelmi cikkek sorozatába ajánlanám következő témának a kártyalapok
    kialakulásának történetét. Érdekes dolgokat lehet megtudni, pl.: mikortól, és miért az Ász a legmagasabb értékű lap?
    6
    2008-03-17 18:28

    Először is, köszönöm a pozitív visszajelzéseket.

    QQcska, azt hittem, egyértelmű, hogy a véletlenszám-generálós rész az RST munkatársaitól van, hiszen írtam, hogy ők vették észre, és tették közzé ezeket a dolgokat. (A cikk többi részze mozaik, sőt ezen is változtattam, ha összeveted az eredetivel. )

    De legyen neked, beleírom közvetlenebbül.
    5
    2008-03-17 18:02
    ...izé :)
    A cikk tényleg jó, csak nekem valahogy nagy része ismerős...
    Ilyenkor nem illő megjelölni a forrást?
    4
    2008-03-17 17:52
    brian, többször kéne ilyes (mármint cikkírási) szándékkal gép elé ülnöd :) ha nekem nem hiszel, nézd meg a toplistát :))
    ----------

     "50%-om van ellened" - jah, igen. Vagy lemákolsz, vagy nem...

    3
    2008-03-17 17:13
    n1 , még több ilyet
    2
    2008-03-17 17:00
    Szép cikk! A jelenleg használt keverési algoritmusokról lehet valahol olvasni?
    1
    2008-03-17 16:27
    Ez igen! Ez cikk! Engem különben nagyon érdekel az onlinepoker történelme. Lesz folytatás? Én sajnos csak pontosan egy éve játszok online. Annyira bánom hogy nem kezdtem el előbb...Pedig előtte már 2éve netfüggő voltam mégse hallottam a pókerről. Persze lehet hogy azért mert leendő matematikusként elhatárolódtam minden szerencsejátéktól. Van valaki itt a ophun aki már az ősidőkben is játszott? Gondolom akik az OPHU-t csinálták már játszottak előtte. Milyen volt akkor a játék? Érdekes lehetett. Gondolom sokkal több fish volt. :) Egyszer ha lesz időm átolvasom az egész OPHU-t.