これまでの私のプログラムを説明しましょう。ルービックキューブソルバーです。スクランブル キューブが与えられます (これが初期状態です)。これがグラフのルート ノードになります。iterative deepening depth first search
このスクランブルされた立方体を認識可能な状態にするために「総当たり」を使用しており、パターン認識を使用して解決できます。
ご想像のとおり、これは非常に大きなグラフなので、このグラフ内の重複ノードを検出するためのある種のハッシュ機能を考え出します (これにより、トラバーサルを高速化します)。
私はハッシュ関数にほとんど慣れていませんが、ここで私が考えていることは次のとおりです...各ノードは、本質的にルービックキューブの異なる状態です。なので、見たことのある立方体の状態(ノード)に来たら飛ばしたい。そのため、状態変数からチェックサム (状態変数は 54 文字の文字列) に移動するハッシュ関数が必要です。許可される文字はy, r, g, o, b, w
(色に対応する) のみです。
このハッシュ関数の設計を手伝っていただければ幸いです。