Giter Club home page Giter Club logo

aleo's Introduction

Aleo: a toolkit for Mahjong AI

Aleo is a flexible Mahjong AI development toolkit written in C++. It was developed to facilate the design of high-level Mahjong algorithms. With Aleo, you can easily implement AI for Mahjong under GuoBiao(aka Chinese Official) rules, and deploy it to Botzone.

Features

  • Easy composition and decomposition of functions
  • Extremely fast search of winning hands
  • Simulator for self play
  • Clear Python interface for machine learning

Benchmark

Aleo won the first place in the competition of 2018 Game AI course, with a remarkable margin over the second competitor. It has an average winning rate of 46.8%, as well as excellent winning scores.

Aleo can search over all possible combinations of 5 waiting tiles in 0.5s on a single i7-4720HQ CPU.

Usage

Windows

For Windows, open Aleo.sln in Visual Studio. There are three main projects in Aleo:

  • Bot
  • Data generator
  • Faan calculator

It is recommended to compile each project in Release mode to achieve full speed.

Linux

Aleo has only tested with data generator and faan calculator on Linux.

For data generator, run make generator. For faan calculator, run make fan_calculator.

Note that make clean is required between two different make commands.

Requirements

  • Visual Studio 2013 or later
  • G++ 4.8.4 or later
  • Python 2/3 with Tensorflow and Keras

Authors

Aleo is authored by Zhaocheng Zhu and Fangyin Wei.

License

Licensed under an Apache-2.0 license.

aleo's People

Contributors

kiddozhu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.