Comments (7)
@Nihisil I already downloaded all the logs of tenhou table from 2009 to around 2017 June. If you want to I can share them with you. (It's in AWS s3 storage). I made a simple search engine using these logs for fun https://t.co/05bhyhmixi .
I am thinking to apply Deep Q Learning. So I suggest that we refactor the bot code in the way that different AI functions are pluggable.
A simple approach at top-level is to create a dedicated class which abstracts away the communication to tenhou.net and translate tenhou.net-specific protocol into simpler game state expression, like an array of integers.
tenhou.net <-> Communicator <-> AI
This way, it is easier to extend the code to run with log files. We can create a new Communicator which actually reads a log file and reproduce the game with the same interface.
from tenhou-python-bot.
Issue was more complex than I thought :) I Will try to fix it in next 2-3 days
Thanks for the report
from tenhou-python-bot.
Thanks again for the report :)
Issue was fixes in the 0.2.8 release: https://github.com/MahjongRepository/tenhou-python-bot/releases/tag/v0.2.8
My next plans to this bot (maybe you are interested in them):
- Refactoring. Really heavy refactoring. I have a lot of places to improve in terms of code base
- Profiling. I want make this bot more faster and make it consume less resources
- Improve play strategy (It have a lot of places to improve)
- Add AI based on the machine learning functions (from phoenix replays)
from tenhou-python-bot.
Thanks for fix :)
ps. I'm interested in this project, because I'm learning about AI(machine learning) at school.
from tenhou-python-bot.
Hi @Nihisil
I am also interested in your next plans, as I am also thinking of building AI.
If you have a concrete idea of refactoring, maybe I can help that too.
from tenhou-python-bot.
Regarding machine learning AI. I started to collect all phoenix logs with this repo: https://github.com/MahjongRepository/phoenix-logs
And my next step is learning about machine learning, because I don't have experience with this field of knowledge. I know that famous bot ⓝ爆打 was build with Monte Carlo method, so I will start from here.
If you have something suggest to read about methods that can be used for bot, I would like to hear your comments.
from tenhou-python-bot.
@Nihisil I already downloaded all the logs of tenhou table from 2009 to around 2017 June. If you want to I can share them with you. (It's in AWS s3 storage). I made a simple search engine using these logs for fun https://t.co/05bhyhmixi .
Thank you, but I almost finish my downloading, so there is no need to share logs.
So I suggest that we refactor the bot code in the way that different AI functions are pluggable.
Yes. I plan to do refactoring for the next a couple of month and my main goal is build pluggable AI. So, anyone can try to implement their own AI and easy run it on the tenhou.net.
Meantime you can try to implement your AI and run it with other copies of your bot with this mahjong-server: https://github.com/mahjong-server/mahjong-server (I didn't try it yet)
from tenhou-python-bot.
Related Issues (20)
- Crash
- Crash
- Crash HOT 1
- Crash HOT 1
- Strange random
- Generate seeds before the game HOT 1
- Daburi is not chiho
- Don't calculate double yakumans
- Bot doesn't open honitsu hand believing it's atodzuke yakuhai
- hand builder doesn't account for open sets when calculating shanten
- Refactor estimate_hand_value_or_get_from_cache
- Allow same-shanten chi to get yaku
- riichi logic refactoring
- TypeError: can't pickle _thread.RLock objects HOT 2
- Crash [Live dora tiles can't be less than 0] HOT 1
- Open hand for tempai in oorasu when cost is enough to win
- [Question] Why and when socket connections was automatically? HOT 2
- [Question/Need help] How to watch a game based on python-socket communication with tenhou.net HOT 7
- Build pluggable AI HOT 2
- Tenhou Support Receives Bot Complaints HOT 3
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 tenhou-python-bot.