記稿.2016/07/23
HTML5で出来るゲームはないかと探してみたところ
トランプゲームでフリーセルというのが結構あるのを見つけた。
一見ソリティアに似ていると思ったが
> ‥これが、やってみると
> なんとも、マシン語のPUSH&POPの概念と同じである点に気がついた。
用意された8つのPUSH領域と左上の4つのレジストリー
レジストリーを用いての足し算引き算こそしないが、
数がAから順に並べられる順繰りが来ると、右上のメモリー領域に移動できる‥
メモリー領域に移動させるには
PUSH領域の一番に新しい情報から取り出すか(是をPOPという)、レジストリーからの移動になる。
※ 通常、マシン語としてのPUSH領域には、ただただデータをどんどん詰め込んでいくだけで、
詰めた先の積み上がった新しいバイト単位でしか取り出せない。
(配送荷物にしてもそうだが、先に入れた奥からは取り出せない。手前にある荷物から順になる。)
(‥電子回路上、簡単な構成で組み上げられるので、そんな作りなっている)
フリーセルの場合は、PUSH領域と思しき8つの列でも
前から数字の大きい数から順番&黒と赤の交互にしか並べられないのがルール上、随分と異なるが
POPのさせ方である‥移動できる順番に情報を取りそろえて取り出すという点では同じ。
(‥CPU自らが必要を探し出してくれるなんて命令は、マシン語にはありません)
> フリーセルのゲームのはじめにおいては、ランダムに並んでいるがゆえに、
> レジストリーとPUSH領域を駆使して、体よく並べるのに慎重さが求められる。
ゲームの作りによっては
‥待ったなし、やり直し不可というのもあるが
‥探せば、待った有り、やり直しOKのもある。
> コンピューターがマシン語で何をやっているのかを理解したかったら
> まずはフリーセルを囓ってみるのも良いだろう。
マシン語の場合、レジストリーに移動させた数値同士に対して
足したり引いたりとしたその結果をちまちまとメモリーに移動させつつ
それを電気回路的に計算できるように順序よく並べたりしている。
‥地味にそれだけの繰り返し。
その結果をさらに表示させたり、記憶させたりする為にも、同じことを地味に繰り返している。
同じ数のマトリョーシカを詰め込んだ大きさ同士を更に並べてを繰り返すようなもの。
‥実にコツコツとした辻褄合わせの作業と知恵と改善。
> あと、必要なのは「フラグが立つ」とした概念。
まぁこれは算盤の桁上がりに似ている。
ただしコンピューターは二進法なので、桁上がりに必要なのは常時1ビット分のアンプだけで良い。
‥その電気的な桁上がり分の電気升(アンプ)をフラグと呼ぶ。
‥1ビットさえあれば、繋げて計算できるのだ。
レジストリーとレジストリーを足していく度に
1ビットの桁が上がるなりする。その1ビットをどのように扱うかの命令が用意されていて
命令が無いと、自分で命令とメモリー域同士をなんとか組み立ててルーチンを作るのである。
利用できる命令が多くあると、ルーチンもすっきりするが、
‥その分、電気回路としては複雑さを究め、熱問題に絡んでくる。
> とどのつまり、コンピュータープログラムとは
工夫された電気回路の流れを正しくスイッチングするように順序立てること。
フリーセルではそこを‥AからKまで順序よく並べるという回路に導く作業に準えることができる。
AIがフリーセルを解けるなら、
そこから自らをプログラム修正する概念に辿り着くかも知れない。
今やAIにとって、フリーセルぐらい訳ないだろうが、
‥自らのバグをバグとして認識するかどうかは、別の概念との組み合わせが求められる。
> ツッコんだことを言うと
脳のシナプスに流れる電気をどんなに調べても
それはただの回路に電気が流れる様でしかない。
ところが、AIを構成する概念は、ただの電気回路では無い。
‥まさに考える為に判断分岐を繰り返す為の回路である。
それもまたスイッチングで作られていると云えばその通りだろうが
疑似思考にも判断するかどうかは、蓄積+解析+学習された情報に基づく。
‥この段階を「シナプスの流れが‥」なんて言っていては、実にみっともない。
判断すべき基準それ自体を、ただの電気信号だなんて考えていないのが人間である。
‥少なくとも安易に失われては困る立ち位置を有する。
‥AIにもまずは、そう考えさせるべきである。
‥ならばこそ、だからこそ、ただの信号でも情報でも無いとして扱わざるを得まい。
‥それらを判断している何かともなれば尚更だろうな。