1. STEAM.fm
  2. 足し算の繰り上がりとガンジー..

コンピューターが扱う数値には上限があります.ときとして,それは平和主義者ガンジーの怒りのレベルを表現する冗談のネタにされることがあります.

🎙️ STEAM.fm | 📝 文字起こし | 📚 STEAM NEWSバックナンバー | 💭 匿名質問・コメント | ☕️ コーヒーの差し入れ(400円のご支援)

00:05
いちです。おはようございます。
今回のエピソードでは、足し算の繰り上がりとガンジーの関係についてお届けします。
このポッドキャストは、僕が毎週お送りしているニュースレター、スティームニュースの音声版です。
スティームニュースでは、科学、技術、工学、アート、数学に関する話題をお届けしています。
スティームニュースは、スティームボートの取り組みのご協力でお送りしています。
改めまして、いちです。このエピソードは、2024年3月14日に収録しています。
このエピソードでは、スティームニュース第171号から、
足し算の繰り上がりとインド建国の父ガンジーの関係についてお届けをします。
何か関係なさそうなのですが、そこは工事付けのスティームFMですから、どうぞご期待ください。
今週もエピソード25分間、どうぞお付き合いいただければ幸いです。
みなさんは、9たす1という足し算を計算できます。
その結果は、2けたの数値10になります。
1けたの数9から2けたの数10になることを、けたがくり上がると呼ぶのでした。
アジア人はいつも、十進数を使いますから、くり上がりのルールはとてもシンプルです。
10こ集まれば、けたが1つくり上がるんです。
一方で、十二進数を好むヨーロッパ人や、二進数を好むハッカーたちは少し違います。
僕たちハッカーは、1たす1という計算でさえ、くり上がりを見ることになります。
二進数だと、1たす1は10。
これは、地面の上では、10と同じく1と0が並んでいるのですが、
03:02
二進数では、10と読んで、2けたの二進数の数になります。
そして、二進数の10は10ではなく、2という意味です。
10と書いて、2の意味なのです。
コンピューターは、主に二進数で動いていますから、
こういったくり上がり、一けたの数が二けたの数に変化するということは、しょっちゅう起こっているのです。
さて、くり上がりそのものは、足し算を考える上で避けて通れないものです。
もし、無限に足し算を繰り返していけば、くり上がりも無限に発生してしまいます。
ところが、コンピューターのメモリーは有限です。
くり上がりはいつか打ち止めにしなければなりません。
ほとんどのコンピューターは、効率を考えて、事前にくり上がりの上限を決めています。
例えば、1970年代に設計されたコンピューターシステムは、生歴を二けたで表していました。
例えば、1970年代は70、1980年代は80と表していました。
こうすれば、年を二けたで表現できるので、メモリーの節約になります。
もちろん、99に1を加えると、もうこれ以上くり上がりができないため、
00に戻ってしまいますが、
1999年という、当時から見れば遠い未来のことは考えなくてよいとされました。
その結果、2000年問題が生じました。
2000年問題というのは、主に1970年代、1980年代に設計された、
ひょっとしたら、1990年代に設計されたコンピューターが、
生歴を二けたで表していたために、
2000年を迎えると、年が00年になってしまう。
つまり、99年の翌年が00年になってしまうので、
過去にタイムスリップしてしまうということから、
コンピューターが誤動作するのではないかと言われた問題です。
実際に誤動作したコンピューターもあったそうです。
06:06
他に、コンピュータープログラマーがメモリーを節約するために、
数値の範囲を0から255に制限することもよく行われていました。
255という中途半端な数値は、日進数で8けた、
つまり8ビットの上限の値です。
このような数値は、8ビット整数と呼びます。
8ビット整数では、もし255に1を足してしまうと、
256にはならず、繰り上がりに失敗してゼロに戻ります。
つまり、255プラス1イコールゼロという訳のわからないことが起こってしまうのです。
一種のバグとも言えますよね。
しかし、コンピューターの設計者は、殿下の宝刀を持っています。
バグではありません。仕様です。
これ言われてしまうとどうしようもないんですよね。
そうなんです。255プラス1イコールゼロはコンピューターの仕様なので、
255に1を加えないようにすることは、
メモリーを節約したプログラマーの責任なんです。
繰り上がり問題は、自動的に繰り下がり問題も引き起こします。
8ビット整数の範囲はゼロから255に制限されるので、
マイナスの数を表現することはできません。
そのため、0-1の計算にもバグが生じます。
0-1の結果は255に戻ります。
ちょうど0から255まで書かれたルーレットで、
円周を右に回ると足し算、左に回ると引き算と思っていただければ、
ちょうどよいのかなというふうには思います。
話は変わります。
インド独立の父、マハトマ・ガンディについてです。
このポッドキャストでは、日本でのより一般的な呼び方、
ガンジーというふうに呼ばせていただきますね。
09:00
1869年、イギリス領・インド帝国に生まれたガンジーは、
18歳でロンドンに留学し、法学を学びます。
大学を卒業したガンジーは弁護士になるのですが、
弁護士なのに口下手で、なかなか成功しませんでした。
彼は仕事を求めてイギリス領・南アフリカ連邦へ引っ越すのですが、
そこで人種差別を経験し、人権運動を開始します。
ガンジーが際立っていたのは、インド帰国後に
総主国イギリスに対して行った非暴力、不服従という運動でした。
この様子はリチャード・アッテンボロー監督の映画ガンジーに描かれています。
ただし歴史の偉人あるあるなのでしょうが、
よく知られているガンジー像は若干美化されています。
彼は若い時分に盗みも働いていますし、
留学前には地元大学を落題しています。
そしてイギリス留学時には妻子を放置しているんですね。
ガンジーは留学前、母親に肉、酒、女には手を出さないと約束し、実践していました。
ここだけ聞くと、ガンジー頑張ったなぁということになるのかもしれませんが、
3番目の約束、女には手を出さないについては、
どうなんでしょうね、ストイックだったんでしょうかね。
本当に実践しているんです。
なんと妻にも手を出さなかった。
それだけではありません。
ガンジー、晩年は妻以外の裸の女と添い寝だけすることを日常にしていたそうです。
添い寝だけ、つまり耐えるということを実践していたということになるんでしょうかね。
現代用語というか、もうこれ死語かもしれませんが、
ソフレ、添い寝フレンドをいつも身近に追い入れたわけですね。
12:03
いや、ガンジー結構ゴミなんじゃないでしょうか。
シビライゼーションというよく知られたボードゲームがあります。
人類文明の歴史と発展をテーマにした戦略ゲームで、
プレイヤーは一つの文明の支配者になり、半島を広げていくことになります。
シビライゼーションはプログラマーのシド・マイヤーによってコンピューターゲーム版が作られました。
このゲームは一人でプレイでき、プレイヤー以外の文明はこのコンピューターに搭載されたAIによって駆動されました。
もっともこの当時はですね、AIというような呼び方はされていませんでした。
この時インド文明の指導者としてプログラムされたのが、ガンジーを模したAIでした。
ガンジーは徹底した平和主義者で、攻撃性を表すパラメーターが最低の1に設定されていました。
指導者の攻撃性が1の場合、その文明は防衛戦争しか行いません。
今の言葉で言えば戦首防衛、日本国憲法のような状態なわけですね。
一方、シビライゼーションには別のルールもありました。
もしある文明が君主制から民主制に移行すると、その文明の攻撃性が2減らされるんです。
今、日本は立憲、君主制という一種の君主制ですから、これが完全な共和制。
例えば大統領政に移行すると、攻撃性が2減って、1から2を引くということが起こり得るわけですね。
で、ガンジー率いるインド文明の攻撃性が1でしたから、インド文明がゲーム中で民主制に移行すると、攻撃性がやはり2引かれることになるわけです。
8ビット整数では1-2、1-2の結果は255になります。
繰り下がりですね。
そしてシビライゼーションは攻撃性のパラメーターに8ビット整数を使っていたんです。
ということは、ひょっとしたらガンジーの攻撃性が255になったかもしれないんです。
15:09
実際、ゲーム中にガンジー率いるインド文明が君主制から民主制に移行したとすると、突然ガンジーが最高度の攻撃性を持ってしまうことになるわけなんです。
こうなったらいきなり他国を各攻撃しまくるのではないか。
これが核ガンジーというインターネットミームになりました。
実際のところ、ゲームシビライゼーションにそのような番組の使用も存在しませんでした。
ただし、続編のシビライゼーション5では本当に実装されました。
日本では怒りを表すためにガンジーでも助走をつけて殴るレベルという表現があるのですが、
ゲームの世界ではガンジーが核戦争を起こすイベントが実装されてしまったわけですね。
1948年1月30日、実在のガンジーは暗殺されてしまいます。
宗教間の融和に心を砕いていたガンジーでしたが、原理主義者によって暗殺されてしまったのです。
1974年5月18日、インド政府は核実験を行い、核保有国となりました。
究極の暴力装置である核兵器の保有に対して、もしガンジーが生きていれば反対したことでしょう。
核ガンジーは実際には存在しないバグでした。
ただし、8ビット整数が0から255までの数値しか表せないこと、そしてガンジーが暴力を望まなかったことから、
インターネット上でまことしやかに語られることになったのです。
というわけでですね、今週このエピソードでは足し算の繰り上がり、
特に8ビット整数というコンピュータープログラマー、ハッカーたちがよく使う数値計算と、
18:07
そして核ガンジーというインターネットビーム、そして実在のマハトマ・ガンディのお話をさせていただきました。
実在のガンジー、マハトマ・ガンディについては、おすすめのポッドキャストがあります。
僕も大好きな古典ラジオのマハトマ・ガンディの回があるんですね。
実際にはシリーズなんですが、少しね、昔のエピソードになるので、
Spotifyであるとか、アップルポッドキャストとかで検索していただく必要はあるのですが、
めちゃくちゃ面白いので、古典ラジオさんね、どの回も面白いんですが、このガンディの回もとても面白いので、
よかったらね、検索してみてください。
メールでお送りしているニュースレター、スティームニュースでは、今週の書籍ということで、毎週書籍をご紹介しているのですが、
このエピソードに対応する第171号では、書籍の代わりにポッドキャスト、古典ラジオをご紹介させていただいています。
ガンジーとインターネットミームといえば、先ほどご紹介させていただいた通り、日本語圏では怒りを表すレベルとして、
ガンジーが助走をつけて殴るレベルなんて言い方もあるのですが、
これを上回る神フレーズを募集しますというツイートがあったんですね。
これ、元ボーズバーさんという方がツイッターで募集をされたんですが、
その中には、全国の大仏が一斉に立ち上がるレベルであるとか、
なかなかウィットに富んだ言い回しが紹介されていました。
僕の個人的なお気に入りは、薬師如来に毒を漏られるレベルという言い回しですかね。
僕は以前奈良に住んでいましたので、奈良は新薬師寺という薬師如来を祀ったお寺さんが有名なのですが、
21:12
薬師如来、薬師寺というのは東向きに存在するわけですね。
太陽が昇る方向、つまり人が生まれる時に、人は病を持って生まれてくる、
だからお薬壺を持って生まれるという信仰があるわけなんですが、
その薬師如来に毒を漏られるってどういうことよっていうぐらい強烈なメッセージ性を持ったミームということになるんでしょうかね。
いやもうどないやねんっていう感じですよね。
メールでお送りしているニュースレターの方、スティームニュースでは今週の書籍、今週は今週のポッドキャストでお送りしたのですが、
他に加えて今週のテッドトークもお届けをしています。
今週のテッドトークとして、怒りで世界に平和をもたらす方法というトーク、カイラッシュ・サティアーティのトークをご紹介しているのですが、
彼はマハトマ・ガンディを尊敬している上で、怒りというテーマでトークをされているのですが、
これにインスパイアされたわけではないのですが、相綴る話として、僕自身もロシアへの怒り、
僕自身が憧れていた文明であるロシアへの怒りという意味で、
一つのテデックス・トーク、僕自身がプロデュースさせていただいたテデックス・トークをリンクでご紹介をさせていただいています。
ただ、現在アメリカテッドは政治的発言に関してはある程度規制をかけていますので、
僕たちのテデックス・トークに関しても注釈付きで公開されています。
よければニュースレターからリンクを貼っていますので、ご覧いただければと思います。
というわけで、今週も最後まで聞いてくださってありがとうございました。
SteamFM1でした。
24:10
ご視聴ありがとうございました。
ご視聴ありがとうございました。
24:59

コメント

スクロール