Poker-AI.org Poker AI and Botting Discussion Forum 2015-02-28T23:50:14+00:00 http://poker-ai.org/phpbb/feed.php?f=26&t=2826 2015-02-28T23:50:14+00:00 2015-02-28T23:50:14+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2826&p=6606#p6606 <![CDATA[Re: Poker Software architecture]]> spears wrote:

meerkat, annual computer poker competition


found Meerkat-API-2.5 at http://www.poker-academy.com/community.php

looks like someone bought http://www.poker-academy.com/

thanks

Statistics: Posted by rtayek — Sat Feb 28, 2015 11:50 pm


]]>
2015-02-28T22:32:23+00:00 2015-02-28T22:32:23+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2826&p=6605#p6605 <![CDATA[Re: Poker Software architecture]]> Statistics: Posted by spears — Sat Feb 28, 2015 10:32 pm


]]>
2015-02-28T12:32:40+00:00 2015-02-28T12:32:40+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2826&p=6604#p6604 <![CDATA[Re: Poker Software architecture]]> rtayek wrote:

S.Cooper wrote:
The idea ... I started to write classes for poker. The goal is to make them as flexible as possible, so i could use them for multiple purposes: ...


i have some very basic classes from earlier work. here is what i have so far. ...


i am starting to write a game server.

what kind of api would a bot like?

are there some example api's that i can look at?

thanks

Statistics: Posted by rtayek — Sat Feb 28, 2015 12:32 pm


]]>
2015-02-22T07:43:20+00:00 2015-02-22T07:43:20+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2826&p=6571#p6571 <![CDATA[Re: Poker Software architecture]]> S.Cooper wrote:

The idea ... I started to write classes for poker. The goal is to make them as flexible as possible, so i could use them for multiple purposes: ...


i have some very basic classes from earlier work. here is what i have so far.

classes
Rank - enum instances of each rank
Suit - enum instances of each suit
Card(Rank,Suit) - enum instances of each of th 52 cards and a joker.
Cards - array of Card
Deck - subclass of Cards
Hand - subclass of Cards
HoldemHand - enum instances of all 169 holdem hands
Range - holdem hand range like 88+, A8s+, AT+
SpecificHoldemHand - a pair of Card - like AdQh
methods
function lookup(5 cards) - returns hand number (hand number 1 is 5 aces)

you can see some sample code at http://stackoverflow.com/questions/9554872/how-to-operate-the-poker-game-by-java/9608351#9608351

these would just be the building blocks for what you are doing.

thanks

Statistics: Posted by rtayek — Sun Feb 22, 2015 7:43 am


]]>
2014-11-05T11:38:16+00:00 2014-11-05T11:38:16+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2826&p=6395#p6395 <![CDATA[Re: Poker Software architecture]]> HontoNiBaka wrote:

You could check our R Gibsons pure cfr code


Thanks

Statistics: Posted by S.Cooper — Wed Nov 05, 2014 11:38 am


]]>
2014-10-31T05:41:16+00:00 2014-10-31T05:41:16+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2826&p=6393#p6393 <![CDATA[Re: Poker Software architecture]]> Statistics: Posted by HontoNiBaka — Fri Oct 31, 2014 5:41 am


]]>
2014-10-29T20:24:36+00:00 2014-10-29T20:24:36+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2826&p=6392#p6392 <![CDATA[Re: Poker Software architecture]]> http://www.cs.toronto.edu/~jm/340S/PDF2/StateD.pdf

Generating a game tree amounts to "running" the state machine through all its possible states.

see also http://en.wikipedia.org/wiki/UML_state_machine
Quote:

The concept of a FSM is important in event-driven programming because it makes the event handling explicitly dependent on both the event-type and on the state of the system. When used correctly, a state machine can drastically cut down the number of execution paths through the code, simplify the conditions tested at each branching point, and simplify the switching between different modes of execution. Conversely, using event-driven programming without an underlying FSM model can lead programmers to produce error prone, difficult to extend and excessively complex application code.

Statistics: Posted by spears — Wed Oct 29, 2014 8:24 pm


]]>
2014-10-29T18:20:51+00:00 2014-10-29T18:20:51+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2826&p=6391#p6391 <![CDATA[Re: Poker Software architecture]]>
spears wrote:

f I had my time again I would probably represent poker rules as a state machine.


Could you please elaborate, how would you do it?

Statistics: Posted by S.Cooper — Wed Oct 29, 2014 6:20 pm


]]>
2014-10-29T15:52:27+00:00 2014-10-29T15:52:27+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2826&p=6390#p6390 <![CDATA[Re: Poker Software architecture]]>
If I had my time again I would probably represent poker rules as a state machine.

Statistics: Posted by spears — Wed Oct 29, 2014 3:52 pm


]]>
2014-10-29T13:14:24+00:00 2014-10-29T13:14:24+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2826&p=6388#p6388 <![CDATA[Poker Software architecture]]> The idea

I started to write classes for poker. The goal is to make them as flexible as possible, so i could use them for multiple purposes:
-SNGWizard alike advisor for push or fold situations
-pokerrom to play against friends
-simulate toy games like Kuhn poker
-hand replayer
-can be you with different poker types (SNG, cash game) and variants (PLO, NLHE )

What i have so far
Image
i have to do next
-introduce PHASE (post, preflop, flop, turn river, showdown)
Short terms next goals
-Deck class (for shuffling), toy games dont need 52 card deck
-Range class: makes fancy annotation (Axs, 22-55, AJs+,Ts2s) to a list of hands, card removal

Some questions:
-as you can see i have the class HandState (maybe GameNode is more common name for it). The idea was that every action (bet, fold etc) generates a new handstates, which belong to a hand. If a player acts, a new handstate will be created. They can be also a representation of possible ways to play a hand (game tree). Do you think its a good idea? How do you store the "hand history" (squence of actions so far), and generate the theoretical ones (possible states in the future)?

-A Player has to know which legal action are available if he is to act. There are different rules in NL and FL, not to mention toy games, or forced strategies (push or fold). How do you represent poker rules in your bot?

Please feel free to comment, criticize. If you see something, what you would write/stucture another way, please let me know.

Statistics: Posted by S.Cooper — Wed Oct 29, 2014 1:14 pm


]]>