Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

人の顔の美しさと物理学の美しさとプログラムの美しさ

プログラムをする時に、プログラムの美しさを理解することは重要です。その美しさについて、プログラムをしない人にもなるべくわかるよう、例を挙げて説明します。
by

光宏 新田

on 29 January 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of 人の顔の美しさと物理学の美しさとプログラムの美しさ

人の顔の美しさと物理学の
美しさとプログラムの美しさ

人の美しさについて
物理の美しさについて
なぜプログラムには美しさが必要か
プログラマーは本能的に、プログラムに美しさを求めます。
利用者からは見えない部分なのに、なぜ美しさが重視されるのでしょうか?
ここでは、プログラムになぜ美しさが求められるか、合理的な理由を考えてみます。
平均顔
大勢の人の平均を取った顔です。
昔、大勢の人の顔の平均をとってみたらどうなるかという研究をしたところ、美しくなるという結果が出ました。
平均をとったのに特に美しくなると言うので混乱する人もいるようですが、平均というのとありふれたということは、本来全然別の話です。
各パーツがすべて平均ということは、顔のどのパーツをとっても大きすぎず小さすぎず、ということなので、美しくなっても不思議はありません。
平均的であることが、美しさの要因の一つだ、と言われるようになりました。
仮説
人間の脳は、シンプルなものを美しいと認識するのではないか?
人間の脳が人の顔を認識するとき、すべてのパーツが平均的ならば、全部デフォルト値と認識すればいいので、エネルギーの節約になりそうです。
そういえば、繰り返し図形とか雪原など、エネルギーを使わずに図形認識ができそうなものは、美しく感じられるものがあります。
楽ができるものを心地よく感じることは、よくあることです。
疲れ果てた時のソファーのすわり心地に感動することもあるでしょう。
ここではこの仮説が正しいとして、話を進めることにします。
芸術のような美しさを売る職業でもないのに、プログラムと同じく、美しさが求められる分野として、数学や物理があります。
相対性理論
相対性理論以前
1864年
電磁気学の集大成
マックスウェル方程式
光速は一定である
普通どう考えても矛盾しているとしか思えないですね。
ということで。
実験事実に合う理論が見つかっていませんでした。
この式を素直な意味でとると、常識的ではない解釈になります。
光速の9割の速度で光を追いかけても、光は光速で遠ざかっていく。
止まっている人から見ると光は光速で遠ざかっていく
これだけなら普通ですが
1905年
アルベルト・アインシュタイン
特殊相対性理論の発表
理論的に光速が一定だというなら、一定だとしてしまって考える。
光速不変の原理
大変潔くシンプルで、それゆえに美しい考えです。
非常識なものを前提として論理を組み立てたので、大変非常識な結論が出てしまいました。
光速に近い速度で動くと
時間の進むスピードが遅くなる
長さが縮む
重さが増える
質量がエネルギーと同じもの
同時ということは一般的には存在しない
常識ではありえない結論を、
無名の特許職員が、
学会で堂々と、
発表してしまったわけですが。
実験による実証
実験で確認してみました。
なんと理論と実験があってしまいました。
光速に近い速度を出すのは難しいので、素粒子一個とか原子一個とかで確認したのですが。
実際に
長さが短くなりました。
重さが重くなりました
時間が遅くなりました。
質量がエネルギーに変換されちゃいました。
常識が間違っていて、
美しい論理が正しかった。
びっくりですね。
物理学と美しさ
美しかったとしても何の得にもならないはずの物理学で、なぜ美しさが重要視されるのでしょうか。
美しさを頼りに、正しい理論を見つけることができます。
電磁気学が出した美しい理論を、シンプルに信じるという動機がなければ、アインシュタインも非常識な結論をわざわざややこしい計算で出そうという気は起きなかったかもしれません。
非常識な結論を、実験で確認しようという人も出なかったでしょう。
ただ、美しいから正しい、とは誰も思っていません。
正しいかどうかは、実験で確認して初めて確認できます。

美しさを見分ける目があれば、正しそうな方向を見分けることができます。
ただ言えることとして。
なぜプログラムをする時に美しさが求められるのかを、考えてみます。
昔からプログラムは、どんどん複雑になってきました。
ハードウェアの性能はムーアの法則に従い等比級数的に増加していますが。
プログラムの量的複雑さはそれに近い速度で増加していっています。
複雑さを扱う能力が、プログラムに必要な能力のうち、特に重要な一つとなります。
プログラムと複雑さ
シンプルなプログラムは
美しい
シンプルなものを、人は美しいと感じます。
作ったプログラムが、シンプルで開発コストのかからないものかどうか、美しさによって簡単に確認できれば、より多くの確認を行うことができます。
複雑さを減らし、シンプルなプログラムを書く能力がないと、プログラムに必要なコストは等比級数的に増大するでしょう。
ただし、物理法則が正しいことを確認するためには実験が必要なように、美しさだけで確認を済ませるわけにはいきません。
美しさはあくまで目安です。
自分の美的感覚が本当に、実際にコストのかからないプログラムを見分けられているかどうか、常に確認しておく必要があります。
プログラムの美しさをうまく利用して、低コストでプログラムを作っていきましょう。
マックスウェル方程式から、光速が一定であることが導き出されます。
エーテル説
理論というのは単純化した状況の説明であることが多いので。
素直に解釈したらおかしいというのは珍しいことではありません。
たとえば音速についても同じことが言えました。
音速も同じ理由で一定ですが、それは無風状態の話です。
風が吹いていると、風に押された音は速くなります。
音が空気を伝わるように、光が伝わるエーテルというものを考えだして、音速と同じようにつじつまを合わせようとした。
その証明のためにエーテルの風速をはかろうとしたのですが。
マイケルソン・モーレーの実験
エーテルは常に無風だという結果が出ただけでした。
宇宙にあるエーテルは、常に地球の動きに合わせて静止している?
結局素直に解釈したのと同じくらいおかしいですね。
Full transcript