プログラミング的思考とは。計画的思考。その5。

 AとBという2つの変数(箱)があり、この2つの値(中身)を入れ替えたい。

 元の値は、

 A = x

 B = y

 ※「=」は代入。

とし、xとyの中身は知らないとする。数字かもしれないし文字かもしれない。

 A = B

 B = A

でいいじゃないと思った人は側道を暴走していて退場が近い(笑)。

 今、Bの中にyが入っているから A = B とすれば確かにAはyに入れ替わる。しかしその後に B = A とすると、Aはyに入れ替わった後だからAもBもyになってしまう。

 そこでプログラミングの世界では一時的に値を保持(temporaryという変数(箱)を用いる。それを T としよう。

 T = A

 A = B

 B = T

 これでAとBの値が入れ替わった。

 AにBを代入(上書き)する前に、Aの値をTに待避させ、その後BにTを代入するという考え方。

 何かに似てないだろうか。

 そう(誰も返事してないが(笑))、Cambridge Brain Sciences “SPATIAL PLANNING”だ。

 AとBの位置を入れ替えたくてもそのまま“交換”はできず、一旦Aを取り出し、次にBを別のところに取り出し、Aを動かした後にBを動かすというプランニング。すなわち計画性。計画的思考

 あることを実現するために、1つまたは複数の今までそこになかった別の作業を挟まなくてはならないことがある。

 計画性のナイ人に仕事を頼むと、思ったより時間がかかった、コストがかかった、人手がかかった→遅れる或いは高くなるということがよくある。

 これは「AとBを入れ替えるだけじゃん」という単細胞(笑)な思考から生じる。

 例えば、AさんBさんに片手で持てない大きさ・重さの沸騰した大きな鍋を持ってもらい、AさんとBさんの鍋を交換するという作業内容だったとする。その“見積もり”で「2人いればいいから、1人2,000円×2で4,000円。数分で完了」とした場合、いざ作業現場に行ったら加熱した鍋を置く場所がない。そこで近所の何でも屋に耐熱シリコンマットを買いに行ったら休業日でもっと遠くに買い物にいくことになった、これでは耐熱シリコンマット代に加えて交通費も時間もかかる。

 先に電話して確認するというのも計画的思考の1つで、「考えるよりとりあえず買いに行こう」と出かけるのは、店が開いていて、耐熱シリコンマットを取り扱っていて、なおかつ在庫がある前提での行動。思い込み=バイアス(偏り)と行き当たりばったりはセット。

 すぐ手に入ればいいが、「数分で完了」と見積もったばかりに、注文主はもう作業は終わったものだと思って現場を閉めてしまった。或いは「営業時間になったから帰ってくれ」「何だまだできていないのか」「今日の仕事に間に合わないじゃないか」→役務不履行→代金を払わないまたは営業不利益を補填しろということが生じる。それにまた別の日に改めて作業となると、他の仕事を取れないから自分達の利益も減る。

 貧乏暇なしというが、実際は二度手間や安物買いから生じる“無駄”が原因であることが多い。

 耐熱シリコンマットが手に入らないまたは諦めたとして、それでも見積もり時間内に終わらせたい場合、近くを通りがかったCさんに「一瞬コレ持ってて」とチップを渡して手伝ってもらう。コストがかかる。

 ※仮にタダで手伝ってくれたとしても、借りを作ればいつか返す時に時間または労力あるいはお金が出ていくので、支払いを先送りしているだけ。

 そして沸騰した鍋をこぼして火傷を負わせた場合、雇用保険の対象外のCさんの手当は自費となり更にコストがかかる。

 ということから事前に行う「現場調査」がなぜ必要なのか、なぜイチイチ「作業工程表」なんてものを作るのか、そしてなぜ部外者を業務に使ってはいけないのかがわかる。同時に、一見無駄に見えるような直接的に関係なさそうな作業にも意味があることが解り、上司や会社の立場(“管理”とは何か)を理解することができる。すなわち管理職(出世)思考の土台が作られていく。

 ※帝王学とは、親の社会的地位が高く、子供の頃から「全体」における“細部”の必要性を教えることから「出世への近道」だと言える。だから育ちの差は大きい。

 そして各種法律を理解する、業界の商習慣を理解する、税制を理解するといった具合に、思考の範囲(scope)が拡がっていく。

/*
 資格試験も同じで、難易度偏差値50あたりまでは現場に必要なことのみ、60あたりまでは現場を監督するにあたって必要なこと、60を超えたくらいから各種法律やISOなど社会全体または国際社会の基準に対応していくための(直接業務と関係のなさそうな)知識を問う問題が増えていき、立場によって要求される知識が(及び思考)が異なることが解る。
*/ 

 計画的思考に関連して、基本情報技術者試験にアローダイアグラムからクリティカルパス(ボトルネックとなる箇所)を読み解く問題があるので紹介する。


 このアローダイアグラムを脳に当てはめて書くと、演算(思考)がどれだけ速くても、作動記憶または短期記憶がボトルネックとなり、更には説明や表現(例えば喋るとか書くとか)が下手な人は出力に時間を要し、全体としては遅い方を合計した時間がかかることが視覚化できる。

キャッシュ(作動記憶)とメインメモリ(短期記憶)。

 すなわち突出した特定の能力が社会的に有効な形で表出することは希で、ヒトの能力は最も遅い側の合計値を測定した方がより実社会での実効値に近いと考えられる。という点を踏まえると、なぜ知能検査は高い側の測定には力が入らず、低い側の“支障”判定が主たる目的なのかが解る。

 ココまでを『知能とは何か。第三シーズン』の当面の予備知識とし、人工知能時代の知能について考察していきたい。

 ●プログラミング的思考とは。エクセルで考える。以上・以下・未満の条件分岐。その4。

 ●義務教育のプログラミング的思考とは。エクセルで考える。その3。

 ●義務教育のプログラミング的思考とは。エクセルで考える。その2。

 ●義務教育のプログラミング的思考とは。エクセルで考える。