8パズル解読
3×3の盤があり、盤上には1~8の番号のついた駒と空所(丸の場所)があります。空所には上下左右の駒を滑らせて移動させることができる。
上図の初期状態から下図で示す最終状態へ戻す手順を、横型探索で求めた場合とA*アルゴリズムで求めた場合を比較検討するとどうなりますか??
―――――――――
| 2 | 8 | 3 |
―――――――――
| 1 | 6 | 4 |
―――――――――
| 7 | ○ | 5 |
―――――――――
↓
―――――――――
| 1 | 2 | 3 |
―――――――――
| 8 | ○ | 4 |
―――――――――
| 7 | 6 | 5 |
―――――――――
よろしくお願いします
No.1ベストアンサー
- 回答日時:
こちらは、数学というよりプログラムの課題でしょうか?
それとも、どういう結果が出るかということのみ示せばいいでしょうか?
結果をいえば、横型探索、A*アルゴリズムどちらを用いても、最小の手数で並び変える手順を見つけることができるはずです。
しかし、(プログラムの実装能力にもよりますが)横幅探索の方が時間がかかってしまいます。
横型探索というのは、どういうものかはわかりますでしょうか。
まず、一回動かした場合の盤面について全部記憶します。
次に一回動かしたところから、さらに一回動かした盤面をすべて記憶します。
このとき、以前に覚えた盤面である場合は、記憶しません。
このようにして、一回動かしたすべての盤面を計算。
その中に答えの盤面がなければ2回動かしたすべての盤面を計算、
その中に答えがなければ・・・・
というのを繰り返すことになります。
そのため、一番少ない回数で動かした答えまでの手順を見つけることができますが、時間がかかってしまいます。
時間をかからなくする工夫がA*アルゴリズムです。
これは、その盤面から「最低でもあと何回動かさないと答えの盤面にならない」という情報を利用するものです。
たとえば、1~8のそれぞれのパネルについて、正しい位置までの距離がどれくらいあるか(たとえば1が右下にあれば距離は4)を計算し、合計したものが、「あと最低何回動かさないといけないか」という情報として利用できます。(なぜかは考えてみてください)
A*はこの情報を用いて、一番最小の手数となる手順を探していきます。
たとえば、
3回動かした盤面があり、そこからあと「最低でも6回」動かさないといけない
とすると、
この盤面を通って答えにたどり着くのはトータルで最低9回かかる
ということになります。
このトータルで最低何回かかるか、というのを比べ、見積もりが小さい盤面から順に探索していくのがA*アルゴリズムとなります。
どういった答えが求められてるのか自信がなかったので、
とりあえず説明してみましたが・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 パズルWaterSortの解は必ず存在するの? 5 2022/10/13 06:50
- 数学 パズルWaterSortの解は必ず存在するの? 1 2022/10/12 09:24
- 数学 数学Aの確率と場合の勉強の仕方を教えてください。 高校1年です。明日数Aの期末テストがあります。です 5 2022/07/04 18:03
- 文学・小説 小説はどこから書けばいいのでしょうか? 4 2023/04/06 10:49
- 囲碁・将棋 将棋について 2 2023/04/06 19:35
- 囲碁・将棋 あらきっぺの3冊 1 2023/01/22 08:31
- 囲碁・将棋 詰めろ手順の覚え方 2 2022/08/10 06:33
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) エクセルの数式について教えてください。 7 2023/06/18 10:16
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数学とかで、答えの下に線を引...
-
ベクトル解析について質問です...
-
高校の因数分解 x^2-4x-y^2-6y-5
-
算数得意な方、教えて下さい! ...
-
因数分解
-
至急!因数分解答え並べ方!
-
e^x のフーリエ級数の求め方
-
exp(x^2) の微分と積分の答え...
-
2けたの正の整数のうち、3の...
-
数学 x(x-2) > 0 答えは「0 < x...
-
a,b,c,d,eの5つの玉を次のよう...
-
中学数学の空間図形の問題です...
-
数学の解答の書き方ついて2つ質...
-
系列推理
-
数字の上の線ってなんですか?...
-
高校数学
-
絶対値不等式を二乗して解く
-
100以上200以下で6でも9でも割...
-
non-unique solutionとは?
-
大学数学の代数の問題です。 二...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
絶対値不等式を二乗して解く
-
数学とかで、答えの下に線を引...
-
cosx/sinxの積分を教えてください
-
逆三角関数で90度以上の算出法...
-
exp(x^2) の微分と積分の答え...
-
答えが0になるめちゃくちゃ難し...
-
高校の因数分解 x^2-4x-y^2-6y-5
-
数字の上の線ってなんですか?...
-
連立方程式について質問です。 ...
-
至急!因数分解答え並べ方!
-
2けたの正の整数のうち、3の...
-
高校数学
-
答えが「29」になるすごく難し...
-
答:略
-
【急募】答えが10になる定積分...
-
小町算のやり方 教えて下さい。
-
分母が0(ゼロ)の数字は存在し...
-
連立不等式の答えの書き方について
-
等比数列であり等差数列でもあ...
-
a,b,c,d,eの5つの玉を次のよう...
おすすめ情報