Powstał algorytm do gry w pokera

Dwaj naukowcy (Kanadyjczyk Michael Bowling pracujący w University of Alberta; Edmonton oraz Fin Oskari Tammelin) są twórcami algorytmu, który potrafi grać – i to w perfekcyjny sposób – w pokera. Jest to nie lada wyczyn gdyż wbrew pozorom, opracowanie takiego programu – który wygrywa w realnym świecie z człowiekiem – jest trudniejsze niż opracowanie programu, który gra np. warcaby czy nawet w szachy. Ciekawe jest to, że algorytm może znaleźć zastosowanie w biznesie.

Dwaj naukowcy z Kanady opracowali algorytm, którego wykorzystanie powoduje, że komputer może wygrywać z człowiekiem w grze w pokera. Jest to nie lada wyczyn, gdyż opracowanie takiego programu dla pokera jest trudniejsze niż w wypadku innych gier takich, jak warcaby czy szachy. Nie jest to tylko ciekawostka dla graczy, bo algorytm ten może znaleźć poważne zastosowania w aplikacjach biznesowych.

Kanadyjczyk Michael Bowling i fin Oskari Tammelin z University of Alberta w Edmonton „rozgryźli” wcześniej wiele różnych gier i opracowali programy, które potrafią z powodzeniem zastąpić człowieka. Na przykład w 2007 roku, stworzyli algorytm potrafiący grać w warcaby. Jednak w zgodnej opinii informatyków, opracowanie algorytmu, skutecznie analizującego pokerowe rozdania jest dużo większą sztuką.

Jeszcze do niedawna wydawało się, że nie jest to możliwe. Głównie dlatego, że programy dotyczące innych gier, jak warcaby czy szachy, znają historię wszystkich wcześniejszych potyczek i mają klarowny obraz tego, co dzieje się aktualnie na szachownicy. W pokerze jest inaczej. Program nie zna historii wcześniejszych rozgrywek, nie wie, jaki karty znajdują się w ręku przeciwnika, a elementy psychologiczne takie jak blef są trudne do obiektywnej analizy.

Program pokerowy musi podejmować decyzję nie dysponując kompletem informacji wejściowych, tak jak ma to mniejsze w przypadku warcabów czy szachów. Algorytm, który radzi siebie w takich sytuacjach, zainteresuje na pewno ekonomistów, gdyż jest to gałąź nauki, w której kluczowe decyzje trzeba podejmować nie dysponując kompleksową wiedzą.

W pokerze głównym wyzwaniem dla programu komputerowego jest ilość wariantów jaka może wystąpić podczas każdej gry. Jest ich bardzo dużo, dlatego trudno jest je wszystkie przeanalizować stosując tradycyjne metody.

Naukowcy wzięli na celownik jedną z odmian pokera, noszącą nazwę HULHE (Heads-Up Limit Hold'em), znaną też jako Texas hold’em poker. Jest to odmiana, w której najczęściej biorą udział dwaj gracze, używając pełnej talii 52 kart. Obowiązuje tu stała ilość podbić stawki oraz sprawdzeń. W grze takiej ilość kombinacji wynosi 3,16 x 10 do potęgi 17, a liczba sytuacji, w których gracz musi podjąć określoną decyzję, wynosi 3,19 x 10 do potęgi 14.

Opracowany algorytm potrafi uczyć się podczas gry, automatycznie doskonaląc umiejętności i osiągając mistrzowski poziom po rozegraniu ok. 1500 rozdań. Na początku program podejmuje wiele decyzji na zasadzie losowej, jednak z czasem eliminuje ze swojego katalogu te, które doprowadziły do porażki. To mechanizm znany pod nazwą „counterfactual regret minimization”, zastosowany został po raz pierwszy w 2006 roku podczas turnieju Annual Computer Poker Competition. Kanadyjscy naukowcy udoskonalili go i dzięki wprowadzonym poprawkom algorytm pracuje obecnie w sposób prawie perfekcyjny.

Musieli oni poradzić sobie także z innym problemem. Aplikacji wykorzystującej algorytm towarzyszy olbrzymia baza danych o pojemności 262 TB. Żeby zmniejszyć wymagania na niezbędną pojemność pamięci masowej i skrócić czas dostępu do danych, niezbędne było opracowanie specjalnej metody ich kompresji, dzięki niej bazę danych można było zmniejszyć do "zaledwie" 11 TB.

Projektując pokerowy algorytm naukowcy uwzględnili to, że grający w pokera mogą blefować i włączyli do algorytmu również ten czynnik. Nie było to łatwe zadanie, gdyż blef trudno jest przewidzieć i nie można go opisać w matematyczny sposób. Jest on psychologicznym elementem gry, nie wynikającym z żadnych prowadzonych na zimno kalkulacji. Można tu tylko co najwyżej starać się określić, jak często i jakich sytuacjach należy blefować, aby zwiększyć swoją szansę na sukces.

Algorytm nie daje oczywiście gwarancji, że komputer zwycięży w każdym rozdaniu. W pokerze wiele zależy od przypadku, czyli od konkretnego rozdania kart. Jak jednak pokazały testy, korzystając z tego algorytmu można osiągnąć statystycznie lepsze rezultaty i zwyciężyć grając z przeciwnikami wykorzystującymi tylko ludzką inteligencję i psychologiczne blefy.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200