つか、メモリスペースに関して
素粒子の数がとか言ってるけど、
関数にしてしまえばいいだけでしょ。
平たく言えば、圧縮して保存。
(局面、{-1,0,1})
というデータがあったとき
(局面、1)となっている
局面に関して特長を抽出して保存するでしょ?

あとは動的プログラミングすればいいだけ。