読者です 読者をやめる 読者になる 読者になる

円周率は3.05より大きいことの証明をしてみた

ホッテントリを見てたらこんなのが流れてきたので、タイトルだけ見て記事は読まずに自力で解いてみました。

kosotatu.jp

そしたら元記事と解答が異なり、かつ結果的に中学数学だけで解けたので、記念に。 東大の問題にしちゃ簡単だという意見もあってその通りとは思いますが…まいっか。

ただ、綺麗さでいったら元記事のブコメにある正八角形の回答ではないでしょうか。それと比べるとずいぶんと泥臭い解答になってます。 (それを見てこの記事を引っ込めようか一瞬悩んだのは秘密)

思考の流れ

解いた時の自分の凡その思考の道筋は以下でしたが、元記事と同じになりました。

  1. まずは何より、円周率の定義に立ち戻ることからスタートしました。直径と円周の長さの比率である、と
  2. ここまで来たら、多角形で近似すれば良いというのが自然に浮かびました
    1. これはもう数学に触れていく中で培う感覚でという気はしますが
    2. あえて言うなら、3.05という中途半端な数字と不等号が「近似っぽさ」を醸し出してます
  3. と言うわけで円の近似では一番簡単な正六角形から攻めてみました
    1. これは正三角形の組み合わせになる、という知識がベースとなっています
  4. そしたら π > 3 と言う結論になったので、もっと細かい近似が必要と判明しました
  5. じゃあ、正六角形が扱いやすいなら、さらに2等分(って言うのか?)した正十二角形はどうだろう?

で、ここから先がちょっと違いました。

補助線を引いて、直角三角形の性質を使いました。

実際の解答

f:id:xorphitus:20170101013843j:plain

  • 半径をr (単位円にすれば良かったと元記事を読んで気付いた…)
  • 円周をl
  • 辺ABの長さをa
  • 辺BDの長さをb

とする

2πr = l
     > 12a
∴π > 6a/r ...(1)

三角形ABDは直角三角形になるので、三平方の定理より

|AD|^2 = |AB|^2 + |BD|^2
=> a^2 = (r/2)^2 + (r - b)^2 ...(2)

次にbをrで表わす。 三角形ABOも直角三角形になるので、三平方の定理より

|AO|^2 = |OB|^2 + |AB|^2
=> r^2 = b^2 + (r/2)^2

展開、整理して

b = √3 /2 ・ r ...(3)

(3)を(2)に代入して

a^2 = (r/2)^2 + (r - √3 /2 ・ r)^2
    = (1/4)r^2 + (1 - √3 /2)^2 ・ r^2
    = (1/4 + (1 - √3 /2)^2)r^2
    = (1/4 + (1 - √3 + 3/4))r^2
    = (2 - √3)r^2
    > (2 - 1.732)r^2
    = (0.268)r^2

( √3の値は覚えてるよね、と)

∴ a > √0.268 r
     > 0.51r

(自乗して0.268に近くなる値を、いくつか試して見つけました。泥臭く…)

これと(1)を用いて

π > 6(0.51r)/r
   = 3.06

Q.E.D.

感想

久々に数学の問題やったら面白かったです、という小並感。

仕事で「コミュニケーションが問題だ」とまとめるのは何も言ってないのと同じ

過去に数度こういったtweetをした記憶がありますが、何度でも言います。

「コミュニケーション」という言葉の指すものが漠然とし過ぎていて、まともな問題提起になっていないからです。 こうした問いにはまともな解が与えられません。

それを正すことが、解決への第一歩と思います。 解の質は、問いの質に比例します。

意思伝達で問題が起きていそうだとなった時に「もっとコミュニケーションをせよ」 という声が上がるのを何度か見てきていますが、正直これが実のある意見だとは思えません。

この状態でさらに、よく分からぬまま「まずは飲み会を…」等となるのも短絡的ではないでしょうか。

そもそも仕事において「コミュニケーション」とは何を指すのか

この場では 「関係者間で伝達し合った情報に基づき、各々が利益につながるであろう行動をとれる状態になること」 という定義をしたいと思います。少々まどろっこしいですが。

曖昧さのある定義であるものの、曖昧な概念であるからこそ、問題がボヤける要因となります。

加えてこの言葉は、仕事を離れた人間関係一般においては別の意味を持つと思います。 仕事の場においてもそちらの概念が入りこむことは多々あり、それがさらに曖昧さを助長します。

コミュニケーションの問題分類

コミュニケーションが問題となっていると言われる状態というのは、以下の4種に大別できるのではないでしょうか。

  • 情報を発信したつもりだが、期待される行動を相手がしなかった
  • 情報を受け取ったつもりだが、期待される行動を自分がしなかった
  • そもそも情報が発信されなかった
  • 過剰な情報供給により、受け手の混乱、または作業中断による能率低下が起きた

そして、このいずれかに分類したとしても、まだ考えるべきことがあります。

  • こうした問題はどういう状況で発生するのか
  • 発生する要因は何なのか

具体例で言うと、以下のようなものが想定されます。

  1. 異なる部署間でのやり取りにおいて、同じ単語をお互い別の意味で捉えていた
  2. 緊急度の高い問題があったが、発見者が優先度を低いと取り違えて連絡を後に回した
  3. 上司が威圧的な態度をとるため、部下が問題の発覚を恐れて報告をしなかった
  4. 気軽な会話がしにくい風土のため、フランクなアイディア交換が発生しない

これらはいずれも「コミュニケーション」の問題です。しかし一緒くたに扱うことができるものなのかというと、 少くとも自分はそうは思えません。

そして、解決にあたっては上記からもう一歩掘りさげる必要があるはずです。 これらが発生した要因をさらに考え、それを解決しにいくスタンスが重要です。

なお、冒頭の内容を誤解されないように言っておきますが、飲み会は悪いわけではありません。 上記の4のケースであれば、効果的な解決手段になる可能性があります。

最後に

コミュニケーションというのは便利な言葉であるためつい使ってしまいますが、 それが問題の本質を隠してしまいます。

恐らくこの背景には、この言葉が世間的に非常によく使われていることや、 公私共に他人との意思疎通(仕事のみならず、恋愛等の人間関係)で悩む方が多いことがあるのではと感じます。

しかし、この便利な言葉が覆っているものを適切に捉えることで、解決に向かっていけるのではないでしょうか。

JSHint Options 日本語訳

JSHintのオプション設定が色々あって、ひと通り把握したいなあと思ったので日本語訳してみました。

http://qiita.com/xorphitus/items/f26ec8fbe17c317d3994

英語力の不足でところどころ心折れています。

手頃な.jshintrcを作って、チームメンバーで共有したいと思っています。

若干functionalなJavaScript, CoffeeScriptの個人的に使うイディオム

http://qiita.com/xorphitus/items/40aa10d093e8b7fa0699

ジェネレータ (yield) を使う技が今のところない。

コードのためのコードを書くのはNGだと思うけれど、概念を理解して使いこなせる段階にいることが重要なのであって、そうなるために投入していきたいところ。

ラジオ番組自動生成Webアプリを作ってみた

まあ実は1年前に作ったものなんですけどね。

http://mychannel.herokuapp.com/session/new

ここ数ヶ月は放置していて、MySQLにつながらないというHerokuの悲鳴をずっと無視し続けていました。
我ながらひどい有り様…。

コードはGitHubで晒しています。

https://github.com/xorphitus/mychannel

Railsでしたが、Guard+libnotifyでBDDしてみたりとか、jasmineもそのBDDに乗せてみたりとかしてみました。
この辺の技術的な試みについてはまた別の記事にしてみようと思います。

はてなブログに移行してみた

ようやく重い腰を上げました。

開発者としては、「さっさと新しい方に移行してくれ!」という気持ちは非常に分かるので、えーと、ごめんなさい。

Arch Linux快適デスクトップ環境構築

何気にQiitaの初投稿です。
http://qiita.com/xorphitus/items/3711895eb5d9f946c782
誰にとって快適て、そりゃあ自分にとってであって、世間一般に快適かどうかは全く保証なし。
共用のPCでもなければ、自分のパフォーマンスを最大化することが大切ですからねっ。

H/Wのスペックは以前よりかなり上がったんですが、どことなーくリソース節約クセが抜けきってなく、中途半端にカッコよくしようとしている自分が…好きです。