Pokaż wyniki od 1 do 9 z 9
  1. #1
    Dołączył
    May 2003
    Przegląda
    Warszawa
    Posty
    2,830
    Mam takie postanowienie noworoczne, żeby policzyć sobie parę pokerowych rzeczy, tak, żeby nie polegać wyłącznie na doświadczeniu, czy wyliczeniach innych, a mieć na papierze co i jak.

    Zabrałem się właśnie za najprostszą chyba sytuację, sb vs bb i sytuacje shove, ale jak tak wnikam w to głębiej to przydałoby się te symulacje jakoś zaprogramować, bo ręcznie używając pokerstove to się można pochlastać, żeby poszukać jakiś optymalnych zakresów dla różnych stacków, liczby graczy itd.

    Na razie co w sumie chyba jest w miarę intuicyjne, wychodzi mi, że do 21bb przy ante 1/10bb i 9 graczach warto z sb pushować any two, bez ante do 13bb.

    W związku z tym mam pytanie, czy ktoś może bawił się jakąś biblioteką pokerową. Wiem, że jest poker-eval w c i wersja dla pythona, szczególnie ta druga by mnie interesowała, ktoś tego używał? Ja co prawda nie miałem od długiegu czasu nic wspólnego z programowaniem, ale i tak szybciej chyba wyjdzie mi ogarnięcie pythona i tej biblioteki niż ręczne bawienie się rangami w pokerstove.

  2. #2
    Dołączył
    Oct 2005
    Posty
    2,317
    IMO najszybciej i najtaniej będzie skorzystać z gotowca: CardRunnersEV Calculator. Co do poker-eval, to owszem, bawiłem się ją w czystym C i dotychczas nie widziałem tak pokręconego kodu a zawodowo zajmuję się właśnie niskopoziomowym programowaniem w C (mikrokontrolery & Co). W każdym bądź razie poker-eval to jest "tylko" hand evaluator czyli coś co dostaje na wejściu listę siedmiu kart i na wyjściu wypluwa liczbę która jest miarą siły najmocniejszego układu który można utworzyć z tych siedmiu kart. Aby stworzyć soft który będzie liczył EV dla różnych drzew to trzeba włożyć trochę pracy.

    Swoją drogą sam problem dobrego hand evaluatora jest dosyć niebanalny. Miałem nawet pomysł aby zaimplementować go w FPGA, tzn. taki koprocesor w postaci karty PCI jakimś FPGA.

  3. #3
    Dołączył
    May 2003
    Przegląda
    Warszawa
    Posty
    2,830
    A może jest gdzieś tabelka jak wygląda equity wszystkich kombinacji range vs range, od gołych AA (0.5%) po random (100%)?
    Chce zrobić coś takiego, że dla powiedzmy SB vs BB, licze EV dla każdego zakresu pusha vs każdy zakres calla, potem już można poeksperymentować i np. znaleźć taki zakres push dla którego średnie ev po wszystkich rangach będzie maksymalne. Nie wiem czy tym kalkulatorem, który mi podałeś dałbym rade to zorbić, to chyba raczej słuzy do analizy konkretnych sytuacji, ja raczej potrzbeuje kompleksowo przeanalizować sytuację preflop.

    Ręcznie tak sobie przeanalizowałem dla push 5.3%, 50.3% i 100% i np. średnie EV takiego pusha po wszystkich zakresach calla (chociaż wszystkich może nie jest tutaj idealnym słowem) wynosi dla 10bb 9os i ante 1/10bb odpowiednio: 0.212bb 1.052bb , 1.227bb no i teraz fajnie by było sprawdzić gdzie jest rzeczywiście to dokładne maksimum. W ogóle myślicie, że to ma sens, czy może gdzieś w samych założeniach tego podejścia jest błąd?

  4. #4
    Dołączył
    Oct 2005
    Posty
    2,317
    Cytat Zamieszczone przez Doli Zobacz posta
    A może jest gdzieś tabelka jak wygląda equity wszystkich kombinacji range vs range, od gołych AA (0.5%) po random (100%)?
    Chce zrobić coś takiego, że dla powiedzmy SB vs BB, licze EV dla każdego zakresu pusha vs każdy zakres calla, potem już można poeksperymentować i np. znaleźć taki zakres push dla którego średnie ev po wszystkich rangach będzie maksymalne. Nie wiem czy tym kalkulatorem, który mi podałeś dałbym rade to zorbić, to chyba raczej słuzy do analizy konkretnych sytuacji, ja raczej potrzbeuje kompleksowo przeanalizować sytuację preflop.
    Nie słyszałem o takiej tabelce ale na pierwszy rzut oka wydaje się, że będzie ona spora. W każdym bądź razie poker-eval dosyć dobrze nadaje się właśnie do tego co chcesz zrobić. Ale obliczenia mogą trochę potrwać. Nie na darmo do bardziej złożonych (w sensie ilości możliwych układów na wejściu) symulacji stosuje się metodę Monte Carlo zamiast iteracji po wszystkich możliwych przypadkach. Odpal sobie w PokerStove random vs. random i zobacz jak długo to się będzie liczyło.

  5. #5
    Dołączył
    May 2003
    Przegląda
    Warszawa
    Posty
    2,830
    O tym już się przekonałem, dlatego zacząłem wnikać w tego poker-evala , bo jak już pisałem, z pokerstove można się przy czymś takim pochlastać , a co do tabelki, to 169 układów, czyli 169 rangów jeżeli dobrze kombinuję 169x169=28561 trochę liczenia będzie, tylko najpierw muszę się uporać z instalacją tego pypoker-eval na cygwinie, bo coś mi nie idzie :/

  6. #6
    Dołączył
    Oct 2005
    Posty
    2,317
    A ja tak z ciekawości właśnei skompilowałem pypoker-eval 138 przy użyciu Visual Studio i poszło szybciutko. Mam pythona 2.5.1 od ActiveState'a natomiast poker-eval 134 miałem skompilowaną już wcześniej. Próbowałem też skompilować to zestawem MinGW/MSYS ale configure nie mógł mi znaleźć headerów i bibliotek od pythona (chociaż sam interpreter znajdował) a nie chciało mi się już dłubać w skryptach. W każdym bądź razie zamiast Cygwina polecam MinGW/MSYS - nie ma konieczności linkowania z cygwin.dll co zmniejsza ilość potencjalnych błędów.

    Natomiast za bardzo nie rozumiem dlaczego przekładasz 169 układów startowych na 169 zakresów. Bo IMO zakresów może być sporo więcej niż 169. Bo zakres to jest również np. AA,KK,72o czyli 24 spośród 1326 możliwych rąk startowych w holdemie.

  7. #7
    Dołączył
    May 2003
    Przegląda
    Warszawa
    Posty
    2,830
    Cytat Zamieszczone przez Doli Zobacz posta
    Ręcznie tak sobie przeanalizowałem dla push 5.3%, 50.3% i 100% i np. średnie EV takiego pusha po wszystkich zakresach calla (chociaż wszystkich może nie jest tutaj idealnym słowem) wynosi dla 10bb 9os i ante 1/10bb odpowiednio: 0.212bb 1.052bb , 1.227bb no i teraz fajnie by było sprawdzić gdzie jest rzeczywiście to dokładne maksimum. W ogóle myślicie, że to ma sens, czy może gdzieś w samych założeniach tego podejścia jest błąd?
    No dokladnie to nie jest po wszystkich, tak jak napisalem , ale calkiem wydaje mi sie sensowne przyblizenie.

  8. #8
    Dołączył
    Jul 2008
    Posty
    1,010
    Ja nie jestem pewien czy krokiem w dobrą stronę jest rozpatrywanie takich spotów bez uwzględnienia otoczenia. Jak już 2 razy shipowałeś bvb to range villaina na pewno się poluźni, tak samo z late position resteal shovami za ~ kilkanaście BB. Jeśli nie grasz przeciwko totalnym moronom to się będą raczej dostosowywać i otwierać np nieco luźniej żeby potem snap callnąć z KQ czy AT vs twój resteal. A nawet jak gość jest moronem to jest duża szansa, że w pewnym momencie się wkurwi i sprawdzi z każdym ace high.
    Sam nadziałem się w ten sposób parę razy i dostałem potem calle bvb z J5s albo Q7o. Dobra jest wiedza jaki range opłaca się shipować ale zawsze trzeba uwzględniać tu metagame i dostosowywać opłacalność swoich zagrań vs calling range villaina(ów). Oczywiście jeśli te symulacje mają na celu znajdowanie optymalnego range vs przewidywany range villaina i będziesz się dzięki temu dobrze dostosowywał to wszystko super ok. Ale jeśli ma to być na sucho tylko z uwzględnieniem pozycji i stacksize to krok w złą stronę.

  9. #9
    Dołączył
    May 2003
    Przegląda
    Warszawa
    Posty
    2,830
    Wiem o co ci chodzi i rozumiem że takie suche wyliczenie nie wystarczy, to raczej taka podstawa do przemyśleń. Np. w tym przykładzie wyżej, do 21bb każdy shove jest ev+ z sb, obojętnie jaki range ma przeciwnik. od 0.5% do 100% wszystko jest ev+, ale teraz wiedząc mniej więcej z kim grasz na BB, może to odpowiednio przystosować tak, żeby zmaksymalizować ev, bo o to w końcu chodzi, żeby wyciągać z rozdania jak najwięcej, więc przy gościu luźno callującym pewnie się okaże, że maksymalne ev jest np. w okolicach top40% calling range, przy totalnym murku w okolicach 100%.