Image Image Image




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: CFRM
PostPosted: Mon Aug 20, 2012 2:15 pm 
Offline
New member
User avatar

Posts: 9
Favourite Bot: none
Hallo Gemeinde :-)

Ich befasse mich mit dem Thema Chance Sampled CFRM und habe soweit Kuhn auch erfolgreich gelöst.
Der Umstieg auf Poker gestaltet sich leider doch etwas problematisch.
Der bei Kuhn funktionierende Ansatz funktioniert leider in meinem Fall beim Poker nicht.
Kriege blöde Ergebnisse! (z.B. Open-Fold Preflop im SB, obwohl im stärksten Bucket!)

Hier ist mein Ansatz basierend auf das Beispiel im Johannson-Thesis zum Thema CFRM.

1. Berechne den Payoff für jede einzelne Aktion
z.B. [-5/5/10]

2. Berechne den EV für den Knoten
z.B. [(-5*0.2)+(5*0.3)+(10*0.5)=+5.5]

3. Berechne den Regret für jede einzelne Aktion (Formel: Payoff-EV)
Regret(fold): -5-5.5=-10.5
Regret (Call): 5-5.5=+0.5
Regret (Bet): 10-5.5=+4.5

4. Gewichte die Regrets mit dem Produkt der Wahrscheinlichkeiten des Gegners bis zu diesem Knoten
Wenn also z.B. bis zu diesem Knoten der Gegner 3x am Zug war und die jeweiligen Wahrscheinlichkeiten für seine Aktionen z.B. 0.5,0.2 und 0.7 waren, dann multipliziere ich die Regrets mit dem Produkt (0.5*0.2*0.7=0.07)
Regret(fold): -10.5*0.07=-0.735
Regret (Call): +0.5*0.07=+0,035
Regret (Bet): +4.5*0.07=+0.315

5. Die jeweiligen Regrets (negative wie positive) werden akkumuliert und bei jedem Knoten-Besuch hinzuaddiert.
Wenn z.B. aus früheren Knoten-Besuchen bereits +1/0/-0.2 gespeichert ist, so sind die neuen Akkumulierten-Regrets:
Akkumulierte Regret(fold): +1-0.735=+0.265
Akkumulierte Regret(Call): 0+0,035=+0,035
Akkumulierte Regret(Bet): -0.2+0.315=-0.115

6. Basierend auf diesen akkumulierten Regrets werden die neuen Aktionswahrscheinlichkeiten berechnet.
Zu Beginn des Beispiels waren diese annahmegemäß 0.2/0.3/0.5
Die Regel hier ist die, dass negative akkumulierte Regrets nicht berücksichtigt werden.
Also gilt für unser Beispiel:
Aktionswahrscheinlichkeit (Fold): 0.265/(0.265+0.035)=0.883
Aktionswahrscheinlichkeit (Call): 0.035/(0.265+0.035)=0.117
Aktionswahrscheinlichkeit (Bet): 0.0
Für den Speziallfall, dass alle akkumulierten Regrets negativ sind, wird eine Gleichgewichtsstrategie (0.33/0.33/0.33) benutzt.

7. Die neuen Wahrscheinlichkeiten (0.883/0.117/0) werden ebenfalls akkumuliert bei jedem Knoten-Besuch.
Die Anzahl der Knoten-Besuche wird ebenfalls gespeichert. (Bzw. jedes mal um eins erhöht.)

1-7 wird jetzt x-mal in einer Schleife durchlaufen und bei jedem besuchten Knoten angewandt.

Die pseudo-optimale Stratategie, die wir für einen Knoten suchen, liegt in den in Punkt 7 akkumulierten Werten.
Wenn wir den Knoten z.B. 1000x besucht haben, dann hat sich für die jeweiligen Aktionen eine Summe zusammenaddiert, der gleich 1000 ist.
Könnte z.B. so aussehen: (450/500/50). Diesen teilen wir durch die Anzahl der Knoten-Besuche und erhalten als pseudo-optimale Wahrscheinlichkeitsverteilung: (0.45/0.50/0.05)

Ist dieser Algorithmus so korrekt?
Hat das so jemand zum laufen bringen können bezüglich Poker??

Danke


Top
 Profile E-mail  
 
 Post subject: Re: CFRM
PostPosted: Mon Aug 20, 2012 2:32 pm 
Offline
PokerAI fellow
User avatar

Posts: 1239
Favourite Bot: my bot
http://pokerai.org/pf3/viewtopic.php?f= ... ing#p40335


Top
 Profile E-mail  
 
 Post subject: Re: CFRM
PostPosted: Mon Aug 20, 2012 2:37 pm 
Offline
New member
User avatar

Posts: 9
Favourite Bot: none
Danke Spears für den Verweis,

ich habe die englischen Topics alle verfolgt.
Aber anscheinend reicht mein Englisch nicht aus, um mein Fehler ausfindig zu machen.

Ich wäre dir sehr dankbar, wenn du mir zumindest nur den fehlerhaften Punkt in meinem Algorithmus nennen könntest :-)

Danke


Top
 Profile E-mail  
 
 Post subject: Re: CFRM
PostPosted: Mon Aug 20, 2012 3:19 pm 
Offline
PokerAI fellow
User avatar

Posts: 1239
Favourite Bot: my bot
3.1 Die Chance des Gegners Erreichen des Knotens gegeben die Karte hält er berechnet wird. Nennen Sie diese "ORP"
3.2 Accumulate ORP für diesen Knoten als AORP

Quote:
4. Gewichte die Regrets mit dem Produkt der Wahrscheinlichkeiten des Gegners bis zu diesem Knoten
Wenn also z.B. bis zu diesem Knoten der Gegner 3x am Zug war und die jeweiligen Wahrscheinlichkeiten für seine Aktionen z.B. 0.5,0.2 und 0.7 waren, dann multipliziere ich die Regrets mit dem Produkt (0.5*0.2*0.7=0.07)
Regret(fold): -10.5*0.07=-0.735
Regret (Call): +0.5*0.07=+0,035
Regret (Bet): +4.5*0.07=+0.315


Regret(fold): -10.5*ORP=
Regret (Call): +0.5*ORP=
Regret (Bet): +4.5*ORP=

Quote:
Könnte z.B. so aussehen: (450/500/50). Diesen teilen wir durch die Anzahl der Knoten-Besuche und erhalten als pseudo-optimale Wahrscheinlichkeitsverteilung: (0.45/0.50/0.05)

Nein, sie dividieren durch AORP


Ich denke, es wäre einfacher für Sie den Code aus dem Link zum Download an, führen Sie es, und sehen, wie es funktioniert.


Top
 Profile E-mail  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: