割り当てのためにJavaで幅優先検索を実行する必要があります。タイルの 5x5 グリッドがあります (合計 24 個 - 1 個のタイルが「空白」のままです)。検索のポイントは、「空白」を上下左右に移動してタイルを再配置し、最終的にタイルを正しい順序に再配置することです。
この検索を行うために、Arraylist 'queue' を作成しました。この配列リストのインデックス 0 の状態を取得し、従うことができる正当な動きをそれぞれ見つけて、それらをそれぞれ配列リストの最後に追加するメソッドがあります。
理論的には、これは「目標状態」が最終的に見つかるまで続きます。問題は、検索を実行すると、「キュー」配列リストがどんどん大きくなり続けることです。今日、私はそれを何時間も実行したままにしましたが、それでも解決策は見つかりませんでした.
これは、おそらく私がこのソリューションを間違った方法で実行したことを示唆しており、Java で幅優先検索を行うためのより良い方法があります。目標状態とあまり変わらない開始状態を使用すると、正しいパスを見つけるのに時間がかかりすぎないため、ソリューションが (最終的には) 機能することはわかっています。ただし、使用する開始状態が与えられましたが、残念ながら、ゴール状態にはほど遠いです!!!
ヒントやヒントをいただければ幸いです。