Pokerikäsien arviointi

PokerBot

Esimerkiksi PokerStove arvioi muutamassa sekunnin sadasosassa preflop-voittotodennäköisyydet kahden aloituskäden kesken. Kun pakassa on jäljellä 48 korttia, erilaisia viiden kortin yhdistelmiä on (48*47*46*45*44)/(5*4*3*2*1) = 1.712.304 kpl. Tietokoneessani näiden käsien luuppaaminen koodilla

for J := 1 to 44 do
valitse kortti 1
for K := 2 to 45 do
valitse kortti 2
for L := 3 to 46 do
valitse kortti 3
for M := 4 to 47 do
valitse kortti 4
for N := 5 to 48 do
valitse kortti 5
poyta = kortti 1 kortti 2 kortti 3 kortti 4 kortti 5

vie aikaa vajaat 20 sekuntia.

Tavoitteenani on laskea pelaamistani käsistä todennäköisyydet eri panostusvaiheissa, kun showdowniin on edennyt kaksi pelaajaa. Kolme tai useampi ei siis ole välttämätön.

Laskentaan pitäisi saada vauhtia. Millä tavalla sitä pystyisi nopeuttamaan. Esimerkiksi näistä http://forumserver.twoplustwo.com/45/software/7-card-hand-evaluators-597/ jutuista en saa juuri mitään irti. Ne ovat liian vaikeita kotitarveohjelmoitsijalle.

1

579

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Silmäilepä allaolevaa QBasic-listausta, "väärä tapa" tekee
      yli 100-kertaisest i"työtä" verrattuna "oikeaan tapaan".

      Delphiä en tunne, mutta oletan FOR-luuppien pyörivän samoin
      kuin Basicissakin. Jos näin on, listauksesi ohjelma kehittää
      monet "kädet" tarpeettomasti sataan kertaan.

      Luuppimuuttujia voi tietenkin käyttää sellaisinaan korttien
      paikkojen määrittelyyn, ei niitä tarvitse erikseen sijoittaa
      ylimääräisiin muuttujiin.

      Pienenä vihjeenä tulevan varalle: Kun olet muutaman vuoden
      päästä päässyt vaiheeseen jossa kortteja ja "käsiä" aletaan
      vertailla, suosittelen korttien yksilöimistä 13 mittaisilla
      yksipainoisten binäärilukujen taulukoilla.
      Neljä yksiulotteista taulukkoa, yksi jokaista maata varten,
      jokaisessa taulukossa 13 alkiota, joiden ykkösbitin paikka
      määrittelee kortin numeron.



      Tuon oman listaukseni kehittämien "käsien" määrät
      ja ajankulutukset ovat seuraavat:

      "Oikea tapa", "käsiä" 2 598 960 kpl, aika 0.49 sek.
      "Väärä tapa", "käsiä" 311 875 200 kpl, aika 52.06 sek.

      Aikojen suhde : "Väärä tapa"/"oikea tapa" = noin 105.
      "Käsien suhde": "Väärä tapa"/"oikea tapa" = 120



      REM **********************************************
      REM **********************************************

      DEFINT A-Z

      CLS

      DIM kortteja AS LONG
      DIM laskuri1 AS LONG
      DIM laskuri2 AS LONG


      DIM aika1 AS DOUBLE
      DIM aika2 AS DOUBLE
      DIM aikasuhde AS DOUBLE
      DIM laskurisuhde AS DOUBLE

      kortteja = 52


      REM **********************
      REM oikea tapa
      REM **********************

      aika1 = TIMER
      laskuri = 0

      FOR J = 1 TO kortteja
      FOR K = J 1 TO kortteja
      FOR L = K 1 TO kortteja
      FOR M = L 1 TO kortteja
      FOR N = M 1 TO kortteja

      laskuri1 = laskuri1 1

      NEXT N: NEXT M: NEXT L: NEXT K: NEXT J

      aika1 = TIMER - aika1

      PRINT aika1, laskuri1


      REM **********************
      REM väärä tapa
      REM **********************

      aika2 = TIMER
      laskuri2 = 0

      FOR J = 1 TO kortteja
      FOR K = 2 TO kortteja
      FOR L = 3 TO kortteja
      FOR M = 4 TO kortteja
      FOR N = 5 TO kortteja

      laskuri2 = laskuri2 1

      NEXT N: NEXT M: NEXT L: NEXT K: NEXT J

      aika2 = TIMER - aika2

      PRINT aika2, laskuri2

      aikasuhde = aika2 / aika1
      laskurisuhde = laskuri2 / laskuri1

      PRINT aikasuhde, laskurisuhde

      END

      REM **********************************************
      REM **********************************************

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Vesikin maksaa, miksei hengitysilma?

      Jatkuvasti itketään ettei ole rahaa mihinkään, mutta tilastojen mukaan rahaa on enemmän kuin koskaan, joten miksei asial
      Maailman menoa
      31
      1935
    2. Satuolennoista tarinointi ei kuulu peruskoulun tehtäviin

      Opetustunteja on muutenkin käytössä vain rajallinen määrä. Eli nämä satuhommat koulun ulkopuolelle vapaaehtoisiin harras
      Maailman menoa
      165
      1890
    3. Suomalainen perheenisä vaatii Suvivirren esittämisestä hyvityksiä

      Itse lapsena uskonnonopetuksesta vissiin traumoja saanut ihka suomalainen (!) perheenisä vaatii Espoon kaupungilta korva
      Maailman menoa
      379
      1773
    4. Mies profiloin sinut

      Etsit täysin hallittavaa mutta samalla poikkeuksellista ihmistä. Etsit jotain mitä et koskaan tule saamaan.
      Ikävä
      216
      1248
    5. Lahkokasteen ja kristillisen kasteen erot

      Raamatun mukaan Kristillisessä yhdessä kasteessa Jumala pesee ja puhdistaa ihmisen sydämen ja poistaa perisynnin kirouks
      Kaste
      422
      1158
    6. Känsäkoura ja hotelli

      Tietoa kuka ostanut?
      Kuhmo
      12
      1131
    7. Nostetaanko nainen kissa pöydälle?

      Ja selvitetään nämä tunteet?
      Ikävä
      92
      1113
    8. Heikki Paasosen Marita-vaimo jätti tunteikkaat jäähyväiset: "Tällä kertaa me..."

      Heikki Paasonen on naimisissa Marita Paasosen (os. Alatalo) kanssa ja heillä on kaksi pientä lasta. Nyt koitti aika jätt
      Suomalaiset julkkikset
      8
      1076
    9. Salainen kastekoulutus

      Millainen on helluntailainen kastekoulutus ja kauanko se kestää ?
      Kaste
      285
      1025
    10. Pirkanlinna yleisötapahtuma

      Oli todella hyvä tilaisuus. Ja EERO. L. Aivan mahtava tyyppi. Veti rennosti ja asiallisesti. Ja yleisöltä hyviä kysymyks
      Ähtäri
      50
      1011
    Aihe