Comments (2)
Most of this seems like overkill for the framework. I would in general like to avoid adding a bunch of package dependencies, since this is not meant to be a production-ready framework.
As for separating tests and examples, that's a bit tricky here. It's hard to test most of the mathematical functions in any non-trivial way without just running a full example like I did. Happy to hear your ideas though.
from pycfr.
OK, if some choices were made intentionally (no numpy/scipy, etc.) then I
can live with that.
However, nosetests is not "a bunch of dependencies" . Nobody should write
their own python testing framework with raw "asserts" and "prints" (OK, I
myself have done similar stuff on a number of old one-shot research
projects, but there is simply no way I can defend this nowadays). I'm
pushing some code to address this, and other minor issues (in the ticket
you just closed). If you can't merge it, then I'll have to go my way and
continue minding my own business :)
NB: I'm only interested in the hand-evaluation and game-tree generation
code (this is the core of the business), which I think can be neatly
separated from the CFR stuff.
Credit: The fact that you managed to expose an API as simple as
from pokertrees import *from pokergames import *
players = 2
deck = [Card(14,1),Card(13,2),Card(13,1),Card(12,1)]
rounds = [RoundInfo(holecards=1,boardcards=0,betsize=2,maxbets=[2,2]),RoundInfo(holecards=0,boardcards=1,betsize=4,maxbets=[2,2])]
ante = 1
blinds = [1,2]
gamerules = GameRules(players, deck, rounds, ante, blinds, handeval=leduc_eval)
gametree = GameTree(gamerules)
gametree.build()
for building finite stage-games (poker, etc.) is quite impressive. Gr8
code!
On Tue, Dec 30, 2014 at 2:30 PM, Wesley Tansey [email protected]
wrote:
Most of this seems like overkill for the framework. I would in general
like to avoid adding a bunch of package dependencies, since this is not
meant to be a production-ready framework.As for separating tests and examples, that's a bit tricky here. It's hard
to test most of the mathematical functions in any non-trivial way without
just running a full example like I did. Happy to hear your ideas though.—
Reply to this email directly or view it on GitHub
#2 (comment).
DED
from pycfr.
Related Issues (6)
- ENH: Use more numpy/scipy for math HOT 1
- DOC: function args, kwargs, and class arguments badly need documenting HOT 1
- Game tree logic is not very DRY: GameTree and PublicTree, possible code duplication ? HOT 2
- Do you obtain an low exploitability when using OS-MCCFR?
- AttributeError: when importing pokergames.leduc_gametree HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pycfr.