
Texas Hold'em KI
#1
Posted 18 May 2013 - 09:35 AM
es wird wiedermal Zeit für ein kleines Softwareprojekt, und da ich derzeit Spass am Pokern habe wirds eine Poker-KI. Gleichmal vorweg: Ich nutze es wie immer auch für andere Lernzwecke, in dem Fall um C# zu lernen.
Ursprünglich wollte ich einen Blog dazu schreiben (kommt vielleicht noch), aber erstmal würd ich gern die Thematik mit euch diskutieren.
Geplant ist also eine KI zu schreiben die in erster Instanz mal korrekt Pokerspielen kann (inkl. dem ganzen Framework rundherum) und dann natürlich auch halbwegs gut spielt.
Vor allem der Teil mit dem "gut spielen" wird vermutlich eine Herausforderung... deswegen die Frage: Hat jemand von euch schon Erfahrungen mit PokerKI/Bots? Also im Sinne von "selber geschrieben oder entwickelt". Im Endeffekt werde ich das ganze Ding auch so bauen das man unterschiedliche Strategien gegeneinander antreten lassen kann, ich freu mich also auch über Anregungen was Pokerstrategien angeht.
Wenn das Game fertig ist, stell ichs natürlich auch gerne hier zur Verfügung, wird aber aufgrund meines vollen Kalenders noch ein bissl dauern.
Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.
Einstein
Es ist nicht deine Schuld, das die Welt ist wie sie ist. Es wär nur deine Schuld wenn sie so bleibt.
Thanked by 11 Members:
|
|
#2
Posted 18 May 2013 - 11:15 AM
IMHO wäre eine getrennte betrachtungsweise einfacher.
Punkte die man beachten sollte
Spiele die Karten
Karteninterepretation
- in jeder Phase (vor/nach Flop usw)
- Wahrscheinlichkeitsberechnung in jeder Phase
-
Position zum Button oder BigBlind
- Verhalten der Spieler vor dir
- Welche Position hast du
-
Spiele den Spieler
Spieler
- Risikobereitschaft (konservativ vs aggressiv)
- rebuy/add
- knockout
- wie hoch erhöht er in welcher Position
-
Soll es ein autobot oder hud werden?
Ich selber habe keine Erfahrung bei der Entwicklung dieser Software → halte aber den Lernfaktor bei so etwas mitzuwirken für sehr hoch.
Nicht die Qualität einer Idee zählt, sondern der Status dessen, der sie äußert.
Wolfgang Herles
Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen
FdG
80% der Ego-Shooter Spieler sind zu Fett um einen Amoklauf durchzuführen
Im Training https://www.swim.com/m-g
Thanked by 9 Members:
|
|
#3
Posted 18 May 2013 - 02:12 PM
Deine Liste könnte eine gute Unterteilung der Komplexitätslevel sein:
- Phase 1: Eine Strategie die rein aufgrund der Karten entscheidet (wie stehen die eigenen Wahrscheinlichkeiten gegen die der anderen)
- Phase 2: Zusätzliche Einbeziehung der Position und Tischsituation (Höhe des Pot, Anzahl Spieler etc.)
- Phase 3: Entwickeln einer "Einschätzung" der Gegner und anpassen der Strategie je nachdem wer im Spiel ist und sich wie verhält.
Was im Endeffekt rauskommen soll: Erstes Ziel ist eine Standalone Applikation die den Ablauf grafisch darstellt, sozusagen der Pokerroom. Eingebettet darin kann dann jedem Player eine Strategie zugewiesen werden.
Je nachdem wie sich das Projekt bis dahin entwickelt sollte man daraus dann alle möglichkeiten haben:
- Herauslösen einer erfolgreichen Strategieimplementierung in einen autobot
- Verwenden der App im Adminmode (manuelle Eingabe aller Aktionen etc.) für die Unterstützung im manuellen Spiel. (ich glaub das wär ein HUD oder? Sprich anzeige der eigenen Wahrscheinlichkeiten, ggf. inkl. Empfehlungen der Strategie)
- Verwenden der App als Trainingsraum für das eigene Pokerspiel. (Schlägt man den Bot kann man es Nutzen um die Strategie zu verbessern, verliert man kann man damit die eigene Strategie verbessern ;)
Ich freu mich auf jeden Fall über Beteiligung, derzeit bin ich dabei das Regelwerk bzw. die Berechnung der Wahrscheinlichkeiten zu implementieren.
Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.
Einstein
Es ist nicht deine Schuld, das die Welt ist wie sie ist. Es wär nur deine Schuld wenn sie so bleibt.
Thanked by 7 Members:
|
|
#4
Posted 19 May 2013 - 11:25 AM
Eine kleine Hilfestellung wenn man die Karten spielen will (Phase1 und teilweise auch Phase2)
http://de.pokerstrat...egy/bss/1535/1/
http://resources.pok...trategie_en.pdf
EDIT: Warum frisst er nicht den Link zur PDF File? Beim editieren sehe ich es noch aber beim abschicken wird er nicht angezeigt
Nicht die Qualität einer Idee zählt, sondern der Status dessen, der sie äußert.
Wolfgang Herles
Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen
FdG
80% der Ego-Shooter Spieler sind zu Fett um einen Amoklauf durchzuführen
Im Training https://www.swim.com/m-g
Thanked by 7 Members:
|
|
#5
Posted 19 May 2013 - 12:07 PM
willst du eigentlich no limit, fixed limit oder pot limit simulieren?
Thanked by 8 Members:
|
|
#6
Posted 19 May 2013 - 02:42 PM
Zu Beginn sicher fixed da am einfachsten.willst du eigentlich no limit, fixed limit oder pot limit simulieren?
Im Moment kämpf ich mich gerade eher durch das vollständige Berechnen der Wahrscheinlichkeiten/Möglichkeiten. Ist doch etwas komplexer als gedacht.
Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.
Einstein
Es ist nicht deine Schuld, das die Welt ist wie sie ist. Es wär nur deine Schuld wenn sie so bleibt.
Thanked by 7 Members:
|
|
#7
Posted 19 May 2013 - 06:04 PM
Hab mal eben 10 Sekunden geschaut vieleicht hilft es dir ein weing.
http://www.thema-pok...elbst-berechnen
http://www.pokerwahr...lichkeiten.net/
LG ST
Thanked by 8 Members:
|
|
#8
Posted 19 May 2013 - 07:50 PM
Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.
Einstein
Es ist nicht deine Schuld, das die Welt ist wie sie ist. Es wär nur deine Schuld wenn sie so bleibt.
Thanked by 7 Members:
|
|
#9
Posted 19 May 2013 - 08:46 PM
Was ja auch etwas unterschiedlich ist: Im TV wird dann ja direkt die richtige Gewinnwahrscheinlichkeit ausgerechnet. Das ganze unter der Kenntnis aller Handkarten. Das wird ja eine KI nicht leisten können. Dann hängt auch sehr viel von der Spieler Anzahl ab. In diesem Buch http://www.amazon.de...matics of poker steht vermutlich am meisten zur komletten Mathematik hinter fixed limit hold'em drinnen. Vielleicht hilft das ja bei der Vereinfachung bzw Strukturierung der Software
Thanked by 9 Members:
|
|
#10
Posted 20 May 2013 - 09:43 AM
Aber man kann ja auch schon von den Tischkarten und dem Wissen über die eigenen Handkarten etwas über die W! der Gegner aussagen.
(Um zu sehen wieviele Mitleser wirklich Interesse dran haben, gibts den Rest erstmal hidden)
Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.
Einstein
Es ist nicht deine Schuld, das die Welt ist wie sie ist. Es wär nur deine Schuld wenn sie so bleibt.
Thanked by 6 Members:
|
|
#11
Posted 20 May 2013 - 03:14 PM
Sowas lässt sich ja ohne Probleme in das Framework optional integrieren.Volle Information über die gegnerischen Handkarten würde das Spiel natürlich einfacher machen :D
Spannend wird es, wenn die KIs gegeneinander antreten. Weiß jemand, wie gut die Bots bei den Online-Casinos sind (ich spiele kein Onlinepoker)?
Thanked by 6 Members:
|
|
#12
Posted 20 May 2013 - 03:49 PM
stimmt, macht es nur nicht realistischer ...Sowas lässt sich ja ohne Probleme in das Framework optional integrieren.
Leider keine Ahnung. Aber wenn das Framework und die Strategien stehen werd ich sie sicher gegeneinander trainieren lassen.Spannend wird es, wenn die KIs gegeneinander antreten. Weiß jemand, wie gut die Bots bei den Online-Casinos sind (ich spiele kein Onlinepoker)?
Wenns soweit ist, stell ich auch gern das Framework für fremde Strategien zur Verfügung, also wenn sich jemand was überlegen will kann er jetzt noch beim Design der Strategieschnittstellen mitwirken.
Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.
Einstein
Es ist nicht deine Schuld, das die Welt ist wie sie ist. Es wär nur deine Schuld wenn sie so bleibt.
Thanked by 6 Members:
|
|
#13
Posted 20 May 2013 - 06:02 PM
Ich habe mich damit auch schon beschäftigt.
State of the Art in Deutschland: TU Darmstadt http://www.ke.tu-dar...r-als-ki-domane . Dort findest du auch jede Menge Paper, Bachelorarbeiten etc.
Testen kannst du deinen Bot bei http://www.computerp...ompetition.org/
Thanked by 7 Members:
|
|
#14
Posted 22 May 2013 - 09:44 PM
Coole Idee, Mythos. Werde es aufmerksam verfolgen. Evtl. gibt es nachher auch eine Version wo ich die Karten selber zuordnen kann. Dann nehme ich bei der nächsten Pokerrunde den Laptop mit und lasse ihn meine Entscheidungen treffen. So kann ich dann mehr trinken .
Wann kaufen? Schau in den Investment Kalender auf Marktgedanken.
Meine Trophäen (dedicated to Vola *g*):
Thanked by 5 Members:
|
|
#15
Posted 24 May 2013 - 08:26 PM
Ich bin inzwischen soweit, das ich in der Console die berechneten Wahrscheinlichkeiten sehe. Jetzt is die Frage ob die stimmen...
Kennt jemand eine Software/Liste für sowas? Also eine vollständige Liste mit Antworten auf Fragen wie "Wenn ich JackDiamonds und FourOfClubs habe, wie hoch ist die W! das ich nach den nächsten 5 Karten ein Pair/TwoPair/FullHouse/Flush... habe?"
Wie gesagt theoretisch berechnet is es, nur keine Ahnung obs stimmt...
Damit das Ganze möglichst schnell auch lustig und den "Mitmachfaktor" kriegt, werd ich jetzt mal kurz die Strategieimplementierung sein lassen und mich aufs Framework konzentrieren. Sprich den virtuellen Pokerroom, Spielerverwaltung, Setzrunden etc.
Die erste Erkenntnis aus der bisherigen Arbeit/Recherche: Ich glaub mein Ansatz is etwas abweichend von den meisten anderen. Da bei "den Anderen" auch die erfolgreichsten PokerBots dabei sind, bin ich mir nicht sicher ob das ein gutes Zeichen ist...
Und es gibt viel viel mehr Hände als gedacht. Also die 12 Typen (HighCard, Pair, ... , StraightFlush) sind ja nur die grobe Einteilung. Beim Showdown zählt dann ja noch der konkrete Wert der Karten. Ein Flush mit Ass als Topkarte is mehr Wert als einer mit 8 als Top, und deutlich weniger als einer mit 6 als Top :D Sprich die Liste mit den möglichen Händen und ihren W! ist ein paar tausend Einträge lang...
Aber solche Projekte macht man ja um zu lernen, also ran ans Werk.
Aja, @conglom-o: Wenn der "Adminmode" gut genug wird, gibts dann sicher eine Appversion davon, Laptop beim Pokern fällt ja doch auf.
Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.
Einstein
Es ist nicht deine Schuld, das die Welt ist wie sie ist. Es wär nur deine Schuld wenn sie so bleibt.
Thanked by 6 Members:
|
|
#16
Posted 27 May 2013 - 08:28 PM
Laptop beim Pokern fällt ja doch auf.
Bei seiner Statur verschwindet das 17 Zöller in den Handflächen

Gruß Vola
Ich zähle lieber bis 4
Alle von mir gemachten Aussagen und Antworten auf Fragen entsprechen lediglich meiner persönlichen Meinung und stellen keinerlei Rechts- und Anlageberatung oder ähnliches dar
Thanked by 3 Members:
|
|
#17
Posted 27 May 2013 - 10:01 PM
Bei seiner Statur verschwindet das 17 Zöller in den Handflächen
So sieht es nämlich aus - in der einen Hand den Laptop, in der anderen die Karten. Und wenn mir jemand dumm kommt, sag ich halt, dass ich meine Pokergewinne direkt an der Börse wieder verzocke !
Wann kaufen? Schau in den Investment Kalender auf Marktgedanken.
Meine Trophäen (dedicated to Vola *g*):
Thanked by 3 Members:
|
|
#18
Posted 28 May 2013 - 05:20 PM
Gibt doch jetzt diese feinen Brillen mit denen man sich unterhalten kann . Sind auch todschick . Die Linke meine ich natürlich , die Rechte würde doch eher auffallen . Mußt dann halt langsam und deutlich reden , aber dann sollte das funzen . Weißt , irgendwo einen Rechner laufen haben, mit der Cam das eigene Blatt und den Tisch scannen, dann warten, dann den Rechner einen Farbcode einblenden lassen , Grün für hohe Wahrscheinlichkeiten , Rot "Finger wech und Passe" . Und das Verrückte ist ..... das es wohl mit dieser Brille durchaus realisierbar sein kann , soweit ich das bislang alles verstanden habe . KB
Thanked by 6 Members:
|
|
#19
Posted 28 May 2013 - 05:41 PM
Wenn die ImageRecognition nicht massiv Akku ziehen würde und das Teil sowieso knapp mit Akkulaufzeit wär, ja.Und das Verrückte ist ..... das es wohl mit dieser Brille durchaus realisierbar sein kann , soweit ich das bislang alles verstanden habe . KB
Mit der aktuellen Technologie müsste man vermutlich ein bekanntes Set von Karten nehmen die auch gut unterscheidbar sind damit die Erkennung funktioniert.
Aber in den Casinos sind die Glasholes eh schon verboten...
Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.
Einstein
Es ist nicht deine Schuld, das die Welt ist wie sie ist. Es wär nur deine Schuld wenn sie so bleibt.
Thanked by 5 Members:
|
|
#20
Posted 08 June 2013 - 05:43 PM
Die Berechnung der Wahrscheinlichkeiten ist doch nicht ganz so straight forward wie gedacht. Bisher hab ich gedacht ich berechne die W! für jede Hand einzeln. Geht auch recht gut, aber dadurch kommen natürlich Überschneidungen zustande.
Im Moment ist die W! für zB ein PairAce die W! für das Event "Am Ende sind mindestens 2 meiner 7 Karten Asse". Ist ja in gewisser Weise richtig, wenn ich bereits 2 Asse habe soll die W! ja 100% sein und nicht was kleineres weil es ja sein könnte das es ein Drilling etc. wird.
Aber damit sind die berechneten W! für die einzelnen Hände nicht mehr unabhängig. Sprich ich kann sie nicht einfach zusammenzählen. Denn wenn zB 30% für ein PairAce und 30% für ein PairKing, dann gibt es einen kleinen Prozentsatz mit dem beides gleichzeitig eintritt also 2 Asse UND 2 Könige. Die W! für "PairAce oder PairKing" wäre also W(PairAce) + W(PairKing) - W(PairAce & PairKing). Bei den zwei noch einfach, aber wenn ich für den "Adminmode" die W! für ein (beliebiges) Pair anzeigen will, wirds recht komplex. Vor allem weil bei den 7 Karten ja auch 3 Paare sein können.
Bei Händen mit 5 Karten ist das Problem nicht ganz so schlimm, aber dank 5 aus 7 immer noch vorhanden.
Soll heißen: jemand eine Idee damit die Anzeige der W! etwas Sinn macht?
Für die Strategien hatte ich vor den Erwartungswert zu verwenden. Mit diesen W! ist die Berechnung des Erwartungswerts natürlich auch nicht mehr möglich, aber man kann eine gewichtete Summe mit Anlehnung an den Erwartungswert verwenden. Hier sollte es trotzdem funktionieren. Es bleibt natürlich die Frage welchen Wert man den einzelnen Händen zuweist...
Bei der Implementierung des Frameworks bin ich dafür einiges weitergekommen. Ich kann schon ein normales Game durchspielen. Die GUI ist noch sehr rudimentär aber zumindest die Technik dahinter funzt mal. Noch ist es nur nicht wirklich interessant für Tester, deswegen gibts noch keine Version online.
Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.
Einstein
Es ist nicht deine Schuld, das die Welt ist wie sie ist. Es wär nur deine Schuld wenn sie so bleibt.
Thanked by 6 Members:
|
|
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users