昨日「コリジョン・コース」の話をしました。最近の自動運転自動車はこのような場合どのように回避してくれるのでしょうか? 自動運転のアルゴリズムの一つとして「boid(人工生命)」が提案されています。ルールは①分離(近づき過ぎてぶつからない)、②整列(仲間と進行方向を合わせる)、③結合(仲間の中心方向に向かう)の3つです。集合体の一つ一つがこのルールを守ると衝突が起きなくなるそうです。以前のブログ「何を目指して飛ぶ?」でハトの一群が何を目指して飛んでいるか?という疑問をもちましたが、ハト1羽1羽が上述のルールを本能的に身に着けているのでしょうか?
pythonでboidのアニメーションをプログラムしたサイトはこちら → https://qiita.com/odanny/items/e0c0a00e13c2b4839cec
動画です → https://www.youtube.com/watch?v=Cv5vzYRt_PQ
動画その2 → https://www.youtube.com/watch?v=bqtqltqcQhw
障害物を回避しているのがわかります。従前は、一つのCPUが全体をコントロールしてきましたが、情報量が多くなると制御不能になるので、個々が判断してコントロールするアルゴリズムが必要になってきたわけですね。上述のルールは3つで簡単ですが、プログラムは難しそうです。プログラムにバグがあると大事故になりそうで怖いですね。