最大35文字のグリッド(1x35..5x7)またはその他のものがあります。グリッド上の各セルの値はバイナリのみです。特定の動きがあるゲームをシミュレートする場合、これは、このゲームのサイクル/期間を検出する必要がある場合、最小限の時間計算量でどのアルゴリズム/データ構造を使用できますか?グリッドの状態を格納するためにlognツリーベースのアプローチを試しましたが、期間が2 ^ 17より大きい場合、目的に対して十分な速度ではありませんでした。メモリをあまり消費せずにグリッド状態でハッシュを実行する手法はありますか?