【1−0.1×10は? 人工知能に怯える前に知ってほしいこと】
http://itpro.nikkeibp.co.jp/atcl/watcher/14/334361/112100725/
この記事では、Excelで1−0.1×10を計算すると0にならない、ことを紹介しています。
※厳密には(1−0.1−0.1・・・)と0.1を10回引き算するのですが。
小学校で算数を勉強した人からすれば意外に思う点ですが、これはコンピュータ計算の特性でもあります。
記事中でも次のように書かれていますが
これは、コンピュータのすごさとダメさの両面を、その仕組みとともに体験したうえで、コンピュータとの付き合い方を考えて身に付けるきっかけになればという思いからである
人工知能の脅威に怯える前に、コンピュータおよびプログラミングについて理解を深め、それらとの付き合い方を考えてみてはいかがだろうか。
人間が考えるようにコンピュータを動作させることの難しさを表現した記事でもあります。
実は、人間が学校で学んだ計算処理方式と、コンピュータが採用している計算処理方式が同じでないため、こういうことが起こるのです。
この記事では、なぜ1−0.1×10が0にならないかについては、丁寧に説明をしていません。
この記事を読んだ一般の人は、納得いかない妙な気分だけが残ってしまったかもしれませんね。私はその理由を知っていますが、これを説明するにはある程度の文章量でいくつかの前提を説明する必要があるので、私もここは割愛します。
怒らないでください(笑)
さて、この「同じ数を引き算すると0にならない事象」ですが、金融の現場では無視できないこともあります。
例えば、ライフプランシミュレーションなどシミュレーション系のシステムなら適当に四捨五入しちゃって問題ありません。
でも、例えば次のような場合、
・住宅ローン返済で、最後の月の返済をしたときに、住宅ローンの残高が1円未満の微量数になる
・預金の全額払い戻しの時、口座残高が1円未満の微量数になる
というケースでは、この微量数をうやむやにすることはできません。
この1円未満の微量数も、取引件数が増えて積みあがればその合計は1円を超え、時には万円の単位を超えることもあります。
これは金融取引会計上には現れないお金ともなるので、このお金をこっそり自分の口座に送金・・・なんてことがあってはいけないわけです。
なので、きっちりと小数点以下の端数処理を規定したり、そもそも同じ数の引き算をして0にならない仕組みを採用してプログラムを作っています。
システム屋さんの教育でも使われる話であり、久しぶりに思い出させてくれた記事でした。
でも、本文は人工知能とは一切関係ないのに、「人工知能に怯える前に」なんてタイトルをつけているので、これは釣りタイトルだなあとも思ったのでした。
2016年11月29日
2016年11月18日
Excelで、すぐに印刷プレビューする方法
もっと早くに知っていればよかった、というExcelのワンポイントテクニックです。
Excelには、印刷の見栄えをチェックするための「印刷プレビュー」という機能があります。
印刷プレビューをしたいとき、今まではメニューをたどって印刷プレビューを探したり、Excelの設定を変更して印刷プレビューのアイコンをリボンの中に埋め込んだりしていました。
でも、もっと簡単に印刷プレビューをする方法がありました。
「Ctrl + F2 キー」を押すのです。
この操作だけで、一発で印刷プレビューを呼び出すことができます。
印刷プレビューは、個人的には頻繁に使う機能です。
それが、一発で呼び出せるのは大変ありがたいです。
もっと早くに、このことを知っていればよかった・・・と妙に後悔しましたが、これからはスピーディに印刷のチェックができるので、「Ctrl + F2 キー」を愛用しようと思います。
Excelには、印刷の見栄えをチェックするための「印刷プレビュー」という機能があります。
印刷プレビューをしたいとき、今まではメニューをたどって印刷プレビューを探したり、Excelの設定を変更して印刷プレビューのアイコンをリボンの中に埋め込んだりしていました。
でも、もっと簡単に印刷プレビューをする方法がありました。
「Ctrl + F2 キー」を押すのです。
この操作だけで、一発で印刷プレビューを呼び出すことができます。
印刷プレビューは、個人的には頻繁に使う機能です。
それが、一発で呼び出せるのは大変ありがたいです。
もっと早くに、このことを知っていればよかった・・・と妙に後悔しましたが、これからはスピーディに印刷のチェックができるので、「Ctrl + F2 キー」を愛用しようと思います。
2016年11月08日
優秀なエンジニアの採用と育成
優秀なエンジニアをどのように採用し、どのように育成するのかは、IT業界にいる人であれば関心あるところでしょう。
こういう施策がある企業とない企業とを見比べると、そこに集うエンジニアの技量に差があることは、私自身の体験でも感じているところです。
共感できる記事がありましたので、ご紹介しておきます。
【サイバーエージェントの新卒教育は「不公平」である】
http://itpro.nikkeibp.co.jp/atcl/column/16/092700215/110100005/
こういう施策がある企業とない企業とを見比べると、そこに集うエンジニアの技量に差があることは、私自身の体験でも感じているところです。
共感できる記事がありましたので、ご紹介しておきます。
【サイバーエージェントの新卒教育は「不公平」である】
http://itpro.nikkeibp.co.jp/atcl/column/16/092700215/110100005/