Skip to content

Instantly share code, notes, and snippets.

View Cryolite's full-sized avatar

Cryolite Cryolite

View GitHub Profile
@Cryolite
Cryolite / 手牌全体で0面子1雀頭を構成する全ての可能な組み合わせ.md
Created November 8, 2025 08:21
手牌全体で0面子1雀頭を構成する全ての可能な組み合わせ
  • 萬子で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雀頭
@Cryolite
Cryolite / 手牌全体で1面子1雀頭を構成する全ての可能な組み合わせ.md
Created November 8, 2025 08:19
手牌全体で1面子1雀頭を構成する全ての可能な組み合わせ
  • 萬子で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雀頭
@Cryolite
Cryolite / 手牌全体で2面子1雀頭を構成する全ての可能な組み合わせ.md
Created November 8, 2025 08:17
手牌全体で2面子1雀頭を構成する全ての可能な組み合わせ
  • 萬子で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雀頭
@Cryolite
Cryolite / 手牌全体で3面子1雀頭を構成する全ての可能な組み合わせ.md
Created November 8, 2025 08:14
手牌全体で3面子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雀頭
@Cryolite
Cryolite / 手牌全体で4面子1雀頭を構成する全ての可能な組み合わせ.md
Created November 8, 2025 08:07
手牌全体で4面子1雀頭を構成する全ての可能な組み合わせ
  • 萬子で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雀頭
@Cryolite
Cryolite / 牌構成の変わらない槓.md
Last active August 14, 2024 13:15
「牌構成の変わらない槓」の一定義

本稿の趣旨

ある牌姿(純手牌 + 上がり牌)が与えられた時に,それを標準和了形( $m$ 面子1雀頭による和了形)に分解する手順を厳格に定義するのは難しいように思われる.他方,ある4つの面子と1つの雀頭が与えられた時に,それが成す牌姿を得るのは非常に簡単である(無論,異なる4面子1雀頭の組み合わせが同じ牌姿となることはある).そこで,まず最初に $m$ 面子1雀頭の組み合わせを構成的に全列挙してしまってから各種の定義を導こうというのが本稿の趣旨である.

定義(分解子)

分解子集合 $D = \{d_0,\ d_1,\ d_2,\ d_3,\ d_4,\ d_5,\ d_6,\ d_7,\ d_8,\ d_9\} \subset \mathbb{N}^3$ を以下で定義する:

  • $d_0 = (0, 0, 0)$
  • $d_1 = (1, 0, 0)$
  • $d_2 = (2, 0, 0)$
@Cryolite
Cryolite / kanachan-design.md
Created April 15, 2022 11:18
kanachan について (2022年4月15日現在)

kanachan の基本思想は

  • 麻雀に関する事前知識は最低限のルールを除いて明示的には一切与えない.
  • 特徴量は局面に関する情報を完全に取り出せる簡潔な表現を使う.
  • それ以外は何も工夫せず,とにかくモデルの表現力と学習量で殴り倒す.

behavioral-cloning

まずモデルの構造は図のとおり(図は behavioral cloning の場合のものだけれど, transformer 以下の encoder 部分は一切変わらず,それより上の decoder 部分が例えば強化学習では dueling network になったりするだけ).入力の "Sparse", "Numeric", "Progression", "Possible Actions" は kanachan のドキュメントに書いてある通り.

@Cryolite
Cryolite / merge.py
Created January 31, 2022 10:09
Merges two or more shuffled files into one shuffled stream as a whole
#!/usr/bin/env python3
import random
from pathlib import Path
import gzip
import sys
def main() -> None:
if len(sys.argv) <= 2:
theory Scratch
imports Main
begin
lemma
shows "∀x. P x"
proof -
{
fix t
have "P t" sorry
theory Scratch
imports Main
begin
fun plus1 :: "nat ⇒ nat" where
"plus1 n = n + 1"
theorem plus1E:
assumes "plus1 x = y"
obtains "y = x + 1"