シンプルな暮らし、自分の頭で考える力。
知の楽しみにあふれたWebマガジン。
 
 

AI時代を生き延びる、たったひとつの冴えたやり方

プログラミングの超簡単な言い回し

 読者の多くは、実際のプログラムにあまり接した経験がないかもしれない。そこで、プログラミングができる方には読み飛ばしてもらうとして、めちゃめちゃ簡単なプログラムの「仕組み」をまとめておこう(ここでは、簡単なBASIC言語の例を出すが、他の言語も似たり寄ったりである)。

 プログラミングというと、何やら小難しい、意味不明のアルファベットと数字の羅列、みたいなイメージがあるかもしれないが、個々のパーツ、つまり命令文まで分解してみれば、きわめて簡単なことがわかるはずだ。
 ここでは、プログラムで頻繁に出てくる「くりかえし」に焦点を当てよう。

X=0
FOR I=1 to 5
X=X+1
NEXT I
PRINT X

 ここで使われているのは「FOR?NEXT」というくりかえしの文型だ。くりかえしの回数を記録するIという「カウンター」が1回から5回になるまで、Xに1を足し続けるのだ。あらかじめXという変数というか「箱」には0が入っている。ふつう、

X=X+1

などと書いたら、両辺からXを引いて、

0=0+1

つまり、

0=1

となって矛盾が生じてしまう! だが、プログラミングの場合、変数には時間の要素も含まれるので、実は、

新しいX=古いX+1

という意味なのだ。たとえば、「X」という札のついた、古い箱の中身がボール2個だとしたら、それにボールを1個足して、それを新しい箱Xに入れるから、中身はボール3個になる。この作業が終わったら、カウンターを見て、それが3回だったら、NEXT I、すなわち次のIである4回目の計算をする。そして、カウンターのIが5回になったら計算をやめ、答えの「5」を印刷して終わり。

 今の場合、1回目の計算でXが1、2回目の計算でXが2…などとなって、最終的に答えは、X=5になるわけだ。

 なぜ、このような簡単な計算を長々とプログラムを書いて実行するのか、疑問に思われるかもしれないが、実際には、あらゆる高等数学を駆使して、めちゃめちゃ複雑な計算を実行する。

 JAXA(宇宙航空研究開発機構)が宇宙探査機を制御して惑星の軌道に乗せるのも、宇宙物理学者がアインシュタイン方程式を解いて宇宙の運命を計算するのも、投資会社が顧客から預かったお金の最適な運用を予測するのも、すべて、こういったプログラムの言い回しが何千、何万と集まった結果なのだ。

 ところで、この「おもちゃ」プログラムで、最初にやった計算が、

X=0

だったわけだが、これがなかったらどうなるだろうか。その日、パソコンを立ち上げて最初の計算だったら、Xの値は0にリセットされているから心配いらない。だが、一日の業務の途中で、前の計算(=前の箱の中身)が残っていたらどうなるか。

 たとえば箱の中にボールが5個入ったままだったとしたら? その場合、X=0と中身をリセットせずに計算を続行すると、5個のボールに5個のボールが足されて、答えはボール10個になってしまう。この10個という数が他の計算にも引き継がれていくと、しまいには、投資会社が大損をして潰れたり、探査機が壊れたりすることだってありうる。

 いや、実は、冗談ではなく、2016年に打ち上げられたJAXAのX線天文衛星「ひとみ」では、「X=5をX=0にリセットしなかった」のと似たようなミスを犯してしまい、衛星が高速回転を始め、遠心力でバラバラになってしまった。実際の事故の背景は複雑だが、数字のリセットのミスで、280億円の天文衛星が観測開始前に空中分解したのだ。ソフトウェアの開発を担当していたNECは5億円の賠償金をJAXAに支払ったが、巨額の国民の血税が無駄になった残念な事故であった。

 あるいは、2005年に新規上場したジェイコム株(現ライク社)をみずほ証券の担当者が「誤発注」し、407億円の損害が生じてしまった事件も記憶に新しい。本来なら「61万円 1株売り」という数字を入れるべきところ、「1円 61万株売り」と、数字を逆さに入力してしまったのだ。約1分半後に入力の間違いに気づいたトレーダーは、慌てて注文を取り消そうとしたが、なぜか東証のシステムが受け付けず、東証と直結されている別のシステムから取り消そうとしてもダメで、電話で東証と直接交渉したが、やはり取り消すことができず、ジェイコム株は急落した。大量の誤発注に気づいた他の証券会社や個人投資家が「この機に乗じて儲けてやろう」と動き始め、市場は大混乱に陥った。

 もちろん、最初に数字を入れ違えたトレーダーも悪いが、単に数字を入れる順番を間違えただけだ。スマホの打ち間違いやメールの誤送信なんて、誰でも経験しているではないか。そういったヒューマンエラーが407億円の実害にまで発展したのは、そもそも、東証のプログラムに問題があったからだともいえる。みずほ証券は、まさにそう考え、東証に415億円の賠償を迫ったが、東証側が拒否したために、両者は最高裁まで争うこととなった。2015年に最高裁判決が確定し、最終的に東証が約107億円(プラス金利)をみずほ証券に支払うこととなった。賠償金額としては損害額の4分の1だが、プログラムのバグ等の不備の責任は重く、裁判所は、7対3の割合で東証の責任が重いと認定したのである。

 プログラムのレベルでは、単なる数字の入れ間違いやリセットのし忘れにすぎない。だが、プログラムが、リアルな世界の探査機や証券取引とつながった瞬間、ささいなミスが巨額の損失や事故へとつながる。

 読者のアタマの中では、

「核ミサイルの制御プログラムで同じようなミスが起きたらどうなるのか」

といったところまで想像が膨らんでいるかもしれない。そう、その場合、x=5をx=0とリセットしなかったために、何百万人の尊い人命が失われる可能性だってある。

 今後、プログラムの塊のような人工知能やロボットが、どんどん人類社会に参入してくる。プログラムのバグや入力ミスやリセット忘れによって、巨額の損失や、人命が失われる事故をどうやって防げばいいのか。未来のプログラマーたちの肩にかかる責任の重さは増すばかりだ。

この記事をシェアする

ランキング

MAIL MAGAZINE

「考える人」から生まれた本

もっとみる

テーマ

  • くらし
  • たべる
  • ことば
  • 自然
  • まなぶ
  • 思い出すこと
  • からだ
  • こころ
  • 世の中のうごき
  •  

考える人とはとは

 はじめまして。2021年2月1日よりウェブマガジン「考える人」の編集長をつとめることになりました、金寿煥と申します。いつもサイトにお立ち寄りいただきありがとうございます。
「考える人」との縁は、2002年の雑誌創刊まで遡ります。その前年、入社以来所属していた写真週刊誌が休刊となり、社内における進路があやふやとなっていた私は、2002年1月に部署異動を命じられ、創刊スタッフとして「考える人」の編集に携わることになりました。とはいえ、まだまだ駆け出しの入社3年目。「考える」どころか、右も左もわかりません。慌ただしく立ち働く諸先輩方の邪魔にならぬよう、ただただ気配を殺していました。
どうして自分が「考える人」なんだろう―。
手持ち無沙汰であった以上に、居心地の悪さを感じたのは、「考える人」というその“屋号”です。口はばったいというか、柄じゃないというか。どう見ても「1勝9敗」で名前負け。そんな自分にはたして何ができるというのだろうか―手を動かす前に、そんなことばかり考えていたように記憶しています。
それから19年が経ち、何の因果か編集長に就任。それなりに経験を積んだとはいえ、まだまだ「考える人」という四文字に重みを感じる自分がいます。
それだけ大きな“屋号”なのでしょう。この19年でどれだけ時代が変化しても、創刊時に標榜した「"Plain living, high thinking"(シンプルな暮らし、自分の頭で考える力)」という編集理念は色褪せないどころか、ますますその必要性を増しているように感じています。相手にとって不足なし。胸を借りるつもりで、その任にあたりたいと考えています。どうぞよろしくお願いいたします。

「考える人」編集長
金寿煥

著者プロフィール

竹内薫

たけうちかおる サイエンス作家。1960年、東京生まれ。東京大学教養学部、同理学部を卒業、カナダ・マギル大で物理を専攻、理学博士に。『99・9%は仮説』『文系のための理数センス養成講座』『わが子をAIの奴隷にしないために』など著書多数。

連載一覧


ランキング

イベント

テーマ

  • くらし
  • たべる
  • ことば
  • 自然
  • まなぶ
  • 思い出すこと
  • からだ
  • こころ
  • 世の中のうごき

  • ABJマークは、この電子書店・電子書籍配信サービスが、著作権者からコンテンツ使用許諾を得た正規版配信サービスであることを示す登録商標(登録番号第6091713号)です。ABJマークを掲示しているサービスの一覧はこちら