古代の香り高い作図問題

立方体倍積問題

立方体倍積問題とは、「任意の立方体の体積の 2 倍に等しい体積を持つ立方体を作ること」です。直線を描く定木(長さは測ることができない)と円を描くコンパスとを有限回使って作図するとしたときのギリシア三大作図問題のひとつです。結局のところこれらは不可能だとわかったのは近世のことです。立方体倍積問題のことの発端についてはデロス問題が非常に参考になります。プラトン大活躍です。

デロス問題のページには、古代ギリシアアルキュタスは半円柱を使ってこれを解き、エウドクソスは、いわゆる曲線なるものを使ってこれを解いたといわれているとありました。定木とコンパス以外の武器を使ったようですがちょっと内容がわかりません。不思議です。

直線を描く定木と円を描くコンパスとを有限回使って作図することは、2次方程式や1次方程式を何回か(有限回)重ねて解くようなものですから、立方体倍積問題のような3次方程式、すなわち " x^3 = 2 " は解けそうにないと直感的にはわかります。厳密な証明は難しいようですけれど、高校生の知識内できちんと書いてあるPDF、作図不可能問題と高校数学もあります。

少々検索してみたところ、コンパスと定木以外にどのような手があったのかヒントがありましたのでメモをしておきます。

まず、数学的に信頼のおけそうな角の三等分に関するページより。

実は角の三等分及び立方体倍積は, 直角定木とコンパスがあれば解ける (L. Bieberbach)。又円ではない二次曲線 (つまり楕円か双曲線) が描かれているときには定木とコンパスだけでこの二つの問題は解ける (H. J. S. Smith, H. Kortum) ということが知られている。

アルキュタスは円柱の断面、すなわち楕円、エウドクソスは、双曲線で解いたかもしれませんね。古代人の工夫には驚かされます。

驚くべきことに、K's 折り紙 : 折り紙による作図によれば折り紙で作図できるとのこと。まったくもって信じ難いことです。引用しておきます。

三次方程式

定規とコンパスを使った作図は、本質的には二次方程式を解くことと同じであることが知られています。一方、折り紙を使った作図は、本質的には三次方程式を解くことと同じです。ですから、定規とコンパスで作図できる点と直線は全て、折り紙でも作図できます。また、定規とコンパスの作図では解くことのできない、立方体倍積問題や角の三等分問題などが、折り紙の作図で解けます。

x3+ax2+bx+c=0 という三次方程式の解は、折り紙の作図を使って、次のように求められます。xy平面上で、(a,1) という座標にある点を P1 として、(c,b) という座標にある点を P2 とします。また、y+1=0 という方程式であらわされる直線を L1 として、x+c=0 という方程式であらわされる直線を L2 とします。ここで、P1 を L1 の上に乗せ、P2 を L2 の上に乗せる直線を折ると、折り目の傾きが x3+ax2+bx+c=0 の解になります。

…誰かタイムマシンに乗ってデロス問題に苦しんでいるプラトンに教えてやってください。人類の歴史が変わりますよ。

定木を捨ててみる。コンパスだけで勝負

紙があります。充分な広さがあるものとしましょう。紙の上にあらかじめ何個か点が あります。さて、手元にはコンパスがあります。これまた充分に使い勝手が良く、円や 円弧を自在に書けます。半径に制限はありません。残念ながら定規がありませんので 直線を引くことは出来ません。また、物差し等の長さの基準もありません。

最初に与えられた点をベースにコンパスを上手に使って次々と新たな点を定めて 行くことは可能でしょう。なにか面白いことが出てくるといいなぁ、というわけです。 では以下のようにコンパスの使い方についてのルールを決めておくことにしましょう。

ルール:コンパスで点を作図するとは

ここでは以下のルールで点を次々に得られるときに、 コンパスで点を作図すると言うことにします。 定規で直線を引いたり、ものさしで長さを計ったりはできないルールです。 コンパスだけだよ〜んルールです。

  1. ルール1:得られる点について
    はじめに2個以上の点を得ているものとします。 以下のルール2〜ルール5に従ってコンパスを使い、 新しい点を得ることができます。
  2. ルール2:直線をひけません。
    定規で直線を引いたり、直線と円弧との交点を求めたりはできません。
  3. ルール3:コンパスの半径について
    コンパスの半径としては、すでに得てある2点間の距離だけが利用できます。 コンパスをある2点に当て,それをいったん平面から持ち上げて他のところで 使うということは許されます。
    (つまり、定規や物差しやヤマカン、その他の距離の基準は使えません。)
  4. ルール4:コンパスの針の位置について
    すでに得てある点を中心として,円(円弧)を描くことができます。 但し、半径はルール3に従います。
    (つまり、勝手なところを中心とした円や円弧は描けません)
  5. ルール5:新たに得られる点について
    ルール3とルール4に従いながら点Aを中心とした円弧と 点Bを中心とした円弧とを描いたときに2つの円弧の交点で定められる、 新たな点Cを得ることができます。但し、AC + BC > AB でなければなりません。
    (つまり、三角形ABC が作れれば点Cを得られます[図1]。)
    (AC + BC = AB の場合円弧が接していますが、このルールでは交点はないものとします。ABCは三角形にはなりません。[図2])
    図1:円Aの半径と円Bの半径を加えるとAB間の距離を越えている時に2つの円弧が交差している 点Cが定まる図2:円Aの半径を円Bの半径を加えるとAB間の距離と等しいので2つの円弧が接している 点Cを得ることは出来ない

簡単な?例題

距離の単位は、そうですね、何でも良いのですがとりあえずインチとしておきましょう。 あなたに与えられた紙には2個の点 A,B が2インチ離れた位置に書いてありました。

さっきのコンパスのルールで、A,B の丁度真ん中、(中点という用語があります)に 点Cを作図して下さい。もちろん、AC間は距離が1、CB間も距離が1、点A,B,Cは 一直線上に並びます。

昨夜、なかなか寝疲れず、床の中で上の問題を思い出し、具体的にどうするのだったかを 思い出すのに大変時間がかかりました。かえって頭が冴えてしまい、今日は睡眠不足でした。

おそるべしコンパス

定木とコンパスとで作図出来る「点」は、全て例外なくコンパスだけで作図出来ることがわかっているそうです。まぁ上はひとつの例題だったのですね。コンパスおそるべし。

Re:JP4110000 - IE の中止ボタンがしいたけに見えて困る

「mixi がアザラシに見える脆弱性」から引用させて頂きます。

りゅうさん (rryu.sakura.ne.jp) や近藤さん (www.alib.jp) と「IE の中止ボタンがしいたけに見えて困る (w3j.org) 」のは脆弱性かどうかについて議論していたのですが (ぉぃぉぃ)、

脆弱性かどうかについては論議がありましょうけれども、むしろお話しとしては、JP4110000 - IE の中止ボタンがしいたけに見えて困るの中で、以下のように記述してある部分にちょっと疑問があるのです。

問題を緩和する要素

Microsoft Windows XP Home Edition および Windows XP Professional 上の IE では、中止ボタンのデザインが変更されているため、この脆弱性の影響を受けることはありません。

もうひとつ。

解決方法

この問題を解決するには、IE の [表示]-[ツールバー]-[ユーザー設定] で、中止ボタンを削除してください。

使用中のオペレーティング システムが Microsoft Windows 95, 98, Me, NT 4.0 Workstation, 2000 Professional の場合は、Windows XP Home Edition および XP Professional Edition へアップグレードすることでも解決できます。

ええと、手元のWindows XP Professional Edition with Service Pack 2 フルパッチで確認をしてみたのですけれど、上記の問題を緩和する要素や解決方法では不十分です。2001年頃から知られているexploitでそのことの確認が取れます。以下にvbsファイルのソースを。

REM ------------------------------ここから 
MSGBOX "  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄" _ 
&VBCRLF&"< しいたけですが、何か?" _ 
&VBCRLF&"  \___________" _ 
,16,"しいたけ" 
REM ------------------------------ここまで 

上記をshiitake.vbsというファイル名でローカルに保存して実行すると、脆弱性はいまだに残っていることがわかります。ゆゆしき事態だと思われます。一刻も早く修正プログラムが必要だと思います。

4/25追記:以下のような、より明快なexploitがあることを葉っぱ日記4/23で知りました。

vbscript:msgbox(unescape("%u3057%u3044%u305F%u3051%3F"),20)

便利なブックマークレットとしてIEユーザに使用するように誘導する狙いでしょうか。確かにvbsのダウンロードよりも手間がかかりません。

上のサンプルコードは、某所からダウンロードした秘蔵の病葉(わくらば)ツールで生成してみました。