越境するコンピューター

越境するコンピューター

新しいコンピューターとの付き合い方 〜コンピューターと意思決定と人間〜

二つの確率

一言で確率と言いますが実は確率には2種類あります。

  • サイコロで偶数が出る確率 50パーセント
  • 太郎さんが大学に合格する確率 50パーセント
この二つ、どちらも確率 50パーセントと言ってますがよく考えると別物なんです。
 
サイコロで偶数が出る確率
サイコロを何回も何回も振る実験をしたら偶数が出る確率が50パーセントだった。
こういうふうに実験や論理的な観察で導き出された確率を「客観確率」といいます。
 
太郎さんが大学に合格する確率
こちらは太郎さんに何回も何回も受験させて確率を判断するわけにはいきません。こちらは模擬試験など客観的なデータや教師の過去の経験のような主観を元に「太郎さんが大学に合格する」と信じる度合いを数値で表しています。これを「主観確率」といいます。
 
ビジネスで意思決定をする際は、客観的データ、主観的な判断をミックスして数値を導き出し、意思決定の助けにすることができる主観確率を活用することができます。
 
 

色んな判断力

判断力といってもいろんなのがあるので、独断で区分けしてみました

 

  1. スポーツの判断力
  2. ビジネスの判断力
  3. 経済の判断力
  4. 自然科学の判断力

 

スポーツの判断力

一瞬で次のアクションを決める判断力、意識で考えるのでなく自然に体が動く判断力。

古い話ですが「プロ野球日本シリーズ最終戦で満塁一打逆転のピンチ、マウンドには江夏豊、投球に入ってからバッターがスクイズをしてくる気配を感じカーブの握りのままボールをウェストしてスクイズを防いだ」江夏の21球として語り継がれるこのお話。この意思決定は論理的に考えるのではなく気配を察知して瞬時の対応している、スポースの意思決定の代表的な例。

 

ビジネスの判断力

ビジネスでは限られた時間で入手できる情報と担当者の過去の経験を元に意思決定が行われる。

ビジネスの世界では適切なタイミングで適切な判断を下すことが最も重要。「さーてこの新製品投入しようか、どうしようか?」と1年も考えていたらまわりの環境が変わってしまってその製品自体の魅力がなくなってしまう可能性もある、迅速な判断ってのがビジネスに求められること。データという客観的な情報と担当者の経験という主観的な情報をミックスして意思決定がなされます。

 

経済の判断

経済も限られた時間で入手できる情報と担当者の過去の経験を元に施作が選択されるのはビジネスと一緒。大きく異なるのは、ビジネスが自分の組織、会社が幸せになることを考えるのに対して、経済は経済というシステム全体の最適化を考えるものであること。

 

自然科学

自然科学の分野ではどんなに時間がかかろうと客観的な情報で論理的に証明できる真理を見つけるのがお作法。

 

コンピューターは因数分解が苦手

コンピューターは因数分解が苦手です。正確に言うと、どんな高速なコンピューターでも「適当な時間内に桁数の多い数の因数分解を完了することが出来ません」
どうして?

(1)しらみ潰し
(2)倍々ゲーム

しらみ潰し
因数分解をやる効率的な方法は無くて一つ一つの候補を試していく、いわゆる「しらみ潰し的なやり方」をする必要があります。

倍々ゲーム
でも高速なコンピューターならしらみ潰しを高速にやってくれるのでは?と思いますが例えば
30桁の因数分解だと毎秒1兆回の演算をするコンピューターでも300億年かかってしまいます[1]
1桁増える毎に指数的にしらみ潰しの数が増えていく、こういう処理はさすがにコンピューターでも適切な時間内に処理を完了することが出来ないのです。

桁数の多い数の因数分解をするのには膨大な時間がかかりますが、いったん答えが分かればそれが正しいかどうかはすぐに計算出来ます。

コンピューターで使われている暗号化この性質を利用しています。

今話題になっている量子コンピューター因数分解を適切な時間で出来る可能性があります。
これが実現する頃にはコンピューターの暗号化方法も新しいものに変わっているでしょう。








猫を見分けるコンピューター

【コンピューターが100桁の掛け算してもニュースにならないが、幼稚園児が100桁の掛け算したらニュースになる。幼稚園児が猫と犬をを見分けてもニュースにならないが、猫と犬を見分けるコンピューターは結構すごい】

 

なんででしょうか?

 

「100桁の掛け算」はやり方を説明できますね。

「犬とと猫の見分け方」やり方説明しろと言われると困ってしまいますね。

 

コンピューターは「100桁の掛け算」のようにやり方を説明できるものを実行するのは得意です。そのやり方をプログラムにしてコンピューターに実行させればOKです。

一方「犬とと猫の見分け方」をコンピューターにやらせようとしてもやり方がうまく説明できないのででプログラムにすることが難しいです。ためしに犬と猫の見分けを文書で説明しようとして下さい。難しいですよね。

 

でも最近「コンピューターが猫を認識した」って話題になってました。これはどうやってるんでしょう?

すごく大雑把に言うと、猫を認識するやり方をプログラムにするのでなく、コンピューターに猫の写真をすっごい枚数見せて「猫か? 猫じゃないか?」 をコンピューターに学ばせているんです。

コンピューターに猫の写真を何枚も見せて1枚ごとに「正解」、「不正解」をコンピューターに教えてやるとコンピューターがその結果を元に学習して「この特徴なら前回正解だったものと近いから猫」ってかんじでだんだん賢くなっていくんです。

 

これが最近はやりの機械学習といわれてるものです。

 

学習させるためにたくさんの写真の一枚一枚を猫、猫じゃない、とラベル付けしておいてコンピューターに教えてあげる、これが『教師有り学習』といわれるもの。でもすーごくたくさんの写真に一枚一枚、猫、猫じゃない、とラベル付けしてたら大変ですよね。正解を教えずにコンピューターにパターンを認識させるのが『教師無し学習』といわれてるものです。

 

この場合も学習の方法は人間がプログラムとして作る必要があります。

 

最近コンピューターの適用範囲が拡大して、この例のような使い方をされるケースも増えてきています。こんな時代だから今一度コンピューターに出来ることを見直していきたいなと思ってます。

 

書きながら勉強しているので未熟な部分もあると思いますが何卒ご容赦を。

 

このサイトの掲載内容は私個人の見解であり、必ずしも私が所属する会社、組織、団体の立場、戦略、意見を代表するものではありません