最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

日麻AI"Akochan"和配套牌譜分析器Akochan-reviewer

2020-12-16 18:55 作者:認真充充電池  | 我要投稿

時效性

目前該項目后續(xù)已經(jīng)發(fā)展成了各位耳熟能詳?shù)穆閷I工具Mortal:麻將 AI 工具 - 檢討牌譜,派遣個室 (ekyu.moe)。作為Akochan的后續(xù),Mortal的實力、運行效率和使用便捷度都大幅提升。因此,我認為該文章已不具備實質(zhì)的作用,請對麻將AI有興趣的朋友轉(zhuǎn)而參與Mortal和mjai-reviewer的建設。

GitHub - Equim-chan/Mortal: ????? A fast and strong AI for riichi mahjong, powered by deep reinforcement learning.

GitHub - Equim-chan/mjai-reviewer: ????? Review mahjong game log with mjai-compatible mahjong AI.

簡介

起因是昨天在琴南的群里有轉(zhuǎn)這個AI的牌譜分析demo網(wǎng)站,于是稍微看了一下。

這個麻將AI發(fā)布于19年,作者是critter(http://critter.sakura.ne.jp/),其本人是天鳳雙九段(打雀和編程都這么猛嗎 某四段上級選手留下了羨慕嫉妒恨的淚水)。暫時來說我還沒看多少這個AI的內(nèi)容,沒法說太多關于AI水平的問題,只能拋下這個項目的GitHub地址:

https://github.com/critter-mj/akochan

基于Akochan的牌譜分析器的作者是equim_chan。GitHub指路:https://github.com/Equim-chan/akochan-reviewer

這個Reviewer主要應該做一個牌譜的parse工作,然后利用Akochan的接口把數(shù)據(jù)喂給她,之后返回Akochan認為的結果,然后最后用網(wǎng)頁作為前端展示。

(B站似乎取消了使文章可以復制的選項……我會把一些鏈接放在評論區(qū)內(nèi),或者移步知乎專欄。)

如何使用

在線Demo

這個項目有一個在線的demo:akochan.ekyu.moe

在線的Demo


如圖所示,復制粘貼天鳳牌譜的鏈接,然后可以選擇基于順位的分析(placement EV)或者基于pt的分析(pt EV)。大概需要等待10-30分鐘。根據(jù)筆者的測試,這個AI是吃cpu的(這個下面會提及),孱弱的服務器cpu性能可能是影響這個demo的原因所在。

Release版本本地運行

GitHub上有提供作者編譯后提供的release版本:

https://github.com/Equim-chan/akochan-reviewer/releases

暫時只提供了win10的發(fā)行版。注意,該Reviewer沒有提供GUI,因此如果您沒有接觸過命令行之類的東西,只是純粹想試著玩玩的話,我寫了一個小腳本,只需要復制粘貼牌譜鏈接就可以了。就像這樣:


只需要注意,復制到命令行中的鏈接有英文半角的雙引號包裹就可以了。請務必注意要用英文的雙引號(主要是我懶得寫校驗了 菜 我.jpg)

度盤:

鏈接:https://pan.baidu.com/s/1TTMzSyVmokr7eAqBk2Upwg

提取碼:okrh

之后牌譜的分析結果會在目錄下的html文件中。只需要雙擊它就可以在瀏覽器中打開查看結果:

在跑這個程序的過程中,筆者的2600X被吃了30-50%的占用率。這是一個吃CPU的AI。

而如果您想了解更多,我相信您應該有能力自己前往GitHub上查看相關的參數(shù)。不過在這里,我還是稍微提及一些。

  • 下例中我要檢查的牌譜鏈接為https://tenhou.net/0/?log=2019050417gm-0029-0000-4f2a8622&tw=2

  • 我可以直接引入這個牌譜鏈接作為參數(shù)
    akochan-reviewer "https://tenhou.net/0/?log=2019050417gm-0029-0000-4f2a8622&tw=2"

  • 注意log后面的參數(shù),我可以單獨提取出來,分別導入牌譜id和需要分析的主視角
    akochan-reviewer -t 2019050417gm-0029-0000-4f2a8622 -a 2

  • 手動設置pt的分布
    akochan-reviewer --pt 75,30,0,-165 "https://tenhou.net/0/?log=2019050417gm-0029-0000-4f2a8622&tw=2"

  • 設定95%的置信區(qū)間
    akochan-reviewer --pt 75,30,0,-165 -n 0.05 "https://tenhou.net/0/?log=2019050417gm-0029-0000-4f2a8622&tw=2"

  • 使用基于位次的分析而非pt
    akochan-reviewer --use-placement-ev "https://tenhou.net/0/?log=2019050417gm-0029-0000-4f2a8622&tw=2"

  • 使用基于位次的分析并設定99.8%的置信區(qū)間
    akochan-reviewer --use-placement-ev -n 0.002 "https://tenhou.net/0/?log=2019050417gm-0029-0000-4f2a8622&tw=2"

  • 只檢查東2局1本場合東三局
    akochan-reviewer -k E2.1,E3 "https://tenhou.net/0/?log=2019050417gm-0029-0000-4f2a8622&tw=2"

需要注意的是,作者已經(jīng)發(fā)現(xiàn)了一個bug:在win10下運行的時候,導入牌譜會報Assertion failed的錯。作者給出的解決方案是OMP_NUM_THREADS的環(huán)境變量設置為8。筆者個人不太確定在少于8線程的電腦上該命令是否會有問題,但在筆者所使用的電腦上,盡管可以正常運行,但無法利用2600x的全部12線程,速度上并沒有明顯的優(yōu)勢。

  • 如果您使用的是cmd.exe,請鍵入:set OMP_NUM_THREADS=8

  • 如果您使用的是Windows PowerShell,請鍵入:$env:OMP_NUM_THREADS = 8

  • 如果您使用的是MSYS2 bash,請鍵入:export OMP_NUM_THREADS=8

如果您需要更好的性能表現(xiàn),并有至少與筆者一樣的復制粘貼工程師的能力,請接著往下看(不過如果可以的話您應該早就去GitHub看了吧(笑))

基于Docker

筆者基于WSL2進行了Docker的加載。由于Docker的運行環(huán)境并非Win10了,分析牌譜不會碰到上述的bug。對于筆者個人的一個完整半莊的牌譜的分析時長,從13分鐘降低到了5-7分鐘左右。但相應的,Docker的內(nèi)存消耗要遠高于上述的方案:

如果您打算使用Docker部署,筆者建議您至少要有16G的內(nèi)存。

如果您有使用Docker的經(jīng)驗,對您來說這應該不難。

# build
$ git clone https://github.com/Equim-chan/akochan-reviewer.git
$ cd akochan-reviewer
$ git clone https://github.com/critter-mj/akochan.git
$ docker build -t akochan-reviewer:latest .

# run
$ docker run --rm akochan-reviewer:latest -t 2019050417gm-0029-0000-4f2a8622 -a 3 -o - > report.html

如果您沒有相應的經(jīng)驗,我不建議您在Win10上做這樣的嘗試。原因是在Win10上使用Docker需要使用WSL或者WSL2,但這都需要開啟Win10的Hyper-V功能。開啟該功能會與市面上大部分的安卓模擬器沖突——除了BlueStack的測試版,以及非最新版本的VirtualBox和VMWare。因此,筆者成功地卸載了mumu(

總之,如果沒有相應的經(jīng)驗又想嘗鮮,請使用前兩種方案。

手動編譯

需要首先編譯Akochan本體,然后編譯Akochan-reviewer。本體是基于C++編寫,而reviewer則使用rust。由于筆者并不喜歡WSYS2,因此只在win10的WSL2上進行了一定的測試(并且成功地沒折騰出來)。此處不展示測試的數(shù)據(jù)了(我估摸著應該在Linux里跑著還可以)。具體的話,既然您都打算手動編譯了,應該不需要筆者在此處從GitHub上搬運更多的內(nèi)容了。

關于分析結果

分析結果來看的話……這是一個很科學麻將的AI。對筆者的牌譜來說,Akochan似乎更有進攻性一點,這可能是因為它的分析方式是基于pt的期待值。這和統(tǒng)計學麻將那本書里的思想比較相似吧。不過Akochan也有在兩個字牌之間很奇怪地糾結的判斷??偟膩碚f,還是挺科學麻將的,可以作為一定的參考。

總結

可以一試。以及Reviewer和AI本體分離的好處就是,因為流程是相似的(解析牌譜——喂給AI判斷——展示結果),倘若未來像蘇菲這樣的AI能開放接口的話,只需要稍加改動就可以套用。

愿各位雀力日進。

電池 2020.12.16



日麻AI"Akochan"和配套牌譜分析器Akochan-reviewer的評論 (共 條)

分享到微博請遵守國家法律
逊克县| 遂昌县| 巴南区| 牙克石市| 常宁市| 高要市| 荆州市| 邵武市| 治县。| 天长市| 汝南县| 洞头县| 彭山县| 平度市| 咸宁市| 甘南县| 通化县| 河曲县| 武乡县| 文安县| 陈巴尔虎旗| 翼城县| 丰镇市| 岢岚县| 东山县| 濮阳县| 台南县| 封丘县| 屯昌县| 房山区| 凤庆县| 高碑店市| 凉山| 鹤庆县| 蛟河市| 阜新| 三亚市| 望城县| 樟树市| 德钦县| 山东|