人工知能が問題なのだ_孫と遊ぶためのPython日記(17)

いつのまにかゲーム作りに夢中になり、そもそもの課題を忘れかけていた。
目指すのはゲーム作りではなく迷路問題だった。
ここで軌道を初心に戻すことにした。
色々学んでいると、迷路問題はプログラムの本質にふれることだと気がついた。
自分で判断して、正しい道を自分で判定することは人工知能そのものに違いない。
アルゴリズムを学ぶに従って奥が深い未知の世界に入り込んだことに気がつく。
解を求めることはこの難題にチャレンジすること、そのものだ。
そのためには、しばらくプログラムを離れてもっと基本を学ぶ必要がある。

立ち止まって考えてみると、おそらく人工知能への希求が潜在的にあって迷路問題を解決したいと思い立ったのかもしれない。

迷路問題の解決は、経路の探索そのものである。

スタート地点(開始条件)、
ゴール地点(終了条件)、
中間地点(中間状態)、
どこからどこへ移動できるかの情報(各状態からどの状態に変化できるかという情報)、
各地点間の距離(状態変異のコスト)

迷路問題は解決のための条件やステップを一般的な言葉に置き換えるとこのようになる(「おうちで学べる人工知能のきほん」東中竜一郎著、翔泳社)を参照)。

本質は探索である。

探索の基本を理解するためには以下の基礎知識がどうしても必要だ。
・ランダムな検索
深さ優先探索
幅優先探索
・均一コスト探索
・A*(エースター)探索
・ビタビアルゴリズム
・最適性の原理
動的計画法

これはけっこう学び甲斐があるゾ。