皆さんこんにちは。マネックス証券システム開発推進部 小田切貴秀と申します。
前回のブログ(メネラウスの定理使えばOKですか?)は、解けると思って解けない問題でした。今回は、解が無いとされているマイクロソフトの三角形(といって良いのかな?)を解いてみたことを書きたいと思います。最近改めて思ったのですが、エンジニアブログという仕組みがないとこんなことを考えたという事が書けませんでした。会社に感謝です。以下の計算は東京オリンピック開始時の4連休で行いました。ない頭を捻ったので「誤っていたらごめんなさい。」と予めお詫びしておきます。
1.マイクロソフトの三角形
前回のブログでもちょっとふれましたが、マイクロソフトの入社試験で出題されたとされるのは以下の問題です。実は、前回のブログをまとめている時に知りました。
問題: 以下の三角形の面積を求めよ。
私の出会った一般的な解答は、「こんな三角形あり得ない。」で終わっています。色々な方がこれについて書いています。(平面図形の場合)斜辺が10cmならば高さが6cmはありえないという内容です。詳細はググってみて頂くと判ります。
でも私はその場でできる解答案として、こんなところまでは書けると思いました。
点Dを点Aから点Cに移動していくと、∠Aが直角から鋭角になり、球の半径は大きくなる。その結果、題意の三角形は平面に近づくので面積は30cm^2に少し近づいていく。点Dが辺ACの中点に到達するまではこの傾向が続き、辺ACの中点を超えると図形の対称性から線対称の形状で面積が増加する。断続的に面積が変わる要素が無いので、点Aから点Cに移動するまで面積は滑らかに変化する。
後述しますが、このように変化します。
どの様に導くか高校で習う範囲の数学の応用で基本的に理解可能です。解答より詳細な数値計算もしています。ご興味あるようでしたら、お読み頂けると嬉しいです。
2.本当に解なし?
この問題、指導要領に基づいた力を問う高校や大学の入学試験ではなく、入社試験とのことですよね。少し話しが逸れますが、「わからないもの」を見通し概算する能力 フェルミ推定力 を入社時試す会社もあります。ここでは、前提と思いこんでいる仮定を外して面積を求めてみましょう。辺の実比率で描くと平面図形としては無理を感じた一方、球面上なら全くありだと思いました。球面上の三角形は3つの角とも直角の三角形がありえます。2000年以上の常識をくつがえす非ユークリッド幾何学の入門として、大学入学後に目にし衝撃受けました。その驚きはいまだに覚えております。
最初に見たのはこんな感じの図でした。ご存知でなかった方衝撃を受けませんか?
このブログ中の3D図の描画は、GeoGebraというサイト上で作成しました。点の位置を変数を用いた数式で可変に指定できるとか、2点を結ぶ大円を画面のクリックだけで簡単に描くことも可能など機能が豊富で、とても便利でした。
球面三角法は前回のメネラウスの定理とは違い学習指導要領にはでていません。しかし球面上の三角形の基本的な性質は高校生の習う数学で大まかにカバーできるので、高校生向きの解説も存在します。今回私が使用する定理などを高校生向けに解説しているWebサイトを2サイト挙げます。ご覧下さい。
※球面上の三角形の面積と内角の和 | 高校数学の美しい物語
※球面三角形の定理 高校生に向けて 注:*1
上記をご覧頂くと、球面上の三角形の定義、球面直角三角形におけるピタゴラスの定理、球面上の余弦定理・正弦定理、三角形の面積の求め方などが判ります*2。
本稿着手を始めたのですが、「あれ、こんなこと実は既にやっている人いるんじゃないかなぁ? 検索条件変えたら出てくるかも。えっ!もしかしてブログネタなくなる?!」と気付きました。検索条件を変えてググったら、一人同じようなことを考えていた方が2019年4月頃にブログを書いていらっしゃるのを見つけました。。。。
この方は、対象の三角形をAB=BCの二等辺三角形と仮定して途中まで解析的に導き、その後解析解が不可能な個所から数値計算で求めていらっしゃいました。以下のサイトです。
※斜辺10cm、高さ6cmの「ありえない」直角三角形の面積を真面目に求める
(2021/08/17 修正)*3
私は、上記のサイト様とは別のやり方で計算をしてみました。
3.解くための下準備
私はもう少し発展させて、「どうせ数値計算的に解くなら、直角となる点Dの点Aからの距離をパラメータとして、点DがAC上を移動する時の面積がどうなるかを計算してみよう!」と思いました。
題意の三角形の面積計算に使用したのは、上記の資料から、基本的に以下の3つの定理・公式です。このブログ用にちょっと書き直しましたが、紙面の関係で上記資料をご覧下さい。
使用した定理・公式
本題の計算の前に、各辺の長さが1cmの正三角形が半径 r (cm)の球上にあるとして、その球の半径に対して正三角形の面積がどのように変化するかを計算してみました*4。その結果が下左図です。3辺の長さが固定されていても、面積は一定ではありませんでした。左図で横軸は球の半径 r 、縦軸は平面上の同一の正三角形の面積を1として相対値(=面積比)で表しています。(平面上の本来の面積は、√3/4 ≒ 0.433 cm^2 です。)右側に、球上の三角形のイメージをGeoGebraで描いてみました。
半径 r が小さいと球を覆うような三角形となる必要があり、内部が膨らむので面積が大きくなっています。半径 r が大きくなるほど球面は平面に近づいて、平面上の正三角形の面積に近づきます。但し、平面上の三角形の面積より小さくなることはありません(でした)。(球の半径が大きくなって平面に近づいても、少し膨らみがあるので平面の面積を下回ることは無いようです。)
このケースでは球の半径は0.4xxx... cm以下にはなりません。実はある簡単な式で表現できます。その値を三角形の形状、3つの角の大きさ含め、考えてみて下さい。この数値と形状に気づいた時、私は、アハ!体験 をしました。アハ!体験をして頂けるように角度の変化のグラフは抜いています。答えの判った方は、その答えを携えて、本ブログ下方のマネックス証券の新規あるいはキャリア採用に応募をお願い致します。入社後、答え合わせをしましょう。
話がそれてしまいました。辺の長さを固定した時、球の半径の変化による三角形の面積の変化イメージ掴めましたでしょうか?
4.こうやって解いてみました
上記の定理・公式を用いて、以下の4段階で、題意の三角形の面積を求めてみました。
自分で0から数値解を求めるプログラムを作るのも面倒なので、EXCELに組み込まれている三角関数、逆三角関数、ソルバーを使って計算しました。(マイクロソフトのプロダクトで解を求めるwww。)計算結果の抜粋が以下の表です。併せて辺AB、BCの長さや∠A、∠Cも表示しています。字が小さくてすみません。読めるでしょうか。
もう少し細かく刻んで計算しています。以下の表PCの方はクリックすると大きくなります。
横軸にADの長さをとり、縦軸にその時の球の半径rと三角形の面積S、辺AB、BCの長さをプロットしたのが以下のグラフとなります。先に解いていた方とは、同じ条件(中点 AD=5cm)での半径が一致している(r=9.09046cm)ことは確認できました。
Dの位置による球の半径 r の変化や三角形の形状(AB、BCの長さの変化)のイメージを描いてみました。こんな感じでDの位置により球の大きさや三角形の辺の長さが変化するイメージが掴めるでしょうか*5。
グラフで判るように、半径rはACの中点(AD=5cm)まで増加する一方、半径が大きくなるので題意を満たす三角形の面積は減少しています。半径と面積は、中点を境に線対称のグラフとなっています。辺AB、BCの長さも対称的に変化しています。
面積は常に30cm^2より大きい(端点だと27.3%増の38.197cm^2、中央だと6.16%増の31.849cm^2)ことも判りました。2021/08/17修正*6
ということで、
「STAP細胞マイクロソフトの三角形はあります。」(なんかフラグたててない?)
5.グローバルな発想をする人材を欲しがる入社試験なら
入社試験でこのような計算をやるの大変でしょうが、少なくとも一箇所は手計算で面積が判る形状があります。それは、点Cと点D(または点Aと点D)が一致する両端で、図を回転して見方を変えると判りやすくなります。こんなふうに。。。。
上記のブログの方とは異なり、私はこの形状を最初に思いつきました*7。中学で習う球の表面積の公式を覚えていれば、図内の値と簡単に計算ができます。上記の一覧表(AD=0)とも一致していて、安心しました。
また、この図を見てしまうと、BDは6cmどころか少なくとも20cm未満までは延ばせることまで判ってしまいます。理由が判った方は、その答えを携えて、本ブログ下方のマネックス証券の新規あるいはキャリア採用に。。。(しつこいですね。止めます。)
かくして、最初の解答
点Dを点Aから点Cに移動していくと、∠Aが直角から鋭角になり、球の半径は大きくなる。その結果、題意の三角形は平面に近づくので面積は30cm^2に少し近づいていく。点Dが辺ACの中点に到達するまではこの傾向が続き、辺ACの中点を超えると図形の対称性から線対称の形状で面積が増加する。断続的に面積が変わる要素が無いので、点Aから点Cに移動するまで面積は滑らかに変化する。
が、導かれました。
入社試験で、点Dが点Aと一致する図も描いて、こう解答したら。。。。。先ほどの球面上の三角形の3つの式を覚えていることは不要で、上手く思いつけば、5-10分程度で書けるかもしれません。*8
近年、グローバルな発想をする人材を求めていると言われます。グローバルは、辞書を参照すると「世界的規模の」という意味の他、「球状の」という意味もあります。
ということで、
「入社試験ではグローバルな発想があると良いかも......」
今回のブログ、このオチを言いたくて始めたのですが、上手くまとまったでしょうか。
ついでに再宣言、
「マイクロソフトの三角形は、グローバルに ありました。」
地球規模の地図を扱う会社の入社試験で、上記の解答をしてみるのはどうでしょう。認めてくれるかな?ダメかな。。。ガァファファ。
ちなみに、マネックスグループはグローバルな会社ですが、このような問題を入社試験に出してフルイにかけることは無いです(...と思います)。恐れず応募して下さいね。でも、マネックスグループの内のマネックス証券でも色々な意味で多彩(グローバル?)な才能の持ち主の会社です。国内株式だけではなく、米国株式、中国株式、国内外投信、債券、各種先物、貴金属、仮想通貨、買付余力、入出金更にはDB、基盤、PCアプリ、スマホアプリなどなど、それぞれ得意な人がいらっしゃいます。また、心の丸い(=グローバルな?) 親切で優しい方であふれているという意味でも。なので、このようなブログを書いても まぁるい心で包んで、大きな目で見てもらえています。このブログを見て会社に興味を持った方も、是非会社に応募してみて下さい。
6.まとめ
前回、今回と中高校生向きの図形問題から始まってエンジニアブログを書いてみました。いかがでしたでしょうか。
前編:メネラウスの定理使えばOKですか? では、できそうでいながら与えられた条件がおかしく解答のない問題と、それに対して問題として成立するための案を扱いました。この後編ではできないと思われながら記載されていない前提(既成概念)を取り払えばできる問題でした。図らずも、前々回の事業本部長のブログ「「無理に決まっている」を減らす」と内容がシンクロしていました。ノ^-^)ノ(よいしょ)
前編でも書きましたが、皆さんは会社で仕事をしていて、似たようなことありませんでしょうか。私の今までの中で、前提の変更や取消とかの調整で上手くビジネスになったこと・しくじって仕事につながらなかったこと、なかなか難しかったこと等々を、後編作成中も思いだしました。
今回あまり触れられませんでしたが、導出された結果や傾向を見てなんか変と思う感覚も、会社で作成するプログラムのテスト結果を見る時などに大事な感覚として役立つと思っています。これはまた別の機会に書けたらいいなぁと思っています。
この面倒な文章、最後まで、お付き合い頂いた方ありがとうございました。
また、お会い致しましょう。(「こんな変な人のいるところへの応募止めよう。」と思われませんように。。。。)
自分のエンジニアブログ、脚注だらけ。いけません。気をつけないと。。。。
*1:2021/08/17現在 引用したこのドキュメントのp.3 余弦定理の2番目のcos β = ..... の式に誤植があるのに気づきました。式を適用される場合はご注意下さい。
*2:他に楕円体や双曲面上で図形を考えるものなどがありますが、今回はふれません。
*3:以前は、上記サイト様の計算結果は、私の下記の計算結果と一致しておりませんでした。上記サイト管理者様にご連絡ができ、確認したところ値が一致致しました。従って、ここに書いた一部記述を削除致します。真摯なご対応数学好きな素晴らしい方と感じました。
*4:上記の定理の他にある 球面上の余弦定理 を用いると、辺の長さと球の半径から容易に∠A、∠B、∠Cが計算できます。
*5:私自身もGeoGebra上で正しい比率で描くことで気付きがありました。
*6:ここに記載した別サイト様との差分の記述も値が一致したため削除致しました。
*7:一応題意を満たしていますよね。ひねくれてますか?
*8:どう採点されるかは判りませんけど。