JavaScript で CGT (Using JavaScript for CGT)
きっかけ
Schreier-Sims アルゴリズムを実装したい
M24 などの元(244823040個ある)を具体的に記述したい
permutation puzzle の solver を作りたい
2018年8月ぐらいのこと
お題目
ca.js の紹介
Schreier-Sims の実装紹介
Minkwitz の方法の実装紹介
Three.js にはまる
よく知られた置換パズルを Schreier-Sims で解く
今回のゴール
Three.js で実装した 2x2x2 の rubik's cube の solver を
Minkwitz の方法で実装する
JavaScript の多倍長整数ライブラリ big-integer.js のみを利用した
自作数式処理ライブラリ
web ブラウザの計算能力のみで計算したい
2016年頃から作り始める
元々自身の知的探求と数式処理の教科書の勉強のためにJSを利用したことが動機
SymPy もライブラリを利用せず Python のみで書かれており, 目標が共通
具体的に何をしてきたのか

より大きな rubik's cube の solver 作成
他の置換パズルの solver 作成
coset enumeration の実装