2016年11月6日

プログラミングとは少し違う?!

紙の上にコースを書くと、その戦の色によって動作を変えつつ移動するという「Ozobot」という製品。私の子供頃だと、オモチャメーカーのバンダイが「コンピューターカー」という製品を出していて、これがまさにこんな感じ。細長い紙の片側がハンドル操作で反対側がストップ・スタート・前後進だったかな、結構色々な操作が出来た記憶があります。それなりに広い場所が必要で、家は昔の家が農家の作りだったから、仏間と居間のふすまを外して、20畳位のぶち抜きのスペースを作って遊んでいた記憶が。所謂パンチカードっぽい紙の「ブログラミングシート」が無くなると、厚紙で同じサイズに切って、勝手に色々なパターンを作っていた記憶があります。

コンピューターカーは切り欠きの深さでそれらの動作を実現する方法で、言ってみれば「アナログコンピューター」であり、運転用のカードは「パンチカード(切り欠きカード?)」と言えるけれど、このOzobotは実際に書かれた線上を動くわけだから、それはプログラミングというよりは「線=道路」と思って自分で判断して動く「自己学習ロボット」と言う方が良いのでは。プログラミングというのは、ある事象を別の形で表現して、それを解釈して動作させるものだと思うけれど、こちらはその事象自体を認識して動作するところが違う。前者の場合は、その事象の有無にかかわらずその記述されたパラメーターの範囲で動作することが出来るけれど、後者の場合はその事象に沿って動作するという、ある意味融通性は無いけれど、直感的な動作をするわけで、人間で言えば「経験」とか「知識」みたいなもの。それを蓄積していけば、「経験からの判断」とか「知識の蓄積による判断」みたいな事で動作する、居間の自動運転車の話にも繋がるんだろうけど。

やらせるという意識の強いプログラミングとは一寸異なると思うけれど、こういうアプローチってこれからの自動化機械とか自動運転の分野で重要じゃ無いだろうか。例えば、居間パソコンに何か動作をさせようと思うとスクリプト言語でプログラミングを組むわけだけれど、あれを例えばSiriで対話しながら結果を参照しながらどんどん動作を絞り込むような方法で最終的に一つの動作をするマクロみたいなものが生成できれば、それつて所謂「ブログラミング」だけれど、これまでの「ブログラミング」とは違うもの。昔は、確かそう言う対話型の検索機能とか人工知能の研究もやっていたとおもうけれど、今はどうしているんだろうか。iOSのSiriとかAndroidの音声認識機能が、日本語でもかなり使い物になってきて事を実感していると、口頭で話したこととその実行結果をDB化して操作するような機能があれば、かなり違った方向性が生まれてくるような気がする。そうやってカスタマイズされたパソコンは、まさに自分が持っているような「個性」を備えた自分専用のパソコンになるんじゃ無いだろうか。そうなると、プログラミングでは無く「教育」になりそうですね。それはそれで面白いけれど、でもそれって「鉄腕アトム」が誕生した理由でもあるわけで、結局科学ってSFの後追いなんだなと妙に納得してしまったりして。

0 件のコメント:

コメントを投稿