Comments (6)
I will have a look at it soon.
from mcts.
I know it is impolite to say, but I have to say, it works on my machine. I tested it twice. Firstly, I let it play with itself.
searcher=mcts(timeLimit=1000)
gamestate=NaughtsAndCrossesState()
while not gamestate.isTerminal():
action=searcher.search(initialState=gamestate)
print("player %2d played %s"%(gamestate.getCurrentPlayer(),action))
gamestate=gamestate.takeAction(action)
print("game over, result: %s"%(gamestate.getReward()))
Then, I test it with some must-win scenarios.
searcher=mcts(timeLimit=1000)
gamestate=NaughtsAndCrossesState()
gamestate.board=[[1,1,0],[-1,-1,0],[0,0,0]]
action=searcher.search(initialState=gamestate)
print("player %2d played %s"%(gamestate.getCurrentPlayer(),action))
gamestate=gamestate.takeAction(action)
assert gamestate.isTerminal()
print("result: %s"%(gamestate.getReward()))
It always gives me the best choice. Can you share at which board situation it breaks?
from mcts.
Can you also confirm which version of the package you were using when you found the above? I'm also unable to reproduce this I'm afraid.
from mcts.
Closing this due to no response, feel free to comment if this issue persists.
from mcts.
reproduce this too.
I install this lib with pip install, then download the demo naughtsandcrossses, then reproduced this bug.
Name: mcts
Version: 1.0.4
Summary: A simple package to allow users to run Monte Carlo Tree Search on any perfect information domain
Home-page: https://github.com/pbsinclair42/MCTS
Author: Paul Sinclair
Author-email: [email protected]
License: MIT
Location: /usr/local/lib/python3.8/dist-packages
Requires:
Required-by:
from mcts.
I found the reason.
The code installed by "pip install" has a bug fixed in master branch.
from mcts.
Related Issues (11)
- Pip install gives ModuleNotFoundError HOT 1
- AttributeError: 'NoneType' object has no attribute 'state' HOT 2
- Fantasy Football Draft Implementation
- Does that mean ONE action just towards ONE state?
- Why does NaughtsAndCrossesState not play so well? HOT 1
- Not entirely understanding the getBestChild function HOT 4
- Incorrectly exploring worst possible move for player 2? HOT 7
- Feature request: have more information returned with the action chosen HOT 7
- Correctly selecting best possible branch? HOT 3
- mcts object is not callable after the first usage
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 mcts.