KiddoZhu / Aleo

A toolkit for Mahjong AI
Apache License 2.0
9 stars 5 forks source link

Working Pipeline #1

Open AhmedKhaled945 opened 4 years ago

AhmedKhaled945 commented 4 years ago

Hello, Thanks for sharing such a great repo, it is very informative, I was curious about the problem of solving Mahjong AI Agents, and started to dig into this repo,

I managed to generate data, train it on python model, but how exactly can we connect the bot to botzone? (I also ran merge.bat and compile.bat),

but botzone.exe seems not working, keeps running with no output, and then closes itself.

Thanks in advance.

KiddoZhu commented 3 years ago

Hi Ahmed. Sorry for missing your issue previously.

This project is not stand-alone Mahjong environment. Here we only develop the agent, and it need to be executed in Mahjong-GB environment provided by Botzone. Although the environment is marked as deprecated, you can still submit and play with the bot. You can also find an existing submission of this agent called "MaxProbabilityBot", which you can directly play with.

The newest Mahjong environment on Botzone is Chinese Standard Mahjong. However I am not sure if our agent is compatible with the rules and I/O formats.

At the time this project was developed, Botzone only accepts a single source file for submission. merge.bat is used to merge all header files into a single cpp file, and compile.bat is used to test whether the single file can pass local compilation. To connect a bot to botzone, you just create a new bot under the corresponding environment, and submit the single cpp file.

The python part is just an experiment for studying machine learning predictions on values / actions. However we found optimized heursitic search is better than learning algorithms, so the final agent only includes the search algorithm implemented in the C++ project.