Skip to content

Instantly share code, notes, and snippets.

View Cryolite's full-sized avatar

Cryolite Cryolite

View GitHub Profile
@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"
@Cryolite
Cryolite / client
Created February 7, 2019 16:25
https://qiita.com/nwtgck/items/78309fc529da7776cba0 のプロトコル上に証明書による安全な鍵交換を実装する PoC コード
#!/usr/bin/env bash
set -euo pipefail
if [[ -v VERBOSE ]]; then
set -x
PS4='+$LINENO: '
fi
function print-error-message ()
{
@Cryolite
Cryolite / config.txt
Created September 24, 2018 03:47
ルータ B の WAN 側インタフェイス (LAN2) における不正アクセス検知機能の設定例
# ip lan2 intrusion detection in on
# ip lan2 intrustion detection out on
@Cryolite
Cryolite / config.txt
Created September 24, 2018 03:37
ルータ B の IP マスカレイド適用時における DF ビットの扱いの設定
# nat descriptor masquerade remove df-bit off
@Cryolite
Cryolite / config.txt
Last active September 24, 2018 03:50
ルータ B の WAN 側インタフェイス (LAN2) に対する IP フィルタ設定の例
# ip filter 1 pass 192.168.2.0/24 * icmp 0
# ip filter dynamic 1 * * ping
# ip lan2 filter 1 dynamic 1
# ip filter 2 pass * 192.168.2.0/24 icmp-error
# ip lan2 filter 2
@Cryolite
Cryolite / network1.txt
Created September 24, 2018 02:55
ネットワーク構成
The Internet
~~~~~~~~~~~~
|
|
|
|LAN2
+--------------------------+
| Router B (YAMAHA RTX810) |
+--------------------------+
|LAN1
observer = startObservingAsynchronousEvent(timeout=one_minute);
while (true) {
if (observer.eventOccurs()) break;
if (observer.eventOccursOrTimeout()) {
// if (observer.eventOccurs()) break;
throw TimeoutException();
}
sleep(one_second);
}