google-deepmind / open_spiel

OpenSpiel is a collection of environments and algorithms for research in general reinforcement learning and search/planning in games.
Apache License 2.0
4.25k stars 933 forks source link

Cool work. Do you plan to support large games, such as Texas Hold'em? #5

Closed KK666-AI closed 5 years ago

KK666-AI commented 5 years ago

FYI

lanctot commented 5 years ago

Thanks! I would say that Chess, Go, and Backgammon are large :)

Actually, we currently have a Swift implementation of Texas Hold'em in the works.

There is nothing preventing large imperfect information games, in general, though. We just didn't have anyone (other than Brennan!) volunteer to write any. A C++ Texas Hold'em implementation would be very welcome!

KK666-AI commented 5 years ago

wow, that's great. I plan to use this toolbox and do some experiments.

Writing Texas Hold'em solver in pure C/C++ needs a lot of effort. Looking forward.

lanctot commented 5 years ago

True. I am hoping someone already has one they are willing to adapt and share.

Perhaps our good friend Noam Brown? ;-)

KK666-AI commented 5 years ago

Yes, Noam Brown implemented Texas Hold'em solver in pure C/C++. I meet him in IJCAI 2019.

It can imagine there are a lot of codes in his solver. Reimplementation of such difficult game needs a lot time.

Kailianghu commented 5 years ago

Cool work !The ACPC code ([http://www.computerpokercompetition.org/downloads/code/competition_server/project_acpc_server_v1.0.42.tar.bz2]) is pretty good for poker engine

saeta commented 5 years ago

Hey all!

Thank you very much for your interest in OpenSpiel. I lead the Swift for TensorFlow project in Google Brain and collaborated with @lanctot and many others across both Brain and DeepMind to help make OpenSpiel. When I saw the recent research results coming out using Texas Hold'em, I built a game implementation for OpenSpiel. Unfortunately, I had some edge cases in the game engine that we discovered late, so we held it back from the initial release. Earlier this week, I fixed it up and so @lanctot has now open sourced it at https://github.com/deepmind/open_spiel/blob/master/swift/Sources/OpenSpiel/TexasHoldem.swift (I also spent some time last night and optimized the game engine a bit, dropping the time to play a round from 8.4 usec down to 4.7 usec.) :-)

I and others will be discussing the design of the Swift OpenSpiel port at the Swift for TensorFlow Open Design Review this Friday (tomorrow). Please do join if you're able and ask us questions! (A recording will be made and posted later.) To get the invite, join swift@tensorflow.org.

All the best, -Brennan

dennisjay commented 5 years ago

Hi all!

I have an implementation of a Poker gameengine based on the ACPC-Server with a very similar API to open_spiel.

I think I'll be able to contribute it as a pull request.

Are there any style guidelines and rules for contribution? How can I contact you in case of questions?

Geetings, DJ

dennisjay commented 5 years ago

Now implemeted an adapter for my previous code and made everything compile. Game unit tests are running, but no observations and information sets.

Code is incubating here https://github.com/dennisjay/open_spiel/tree/feature/universal_poker_game

Feedback and contributions welcome :-)