■ はじめに

前回、SLAMを使った配送問題にチャレンジし仕様関係の書類を作って終りました。

その後のコーディングでCNN関係のかなり大ハマリやりました。
ここには、書ききれないのでそれ用のページを作りました。

(CNN関係の失敗と対応についてのページへリンク)
と言う事で、ここではMiniGridの8×8で動くコードが有るところから始めます。

よし、これまでChatGPTさんの意見を読み飛ばしていたけど、今度は「まとめ直し」を入れて、理解度が上がる様にしよう。

この記事では、SLAMを使った配送問題に初めて取り組み、
コーディング前に仕様作成で何を考え、どこで悩んだかをまとめます。

それでは、頑張ってコーディングしましょうか。



(CNN沼からなんとか抜け出したプロンプト・ウサギと拍手するChatGPTさんのイラスト)

■ 探索っているの?

先ず、気をつけ無ければならない事が、
「ずっと探索すること」
でしたが、残念ながら起こしました。

現象としては、学習回数を
30K→50Kとしても、探索から抜けません

対策案として、SLAM型コードの経験上
「時間経過による小さな罰(step penalty)」で解決出来ると言うことは分かってました。

しかし、ちょっとおかしい…
この失敗1回やらかしています。

同じ所をグルグル回っている気がする。

こういう時の為の仕様書です。
よく眺めると、何か違和感が…

「地図を、もともと持っているのでゴール探索する必要はないのではないか?」

どうやらいつの間にか仕様から離れていった様です。

そのまま仕様に戻っても良かったのですが、少し簡単にしてみました。

仕様2(Githubのリンク)
github.com/logicmaker256-prog/A_star/blob/main/17.Summary_of_Map_and_Activities.txt

・人が動かない。
・車の廃止(道に出たら罰)
・信号を全て青信号(ロボットに対し)

かなり簡単化できた様で、ちょっとしたエラーを挟んで動き始めました、

■16×16から8×8への変更

なんか遅いです。

ランタイムを確認しましたが、ちゃんとGPUになってます。

実行結果もイマイチなので、ChatGPTさんに確認したところ、16×16は空間として広すぎるから、8×8にすべきとのこと。

別に地図を1/4にして、地図4枚とそのつながりを決めておけば、都合悪いことはないな。

改めてコードを、それ様に作り直すと学習に時間がかかりすぎる。

でも、ちょっと整理するとそもそも学習いらんのではないかい?  (整理文へのリンク)
github.com/logicmaker256-prog/A_star/blob/main/20.organize_my_thoughts.txt

ChatGPTさんに確認すると、

>「では、A*でやってみましょう!」

A*?
またわからんことを言い始めました。

とりあえず、OKして動かしてみると、

「なんかうまく動いてるみたい」

一発OKだとなんか気が抜けますね。

(A*コードへのGithubリンク)
github.com/logicmaker256-prog/A_star/blob/main/a_star_4map_check.py

■A*とは?

別チャットでChatGPTさんに確認すると、

>「迷路等を解くための鉄板アルゴリズム
 ここまでのコストと、こっからゴール
 までのコストを評価する方法」

とのことです。
残念ながら信号待ちや人を避けて走るとかは、そのままではムリっぽい。

でも、コイツの出力を教師にして学習すれば何となくできそうです。

A*についてChatGPTさんのやる気が、スライドに表れているので載せておきます。



(A*の説明図byChatGPTさん)

■ 結果:

今回は、SLAMを使った荷物配送のコーディングに着手してみました。

まぁ、CNN沼に飲み込まれそうになったり、その後の学習沼にハマりそうになりました。

何とか、仕様を命綱に「受」から「A」までは何とかいけました。

遭難して「もうだめか…」と諦めかけたら、行き成り嵐を抜けたって感じです。

■ 今回の学び:

今回、仕様にこだわって遭難寸前で、
   「A*アルゴリズム」
の紹介を受けました。

知っててやってれば、かつこよかったですがね。
細かい勉強をやっておかないと、毎回こんな都合よく解決しませんね。

まぁ、「自分の言葉で文章を残す」仕様作りをやっておいたからよかった事にしておいて次にいきますが!

■ まとめ

SLAM使った配送問題のコーディングに取り組んでます。CNNは本当に沼ですが、ChatGPTさんの協力のもとなんとか抜けました。

AIがない時代は、あれを自力突破したんですね。凄い突破力ですよね。

マジで尊敬します。

自分は、AIありきですが、諦めない心だけは負けない様に頑張っていきます。

本当だよ。

Githubアドレスは、コピーしてGoogleの検窓へ