Skip to content

[参赛项目] Mahjong Bot: 基于Flink + Pravega的在线麻将AI #25

@fyang86

Description

@fyang86

项目简述

通过Pravega + Flink AI Flow构建在线麻将AI管理平台。

背景

如今在网络对战游戏中,人机(电脑玩家)的使用十分常见的。然而,许多人机都是基于行为树或者有限状态机实现的,智能水平并不高,操作都较为套路化,很容易被人类玩家识别,久而久之,这些都会十分影响人类玩家的游戏体验。因此利用机器学习打造更加「智能」的 AI ,也是近来人工智能较为火热的一个研究方向,如DOTA2的OpenAI Five以及大名鼎鼎的AlphaGo等。

对于麻将游戏而言,在大部分麻将游戏中,人机的运用场景并不多。当玩家掉线时,大部分游戏的策略是掉线玩家会打出当下摸到的手牌,十分影响当局玩家的体验。又或当前在线人数较少时,玩家需等待较长时间加入对局。因此利用机器学习实现具有一定水平的人机AI,可以大大改善上述场景,提高玩家游戏体验,吸引更多玩家。

目标

基于Pravega + Flink AI Flow实现一个麻将AI管理平台,可定期或自动根据AI战绩调整更新模型,使AI保持当前段位的人类玩家平均水平,提高玩家体验。

实施方案

  • Flink AI Flow作为整个麻将AI实现的工作流平台
  • 天凤(麻将对战平台)作为AI测试平台,在不同段位中分别部署若干AI客户端,使用该段位的训练模型进行推理出牌
  • 从天凤读取当前段位的玩家对局信息作为实时数据写入Pravega,Pravega作为Flink AI Flow的外部数据源
  • Flink AI Flow根据实时数据训练模型,并定期调整更新模型,以保证AI水平处于当前段位玩家的平均水平
  • 系统若检测到某段位中AI胜率过高或过低,也会触发模型更新
  • 系统若检测到某段位玩家较多(少)时,可相应减少(增加)AI客户端数量
  • 同一对局中最多只有一位人机AI

成员介绍

天池昵称: asdfghjkqwpo

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions