pham hoang minh prof. dr hab. jacek mańdziuk

74
1 Metody Sztucznej Inteligencji do budowania mocnego gracza w Pokerze: teoria, zastosowanie i wyniki Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

Upload: rose-salas

Post on 30-Dec-2015

46 views

Category:

Documents


0 download

DESCRIPTION

Metody Sztucznej Inteligencji do budowania mocnego gracza w Pokerze: teoria, zastosowanie i wyniki. Pham Hoang Minh prof. dr hab. Jacek Mańdziuk. Odmiana Pokera „Texas Holdem”. Cztery fazy rozgrywki: Pre-flop Flop Turn River. Wprowadzenie. Wieloosobowa rywalizacja - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

11

Metody Sztucznej Inteligencji do budowania mocnego gracza w

Pokerze: teoria, zastosowanie i wyniki

Pham Hoang Minhprof. dr hab. Jacek Mańdziuk

Page 2: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

22

Odmiana Pokera „Texas Holdem”

• Cztery fazy rozgrywki:• Pre-flop• Flop• Turn • River

Page 3: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

33

Wprowadzenie

• Wieloosobowa rywalizacja

• Gra o niepełnej informacji (prywatne karty)

• Stochatyczna gra (losowe rozdanie kart)

• Probabilistyczne wnioskowanie

• Ocena ryzyka

• Analiza gry przeciwników

• Blefowanie

Page 4: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

44

Aktualny stan systemów AI

• Poki (Univ. Alberta) : intermediate level for full-ring (10 players) limit Texas Hold’em

• Hyperborean (Univ. Alberta) : advanced level for heads-up (2-players) limit Texas Hold’em (hold 7000 hands against world-class opponents)

First place in AAAI Computer Poker Competition • BluffBot (Teppo Salonen ) : advanced level in heads-up

limit Texas Hold ’Em. Second place in AAAI • GS2 (Univ. Pittsburgh) : Third place in AAAI • Monash BPP (Univ. Monash) : Fourth place in AAAI

Page 5: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

55

Umiejętności niezbędne mocnego gracza w Pokerze

• Cechy które mocny gracz musi posiadać :

– Hand Evaluation : ocena siły swojej ręki

– Unpredictability

– Bluffing

– Opponent Modeling

Page 6: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

66

Betting Strategy

• Betting Strategy dzieli się na:

– „Pre-flop”

– „Post-flop”

• Fazy te znacząco się od siebie różnią:

– Pre-flop : 2 „hole cards”, wcześniejsze akcje graczy podczas 1-szej licytacji

– Post-flop : pełniejszy kontekst gry, „2 hole cards” i „community cards”, historię wcześniejszych decyzji licytacji przeciwników

Page 7: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

77

Betting Strategies w „Pre-flop”

• Wiedza eksperska:

– Sklansky’s rankings (Rangi Sklanskiego)

– Hutchison system (System Hutchisona)

• Symulacje:

– Pre-flop simulation• Te metody służą do wyliczenie wartości ręki

(2 hole cards) podczas fazy „Pre-flop”

Page 8: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

88

Wiedza eksperska

• Sklansky’s ranking

• Hutchison system

• Przypisanie każdej ręki pewnej ilości punktów wg. ustalonych reguł przez profesjonalistów gry Poker, na podstawie których podejmiemy decyzję licytacji

Page 9: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

99

Sklansky Ranking (full-ring Holdem)

Page 10: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

1010

Pre-flop simulation

1. Polega na obliczenie kilka milionów partii, gdzie wszystcy gracze wybierają „call” podczas pierwszej licytacji (Big blind)

2. Po czym pozostałe karty zostają rozdane bez jakikolwiek dalszych zakładów

– Nierealistyczna sytuacja

– Jednak daje podstawowe przybliżoną ocenę ręki w fazie Pre-flop

Page 11: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

1111

Wyniki Pre-flop simulation (HPoker)

Page 12: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

1212

Betting Strategies w „Post-flop”

• Fix Expert Betting Strategy

• Simulation-Based Betting Strategy

• Game Tree-Based Betting Strategy

Page 13: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

1313

Ważne pojęcia w „Post-flop”

• Crude Player Strength• Bias Matrix• Bias Player Strength • Multi-player Considerations• Player Potential• Pot Odds• Effective Player Strength• Probability Triples• Noise-Factors• Bluffing

Page 14: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

1414

Crude Player Strength

• Prawdopodobieństwo, że dana ręka jest lepsza od ręki aktywnych oponentów

• Zakładamy, że przeciwnik posiada C(2,n) możliwych dwóch kart właśnych z tym samym prawdopodobieństwem

Gdzie :

C - kombinacja

n - liczba nierozdanych kart

Page 15: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

1515

Crude Player Strength

• Lepsza ręka : +1pkt

• Remis : +1/2 pkt

• Gorsza ręka : +0 pkt

• Siła ręki = suma pkt/ilość możliwych rąk

• Np. dla pewnej ręki CPS wynosi 58%, tzn. ona ma 58% więcej szansy niż losowa ręka

• Lepsza metoda obliczenia siły ręki używa Bias Matrix

Page 16: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

1616

Crude Player Strength (pseudo-kod)

Page 17: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

1717

Bias Matrix

• Zakładaliśmy podczas obliczanie „Crude Player Strength”, że wszystkie kombinacje 2 „hole cards” są tak samo prawdopodobne (dodaliśmy po 1)

• W prawdziwej grze się znacznie od siebie różnią• Aby to uwzględnić używamy „Bias Matrix” (Tablicę

Wag) do uwzględnienie prawdopodobieństwa tych kombinacji

• Każdy przeciwnik posiada właśny „Bias Matrix” w każdej partii

Page 18: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

1818

Bias Matrix po call, raise na początku fazy Flop (HPoker)

Page 19: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

1919

Bias Matrix (pseudo-kod)

Page 20: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

2020

Bias Player Strength (pseudo-kod)

Page 21: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

2121

Multi-player Considerations

• Uwzględnienie wielu graczy dla Player StrengthPS(n) = PS(p1) * PS(p2) * ... * PS(pn)

p1,p2,...,pn - przeciwnicy

• Nie jest to dokładna wartość, ponieważ PS przeciwników nie są niezależne, np. Bias Matrix tego nie uwzględnia

Page 22: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

2222

Multi-player Considerations (HPoker)

Page 23: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

2323

Player Potential

• Po „Flop” jeszcze następują fazy „turn” i „river”

• 2 nieukazane karty mogą znacznie zmienić siłę naszej ręki

• Player Potential dzieli się na:

– Positive Potential (PPot) – Negative Potential (NPot)

Page 24: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

2424

Player Potential

• PPot : prawdopodobieństwo, że nasza aktualna, nie najlepsza ręka się polepszy i wygramy partię.

PPot = P(ahead|behind) + P(tied|behind)/2 + P(ahead|tied)/2

• NPot : prawdopodobieństwo, że nasza aktualna, najmocniejsza ręka przy stole się pogorszy i przegramy partię.NPot = P(behind|ahead) + P(behind|tied)/2 + P(tied|ahead)/2

Page 25: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

2525

Player Potential (pseudo-kod)

HandPotential(ourCards, boardCards)

{

ourRank = obliczenie_siły_naszej_ręki

foreach oppCards in allCases

{

// Obliczenie wszyskich przypadków wystąpienia kart w turn i river

foreach case in turn

foreach case in river

obliczenie_indeksów_dla_różnych_sytuacjach

}

obliczenie PPot i NPot na postawie wyliczonych indeksów

return(PPot, NPot);

}

Page 26: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

2626

Pot Odds

• Stosunek rozmiaru „pot_size” (sumy zakładu na stole) do minimalnej kwoty naszej licytacji

• Mówi nam, czy z naszą aktualną ręką warto grać dalej (opłacalność inwestycji)

Immediate_pod_odds = amount_to_call / (pot_size + amount_to_call)

Page 27: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

2727

Pot Odds (przykład)Immediate_pod_odds = 10zł / (50zł + 10zł) 0.167

• Jeżeli postanowimy „call” w sytuacji, gdy mamy więcej niż 16.7% na osiągnięcie wygrywającej ręki, to oczekiwana opłacalność jest pozytywna

• W przypadku gdy mamy 15% szansy wygranej, wówczas nie opłaca się „call”

Wartość oczekiwana inwestycji = (50zł*0.15) – (10zł*0.85) = -1zł

Page 28: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

2828

Effective Player Strength

• EPS łączy w sobie siły i potencjał ręki. Daje względną miarę siły naszej ręki w porównaniu z rękami przeciwnikówEPS = P(ahead)*P(opponent do not improve) + P(behind)*P(we improve) EPS = PS*(1-NPot) + (1-PS)*PPot

• PPot ważniejszy od NPot EPS = PS + (1-PS)*PPot (dla NPot = 0)

• Uwzględnienie wielu graczyEPS(i) = PS(i) + (1-PS(i))*PPot(i)

Page 29: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

2929

Effective Player Strength

• W HPoker uzywany jest 3 rodzaje EPS:

– biasEPS (używa Bias Player Strength)– uniEPS (używa Uniform Player Strength)– uniRandEPS (używa Uniform Player Strength

przeciw jednego losowego gracza)

Page 30: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

3030

Probability Triples

• Uporządkowana trójka wartości:PT = {fall,call,raise}, gdzie fall + call + raise = 1

• Reprezentuje dystrybucję prawdopodobieństwa ze następna akcja licytacji w zadanym kontekscie gry będzie odpowiednio:

„fold”, „call”, „raise”

Page 31: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

3131

Użycie Probability Triples

1. Fix Expert Betting Strategy używa Probabilty Triples do wyboru akcji (fold, call, raise)

2. Opponent Modelling używa Probabilty Triples do modyfikacji „Bias Table”

3. Simulation-Based Betting Strategy używa Probabilty Triples do wyboru akcji dla zasymulowanego przeciwnika

4. Game Tree-Based Betting Strategy używa Probabilty Triples do wyboru akcji dla zasymulowanego przeciwnika

Page 32: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

3232

Noise-Factors• Wartość z przedziału [0,1]

• Reprezentuje niepewność naszej wiedzy, jak akcja wykonana przez przeciwnika odwierciedla posiadanych przez niego kart

• Modyfikuje „Probability Triples”

(dystrybucja {Pr(fold), Pr(call), Pr(raise)}) używana w „Bias Matrix”.

• Każde zdarzenie a w dystrybucji jest zmienionea = a – a*b + b/|D|

gdzie: b - noise-factor, D – probability distribution, |D| = 3

Page 33: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

3333

Noise-Factors (przykład)

• Probability Triples {0.0, 0.2, 0.8}noise-factor = 0.5

Obliczenie:Pr(fold) = 0 – 0*0.5 + 0.5/3 = 1/6 = 0.167

Pr(call) = 0.2 – 0.2*0.5 + 1/6 = 0.267

Pr(raise) = 0.8 – 0.8*0.5 + 1/6 = 0.567

• Po uwzględnieniu noice-factor

Probability Triples {0.167, 0.267, 0.567}

Page 34: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

3434

Bluffing

• Umożliwia wygranie partii z słabą ręką

• Powoduje niepokój przeciwników

• Każdy gracz moze mieć stałą wartość blefu, lub zmienny w czasie (w zalezności od stanu gry)

• System może tworzyć teoretycznie optymalną częstość blefowania w poszczególnych sytuacjach

Page 35: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

3535

Pozostałe atrybuty licytacji

• Względna pozycja licytacji

• Historia licytacji aktualnej partii

• Kieszeń przeciwnika

• ...

Page 36: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

3636

Fix Expert Betting Strategy

• Sztwna formuła stworzona dzięki wiedzy eksperskiej i ekperymentalnie

• Daje odpowiedz na rozsądną licytację

• Używamy następujących kroków:

1) Obliczenie „Effective Player Strength” (EPS)

2) Zamiana EPS w Probability Triples

{Pr(fold), Pr(call), Pr(raise)} (ekperymentalnie)

3) Generowanie losowej liczby [0,1] i użycie jej do wyboru jednej z akcji z dystrybucji

Page 37: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

3737

Fix Expert Betting Strategy

4) W zalezności od stanu gry (bet ratio, stakes, ...)

modyfikujemy współczynnik blefu

5) Użycie współczynnika blefu do zmiany decyzji

6) Użycie współczynnika inPot do zmiany decyzji

7) Wykonujemy akcję ‘raise’ jeżeli

pot_odds < Player Strength

8) W wersji No limit : kwota zakładu jest zalezna od Player Strength

Page 38: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

3838

Simulation-Based Betting Strategy

• Próba zastosowania algorytmu podobnego do MiniMax w dziedzinie gry Poker

• Selective Sampling wybiera do symulacji najbardziej prawdopodobne przypadki występowania kart (przeciwników), np. używając „Bias Matrix”

• Przeprowadzimy symulacje do końca i zbieramy wyniki każdy z tych prób

Page 39: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

3939

Simulation-Based Betting Strategy

• Z odpowiednio dużą liczbę prób, symulacji daje wartość oczekiwaną akcji

• Dla każdej próby, ręka jest zasymulowana 2 razy:

– call (check)

– raise (bet)

• Nie używamy pełnych przeszukiwań

• Używamy rzadkich, lecz głębokich symulacji wielokrotnie aż do liści

Page 40: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

4040

Różnica między klasycznym drzewem gry a symulacją

Page 41: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

4141

Simulation (pseudo-kod)

Simulation()

{

trials = callEV = raiseEV = 0;

while (trials < MAX_TRIALS)

{

przydzielKarty();

callEV += simulate(call);

raiseEV += simulate(raise);

trials++;

}

callEV = callEV / trials;

raiseEV = raiseEV / trials;

return(callEV, raiseEV);

}

Page 42: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

4242

Simulation-Based Betting Strategy

• Dla każdej decyzji używamy 200-300 symulacji, ze względu na ograniczenie czasowe gry

• Po kilkuset symulacji średnia ilość zwycięstw lub przegranych po akcji „call”, „raise” zbiega sie do

oczekiwanych wartości akcji (Expected Value EV)

• EV dla „fold” może być obliczony bez symulacji, ponieważ nie wpływa na przyszłych zysków czy strat

Page 43: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

4343

Zalety i Wady Simulation-Based Betting Strategy

• W przeciwieństwie do Fix Expert Betting Strategy, nie jest on sztywną strategią

• Może drastycznie się zmienić w zalezności od „opponent models”

• Dostosowuje się do różnych oponentów

• Silna relacja jakości symulacji do funkcji oceny akcji przeciwników (Opponent Modeling)

• Taktyka przeciwnika (bluffing, slowplaying, check-raising) jest odkryta podczas symulacji

Page 44: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

4444

Game Tree-Based Betting Strategy

• ExpectiMax to bezpośrednia próba używania MiniMax w Pokerze.

• Zamiast wybrania najlepszej akcji w każdym kroku, akcję wykonuje Opponent Model przeciwnika

• Otrzymujemy teraz najlepszą strategię do gry przeciwko konkretnemu przeciwnikowi

• Aktualnie użyty w wersji Texas Hold’em heads-up (2-players) w systemie Hyperborean (PsOpti) uniwerstytetu Alberta

Page 45: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

4545

Game Tree-Based Betting Strategy

Page 46: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

4646

Opponent Modeling

• Nie istnieje system gry Pokera bez dobrego modelowania przeciwników (Opponent Modeling)

• Każdy silny gracz Pokera musi zmieniac swój sposób gry, dostosowując się do sposobu gry przeciwników

• Niektórzy przeciwnicy mogą często blefować, a niektórzy rzadko

Page 47: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

4747

Opponent Modeling

• Używa się Opponent Modeling do przynajmniej 2 celów : – wnioskowanie siły ręki przeciwnika, bazując

się na jego wcześniejszych akcji– przewidywanie jego akcji w konkretnych

sytuacjach • Główny cel „Opponent Modeling” to zgadnięcie

akcji przeciwników (Predictor)• Praca Predictor’a to zamiana konkretnego stanu

gry na dystrybuanty prawdopodobieństwa akcji(Probability Triples)

Page 48: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

4848

Predictor models

• Expert Systems

• Neural Networks

– Backpropagation– Radial– Probabilistic– Generalized Regression

• Decision Trees

• Linear Discriminant Analysis

• Quadratic Discriminant Analysis

• Mixed Model

Page 49: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

4949

Expert Systems

• Używamy sztywnych reguł jako do przewidywania akcji przeciwnika (np. uzywając Fix Expert Betting Strategy)

• Zakładamy, ze gracz bedzie się grał w rozsądny sposób w poszczególnych sytuacjach (generic opponent modeling)

• Nie jest to skuteczna metoda, ale daje przyzwoity punkt odniesienia dla innych metod modelowania oponentów

• Bardzo użyteczna metoda, gdy gramy z przeciwnikiem po raz pierwszy

Page 50: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

5050

Inputs data for Predictors

Page 51: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

5151

Neural Networks

• Bardziej ogólny system do modelowania przeciwników

• Posiada dużą zdolność do uogólniania informacji, odporność na szum

• Bardzo dobre wyniki kiedy parametry danych wejściowych są zależne od siebie nieliniowo

• Używamy np. prosta sieć jednokierunkowa (feed-forward) z algorytmem uczącym backpropagation

Page 52: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

5252

Backpropagation Neural Networks

Page 53: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

5353

Decision Trees

• Mniejsza odporność na szum oraz nieliniowo zależnych parametrów danych wejściowych

• Reprezentacja prosta do zrozumienia dla człowieka, łatwo można określić jaką wiedzę zostało nauczone drzewo

• Osiągnął jeden z najlepszych wyników podczas eksperymentu z Opponent Models dla HPoker w wersji Limit i Unlimit

Page 54: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

5454

Decision Trees (przykład)

Page 55: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

5555

Linear & Quadratic Discriminant Analysis

• Metody używają Modelu Liniowego do klasyfikacji

• Niezbyt dobrze sobie radzą jeżeli dane wejściowe są zależne nieliniowo

• Podczas eksperymentu z Opponent Models dla HPoker osiągają dosyć słabe wyniki w porównaniu z innymi modelami

Page 56: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

5656

Mixed Model

• Możemy mieć dylemat, którego z „predictors” używać

• Eleganckie rozwiązanie jest użycie tych wszystkich metod, poprzez głosowanie

• Wybieramy akcję którą wybrało najwięcej Predictors

Page 57: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

5757

Opponent Modeling podsumowanie

• Kluczowe do tworzenia mocnego gracza w Pokerze

• Opponent Modeling w Pokerze posiada największą liczbę problemów podczas uczenia systemu:

– uncertainty

– noise (missing information)

– szybka nauka i uogólnianie za pomocą małej liczby przykładów treningowych, często z niepełnymi informacjami

– Ograniczenia związane z naturą gry czasu rzeczywistego. Np. 2,3 s na podjęcie decyzji

Page 58: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

5858

Eksperymenty HPoker v.06

• Aktualne eksperymenty przeprowadziłem dla dwóch trybów gry :

– Limit 10$/20$ blinds, 1000$ initial stake

– No limit 50$/100$ blinds, 10000$ initial stake

• Gracza AIs używali różne formuły Fix Expert Betting Strategy (wspomagane przez Predictors) :

– EPS : biasEPS, uniEPS, uniRandEPS, mixEPS,

– PS : loose, tight, rational, mix

• Gracza AIs z Simulation-Based Betting Strategy jeszcze w fazie implementacji

Page 59: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

5959

Limit Human vs AIs

Page 60: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

6060

Limit Only AIs

Page 61: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

6161

Limit mixEPS vs alwaysCall

Page 62: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

6262

Limit mixEPS vs alwaysRaise

Page 63: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

6363

Limit mixEPS vs tight

Page 64: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

6464

Limit mixEPS vs loose

Page 65: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

6565

Limit mixEPS vs rational

Page 66: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

6666

Limit wyniki Predictors

Page 67: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

6767

No limit Human vs AIs

Page 68: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

6868

No limit Human vs AIs

Page 69: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

6969

No limit Human vs AIs

Page 70: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

7070

No limit Human vs AIs

Page 71: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

7171

No limit Human vs mixEPS

Page 72: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

7272

No limit Human vs mixEPS

Page 73: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

7373

No limit wyniki Predictors

Page 74: Pham Hoang Minh prof. dr hab. Jacek Mańdziuk

7474

Dziękuję za uwagę!