Beleg Neuronaler Netze

Beispielanwendung

PokerTH

Um den Impelementationsaufwand für den Beleg niedrig zu halten, entschieden wir uns ein bereits bestehendes PokerProjekt zu erweitern. Dafür schien uns das OpenSource Projekt PokerTH am geeignetsten. PokerTH beherrscht die Pokervariante Texas Holdem und es ist möglich gegen bis zu 6 Computergegner anzutreten. Entwickelt wurde PokerTH in C++ mit Hilfe von Qt und der boost-Libary. Da das Projekt konsequent Objektorientiert entwickelt ist, war die Erweiterung relativ einfach.
Entstanden sind zwei neue Spielmmodi.

Headsup: PokerTHPlayer vs. NeuroPlayer

In diesem Modus tritt das Neuronale Netz gegen den Computergegner von PokerTH an. Der Computergegner von PokerTH trifft seine Spielentscheidungen aufgrund von statistischen Berechnungen und Zufall (ob z.B. Geblufft werden soll). Die Karten der beiden Spieler sind offen zu sehen, um die Stärke der Gegner einschätzen zu können.
Das Spiel kann über das Menu „Spiel-> Start Neuro Headsup…-> PokerTH vs. Neuro“ gestartet werden. Das Neuronale Netz (Name: „Neuro Player“) sitzt an der unteren Seite des Tisches, während die PokerTH Engine an der linken Seite sitzt

1


Wenn das Spiel gestartet ist, beginnen beide Spieler automatisch gegeneinander zu spielen. Auf der rechten unteren Seite befindet sich eine Scroll Bar mit der das Spieltempo beeinflusst werden kann. Tempo 1 stellt die langsamste Spielgeschwindigkeit dar, während Tempo 11 die Schnellste ist. Rechts neben der Scroll Bar befindet sich ein Button mit der Aufschrift „Stop“. Durch wird nach jedem Spielzug das Spiel angehalten.

Headsup: HumanPlayer vs. NeuroPlayer


Natürlich kann man auch selber gegen das Neuronale Netz antreten. Über „Spiel -> Neuro HeadsUp…-> Human vs. Neuro“ wird das Spiel gestartet. Die Karten des Netzes sind bei diesem Spielmodus natürlich verdeckt, können aber zur Überprüfung der Spielstärke über „Ansicht -> View Cards“ angezeigt werden. Der menschliche Spieler sitzt am unteren Tischrand, während das Neuronale Netz links davon sitzt. Einsätze können über die Button „Rais/Bet“, „Check“, „Fold“ vorgenommen werden.


2

Entwicklung

Die Beispielanwendung wurde mit Hilfe der Qt – Bibliothek Version 4.2 sowie der Boost – Bibliothek Version 1.3 verwirklicht. Als Compiler wurde Microsofts Visual Studio 2005 benutzt. Die Funktionalität des Netzes wird über die MemBrain – DLL geladen.  Da diese nur unter Windows einsetzbar ist, kann die Beispielanwendung nur unter Windows benutzt werden. Empfohlen und getestet ist, ein System mit Windows XP und installierten .Net Framework 2.0  

Neu hinzugekommene Spieler "NeuroPlayer"

Quelltexte

 

2007 Richard Wähner / Richard Meyer