- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で0面子0雀頭,字牌で0面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で0面子1雀頭,字牌で0面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子1雀頭,索子で0面子0雀頭,字牌で0面子0雀頭
- 萬子で0面子1雀頭,筒子で0面子0雀頭,索子で0面子0雀頭,字牌で0面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で0面子0雀頭,字牌で1面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で0面子1雀頭,字牌で1面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で1面子0雀頭,字牌で0面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で1面子1雀頭,字牌で0面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子1雀頭,索子で0面子0雀頭,字牌で1面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子1雀頭,索子で1面子0雀頭,字牌で0面子0雀頭
- 萬子で0面子0雀頭,筒子で1面子0雀頭,索子で0面子0雀頭,字牌で0面子1雀頭
- 萬子で0面子0雀頭,筒子で1面子0雀頭,索子で0面子1雀頭,字牌で0面子0雀頭
- 萬子で0面子0雀頭,筒子で1面子1雀頭,索子で0面子0雀頭,字牌で0面子0雀頭
- 萬子で0面子1雀頭,筒子で0面子0雀頭,索子で0面子0雀頭,字牌で1面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で0面子0雀頭,字牌で2面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で0面子1雀頭,字牌で2面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で1面子0雀頭,字牌で1面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で1面子1雀頭,字牌で1面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で2面子0雀頭,字牌で0面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で2面子1雀頭,字牌で0面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子1雀頭,索子で0面子0雀頭,字牌で2面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子1雀頭,索子で1面子0雀頭,字牌で1面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子1雀頭,索子で2面子0雀頭,字牌で0面子0雀頭
- 萬子で0面子0雀頭,筒子で1面子0雀頭,索子で0面子0雀頭,字牌で1面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で0面子0雀頭,字牌で3面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で0面子1雀頭,字牌で3面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で1面子0雀頭,字牌で2面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で1面子1雀頭,字牌で2面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で2面子0雀頭,字牌で1面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で2面子1雀頭,字牌で1面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で3面子0雀頭,字牌で0面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で3面子1雀頭,字牌で0面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子1雀頭,索子で0面子0雀頭,字牌で3面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子1雀頭,索子で1面子0雀頭,字牌で2面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で0面子0雀頭,字牌で4面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で0面子1雀頭,字牌で4面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で1面子0雀頭,字牌で3面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で1面子1雀頭,字牌で3面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で2面子0雀頭,字牌で2面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で2面子1雀頭,字牌で2面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で3面子0雀頭,字牌で1面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で3面子1雀頭,字牌で1面子0雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で4面子0雀頭,字牌で0面子1雀頭
- 萬子で0面子0雀頭,筒子で0面子0雀頭,索子で4面子1雀頭,字牌で0面子0雀頭
ある牌姿(純手牌 + 上がり牌)が与えられた時に,それを標準和了形(
分解子集合
$d_0 = (0, 0, 0)$ $d_1 = (1, 0, 0)$ $d_2 = (2, 0, 0)$
kanachan の基本思想は
- 麻雀に関する事前知識は最低限のルールを除いて明示的には一切与えない.
- 特徴量は局面に関する情報を完全に取り出せる簡潔な表現を使う.
- それ以外は何も工夫せず,とにかくモデルの表現力と学習量で殴り倒す.
まずモデルの構造は図のとおり(図は behavioral cloning の場合のものだけれど, transformer 以下の encoder 部分は一切変わらず,それより上の decoder 部分が例えば強化学習では dueling network になったりするだけ).入力の "Sparse", "Numeric", "Progression", "Possible Actions" は kanachan のドキュメントに書いてある通り.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env python3 | |
| import random | |
| from pathlib import Path | |
| import gzip | |
| import sys | |
| def main() -> None: | |
| if len(sys.argv) <= 2: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| theory Scratch | |
| imports Main | |
| begin | |
| lemma | |
| shows "∀x. P x" | |
| proof - | |
| { | |
| fix t | |
| have "P t" sorry |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| theory Scratch | |
| imports Main | |
| begin | |
| fun plus1 :: "nat ⇒ nat" where | |
| "plus1 n = n + 1" | |
| theorem plus1E: | |
| assumes "plus1 x = y" | |
| obtains "y = x + 1" |
NewerOlder
