妖精現実



最新記事 すてきな証明・すてきな作図 tan ((α + β)/2) = ?(2021-10-09)

[ 新着記事 | 数学・プログラミング | 天文・暦
| シリア語・Unicode・詩 | ジョーク | 漫画・アニメ
| 字幕 | 哲学・ファンタジー | 全記事 | チラ裏 ]

チラ裏

2021-12-07 暗号通貨の悪い点 計算量的問題を理解すること

1) 全ての「規制」が悪いわけではない。詐欺が犯罪となるのは、当たり前。けれど、犯罪と無関係な日常の取引(誰がいつどこで何を買って、誰にいくら払ったか)が「一元管理・監視」されてしまうことの是非は、全然別の問題だろう。

2) 議論の便宜上、そのような全体主義は「良いことだ」と仮定する。その場合、一元管理される決済システムは、従来型の銀行やクレジット会社の類いで十分。一方通行関数を使った計算量的困難性は、資源の無駄でしかない。

ビットコインのような技術は、「中央による管理なく(管理者不在で)、信用できないP2Pベースの上で、取引の安全性を確保する」ということ(一見不可能にも思えること)を実現するために、計算論的な手法を使っている。そこが技術的革新だった。

「P2Pベースで取引の安全性を確保する」という新技術…。中央管理ベースで運用するなら、そのややこしい部分は必要ない。一元管理するなら、従来型の技術(SSL程度や簡単なハッシュ、パスワードベースの対称鍵認証)で足り、マイニングは電気代の無駄、「悪」だろう。さらなる利権を生じ、決済コストを増大させ、貧富の差を拡大させる。

3) 第2点の逆として、当初の理念通り、P2Pベースで分散的・脱中心的に運用するのなら、暗号通貨の複雑な実装は安全性のために必要なコストであり、そのコストは「中央で全てを監視するコスト」(中間搾取)よりはるかに小さいので、経済的にも理念的にも、正当化される。中抜きができるなら、メリットがある(もちろん固有の新しいデメリットもある)。中抜きができないでこの実装をやるのは、トータルで無駄が増え、中間搾取が増大する。それプラス「全てを監視され、プライバシーを侵害される気持ち悪さ」があるのだから、良いことがない。

4) 非対称暗号は、強力な匿名化技術の一部としても使える半面、強力な個人特定技術としても使える。公開鍵暗号に対応する秘密鍵は、事実上偽造不可能だが、そのことは、匿名性との関係ではプラスにもマイナスにも働き得る。例えば、誘拐事件の犯人が暗号通貨で身代金のやり取りをしたとしよう。素人考えでは「完全犯罪」と思える。ところが、数学的に見ると、その犯人の秘密鍵が押収された場合、もはや犯人は自分がやった行為を否定できなくなる。誰かの証言・指紋やDNA鑑定(それらも有用かもしれないが、結構曖昧でもある)と違い、大ざっぱに言って「数学的に証明できる証拠」となる。

犯罪と関係ない一般人の立場からは、ビットコイン的な実装では、個人的な全部の決済が(いま財布の中身がいくらなのかも)、否認不可能な形で、リアルタイムで、全世界に公開されている。控えめに言っても、プライバシー上の懸念がある。この場合の「個人」とは「そのアドレスの持ち主」であり、「概念上の同一人物」。「昨日ピザ屋さんに1200円払った人が、今日はおすし屋さんに1350円払った」ということが記録に残り、あとはその人が物理的に誰なのかが漏洩するのを待つだけ。例えば、買い物情報を自分でウェブ日記に書いたりすれば…

5) 以上を総合すると、暗号通貨が「安全で効率的・非搾取的な技術」として有効に働くためには、以下の条件が必要だと思われる。

  • 第一に、中央による過剰な管理をしないこと。最小限の規制(犯罪を許さないこと)は必要だが、全取引を監視するのは過剰。コインを買うのに身分証明書が必要というのは既にやり過ぎで、一般ユーザーによる日常の少額決済に関しては、普通のプリペイドカード程度の気軽さでちょうどいいだろう。「使うのではなく、儲けたい」という大口投資家や、日常的ではない高額の取引については、別の扱いをすればいい。いずれにしても、全てが公開されるビットコインは、構造的・根本的に良くない。
  • 第二に、ビットコインはコンセプト的な実験だったため、現実的な問題が突き詰めて考えられていなかった。理想を言えば、実際に決済をする一般ユーザー自身が、P2Pベースで分散マイニングをできるようにして、自分の fees を自分のCPUリソースで払えばいい(簡単に言えば手数料ゼロ)。すなわち、大手マイニング事業者による搾取をなくすべきだろう。そのためには、ハードウェアでがんがん計算できるような原始的な実装でなく、「誰でも計算できるが、どうやっても高速には計算できず、少しずつしか計算できない」という「奇妙なハッシュ関数」が望まれる。数学的な工夫によって、何とかできそうな気がする。
  • 第三に、個人間の取引は本来的にプライベートなもの。「非対称だから、公開鍵は全世界に公開する」というPGP時代の古い常識を改め、公開鍵もプロテクトする新技術が望まれる(決済に関係ない第三者からは見えなくする)。「あなたは、いついつに何を買いましたね」と第三者から尋ねられたとして、その買い物が完全に合法的だとしても、プライベートな質問に答えるかどうかは個人の自由だろう(答えたくないなら、答えなくてもいい)。現在、普通の買い物では、それが当たり前。ところが、クリプト決済で電子署名を付けると、数学的な否認不可能性が絡んでくるので、プライバシーに配慮した特別な実装上の工夫が望まれる。

仮想だろうが、リアルだろうが、詐欺や犯罪が許されるべきでないのは、言うまでもない。100万人に一人くらいは詐欺師がいるのかもしれないが、残りの99万9999人は「自分が被害者になりたくない」と、多少なりとも不安に思っている。一方、100万人に一人の悪人をけん制するために、善良な99万9999人のプライバシーを犠牲にすることは「コスパが悪い」。守りたい利益に比べて、支払う代償が大き過ぎる。敵は100万人に一人の「天才詐欺師」…。たとえ全取引を永久に記録したところで(それ自体コスト的に無駄だが)、詐欺師は何だかんだで隙を突き、人をだまし、書類を偽造し、悪事を働くに決まっている…。

他方において、そのような卑劣な犯罪者といえども、神ならぬ人間の目から見ると、最初は「被疑者」にすぎない。犯人かと思いきや、案外、真犯人の踏み台にされてしまった被害者かもしれない。そのようなこともあるので、全てを監視して機械的に運用することには別の不安がある。「それで1%でも詐欺を減らせるなら、それでいいじゃない」という考えもあるけど、全部監視したいなら、わざわざややこしいクリプト決済にせず、従来型のキャッシュレス決済でいいじゃない?というか、そっちの方が決済コストが抑えられるのでは…。

とはいえ、国によってはスーパーマーケットでも使えるくらい普及してしまったので、理論的な良し悪しはともかく、もう引き返せないのかもしれない。

⁂

2021-12-04 整域の素数は分解不可能 小難しい? 当たり前?

40. 普通の整数の世界において、素数(例えば 7 や 11)は、真の約数を持たない。つまり分解不可能。表面的には
  7 = 7 × 1 とか 7 = (−1) × (−7)
のように積の形で書けるけど、それは本当の意味での分解とはいえない。これが例えば 8 や 9 なら
  8 = 2 × 4 とか 9 = 3 × 3
のように分解できるので、素数は「特別な性質を持つ数」であることが感じられる。

「素数は分解できない」という主張は、感覚的には当たり前かもしれないが、大事の前の小事、ちゃんと証明しておこう。

足し算・引き算・掛け算が普通にできる世界 W を考える。ここで「普通にできる」という意味は…。結合法則のような常識的なことに加えて、次の条件を付けておく:
  (整域の条件) W の 2要素 a, b について、もし ab = 0 ならば、必ず a = 0 または b = 0

この(一見どうでもいいような)条件によって、結果的に「時計ワールド」は考察対象外となる。この条件が必要な理由は、下記の通り…。

W の要素 p が素数だったとしよう。「素数」と「分解不可能」は別々の概念なので、p = AB のような分解ができるかもしれないし、できないかもしれない。仮に p = AB という積の形で書けたとすると、素数の定義から、p は A を割り切るか、または B を割り切る。もし A を割り切るなら、それでいいとしよう。もし B を割り切るなら、A と B という変数名を入れ替えることにしよう。この約束の下で、p は必ず A を割り切る。

「割り切る」という言葉の定義から、世界 W には A = kp を満たす k が存在する。このとき:
  p = AB = (kp)B
両辺から kpB を引き算すると:
  p − kpB = 0
  交換法則・結合法則から p − p(kB) = 0
  分配法則から p(1 − kB) = 0

ここで整域の条件が利いてくる! p と (1 − kB) の積が 0 なのだから、p = 0 または (1 − kB) = 0 でなければならない。p は素数なので、定義上 0 ではない。必然的に:
  1 − kB = 0
両辺に kB を足して:
  1 = kB
従って(単数の定義によって)k と B は、どちらも単数。

…以上をまとめると、勝手に選んだ素数 p について、p = AB と分解できたとすると、必ず A と B の少なくとも一方は、単数になるしかない。これは「分解不可能」の定義そのものなので、素数は分解不可能。ただし「その世界が整域ならば」という条件が付く。「整域」という条件がないと、上記の証明は成り立たない。

⁂

面白いのは、逆が成り立たない点: 素数は分解不可能だけど、分解不可能だからといって素数とは限らない。「少し不思議 パラレルワールド」では、いくつか具体例を挙げたが、深くは検証しなかった。この方向にもう少し進んでみたい。

⁂

2021-12-02 決済取引量でPaypalを超えたBitcoinだが… 良いこと・悪いこと

2021年、オンライン決済の手段として、Bitcoin は従来型サービス Paypal を超えた。数年で Mastercard / Visa などのクレジットカードも超えて、世界の決済手段ナンバーワンになるのではという予想さえある(少なくとも取引金額の合計という意味では)。

確かに暗号通貨には、未来的な良い面もある。「自分が銀行」なので、自分で送金手数料を設定できる。送り手・受け手のどちらも、ばか高い手数料を払う必要がない。通貨単位が世界共通の BTC なので、外貨両替の手数料も取られない。一応、脱中心ネットワークなので、Paypal のような「一極独占支配による弊害」もない。要するに「中抜き」で、みんなハッピー(中間搾取で儲けてきた企業以外は)。

けれど、暗号通貨には悪い面も多い。世界共通といっても、国・地域による「温度差」が大きい。地域によっては、暗号通貨そのものが禁止・規制されている。昔の(古き良き時代の)ペイパル感覚で、ネット友達にちょっとコーヒー代程度を送っただけで、ひょっとして(相手の国によっては)法律問題があるのかもしれない。

しかも暗号通貨は、実用上の決済手段として使われるだけでない。投資家という人々が(実際にはコインを使わないのに)投機の対象としていて、そのせいで相場が極端に動く。同じコインなのに、短期間で250ユーロが200ユーロになったり、50ドル以下だったものが急に67ドルになったり、また55ドルになったり…といったことが日常茶飯事で、価値の安定性に乏しい。何もしないで勝手に価値が10倍になったりすれば、うれしいけど、その逆も起こり得るわけで…

追記 くしくも、そう書いた次の日に、ものすごい規模でそういうことが起きた。何週間も57K前後を行ったり来たりしていたBTC/USDが、55.5を破ったとたん、52くらいまで落ちた。ここまでは、まぁ時々ある展開だろうが、それで終わらず、土曜の未明、一瞬で52Kから42Kに1万ドルの急降下。他のコインも大荒れになったらしい。これがリアル通貨だったら、2021年12月4日に世界経済は崩壊してたかも…?

クレジットカードなら、少なくとも、自分の買い物は一般公開されないけど、Bitcoin 系だと「誰がいつ、どこにいくら送ったか」が永久保存され、ウェブ上で誰でも簡単に閲覧できるので、潜在的にプライバシー上の懸念もある。

では Monero ならいいのか…というと、原理的には Bitcoin より良いのだが、まだ一般ユーザーにはお勧めできない。Monero の公式GUIを使うと、送金のとき(その瞬間の Mining fees の相場を確認する目的だと思われるが)、生IPの接続をしようとする。つまりコイン自体の仕様は Bitcoin よりプライバシー志向でも、そのコインを使うためのウォレットの完成度に難がある。

BTCアドレスが1~しかなかった大昔から、技術的興味で少しだけ試してみたけれど…(当時はBTCの入手は簡単だった)。中央に管理されないというもともとの理念は民主的で素晴らしいとはいえ、現実の運用において、「邪悪」なKYCが強化され、その理念が崩れてしまった。KYCは確かに「誘拐の身代金の受け渡し」のような犯罪行為を防ぐ意味があるのかもしれない。でも、99.999%のユーザーは、単に「手数料が安く、不必要な個人情報を収拾されない手段があれば、決済に使いたい」というだけで、誘拐だのランサムウェアだのテロ資金(?)だのマネーロンダリングだのといった事は「漫画の中の話」、日常生活とは全く無関係。国内に過激なテロリストが一人でもいるのか、あるいは100人いるのか知らないけど、宝くじ的な低い確率の現象に対応するために、全員の取引が世界中に丸見えにされてしまうのは、やり過ぎだし、コスト的に無駄だと思われる。オンライン送金を規制しようがしまいが、いかれた犯罪を防げるわけでもないし…

「公共の福祉」という口実があるが…。毎日のように「暗号通貨を使ったテロ事件」が起きているのならまだしも、そんな事件は全然起きていないのだから、あまり説得力がない。…別にややこしい暗号通貨のランサムウェアを使わなくても、現在のでたらめなセキュリティー(OS自体、ブラウザ自体、巨大企業や政府機関が平然とプライバシー情報を収集している)においては、フィッシングやらオンライン詐欺やらアカウント乗っ取りはやりたい放題。実際、こっちの被害は日常的。むしろ「暗号通貨で身代金を払え!」などとやっても、被害者に「要求に応じる技術力がない」というオチだろう。

脱中心の「中抜き」で余計な手数料を省けるのは歓迎するし、アトミック・スワップのような「互いに相手を信用していない状態での安全な取引」は有用な技術だが、技術の運用に絡んでくる政治的な「規制」については、的外れなことが少なくない。プライベートな生活(私的な買い物の内容)をいちいち記録され、ひも付けられ、永久に保存され、ウェブで誰でも閲覧できるようにすることは、一種ディストピアとさえ思える。著作権関係のこともそうだが、政治家は「新しい技術」と相性が悪いようだ。今に始まったことではないが…。

今の世代の人はびっくりするだろうけど、昔のネスケ(ブラウザ)などは、国際版の暗号強度がわざと制限されていた。簡単に言うと…米国外の通信は、メールはもちろん、パスワードだろうがカード番号だろうが、米国内では解読・盗聴が自由自在な仕様だった。「RSAは軍事技術であり、兵器であり、輸出の規制を受ける」みたいなスタンスだった。数学的な命題・定理・アルゴリズムは単なる「事実」であり、人が独占・所有できるような性質のものではないはずなのだが、それが「わが国の兵器」として扱われていた(数学やFLOSSのコミュニティーから、批判があったことは言うまでもない)。ことほどさように、政治と技術は相性がいまいちなのである。

⁂

2021-12-01 とっても奇妙 時計ワールド 23 + 2 = 1

38. 前回「少し不思議 パラレルワールド」では 1 + 2¿ (1足す2ハテナ)のような変な数を考え、この種の数に潜む「悪」を垣間見た…「悪」というのは言葉のあやで、要するに「問題点」。

悪の組織「AB=42」団の例えからも分かるように、「素数の定義を厳重にしないと、悪と闘えない」。少々回りくどい定義だが、内容は別に難解でもなかった:

悪と闘う正義の定義 その世界において「どのような積 AB を考えても、もし AB が c で割り切れるなら、必ず A が c で割り切れるか、または B が c で割り切れる」という性質を持つ c を素数と呼ぶ。ただし 0 と単数は、素数と認めない。

「単数」の意味については後回しにして、ここで、奇妙な「時計ワールド」を観察してみたい。時計ワールドは24時間方式の「時」に対応し、例えば、23時の1時間後は0時:
  23 + 1 = 0
あるいは、0時を起点に、5時間後に1回目のメールチェックをして、そのまた5時間後に2回目のメールチェックをして…と反復する場合、3回目のメールチェックの時刻は
  5 × 3 = 15
だし、5回目のメールチェックの時刻は
  5 × 5 = 1
となる。普通の計算と全く同じだが、ただし、結果が0未満や24以上になったら、24を加減して、0以上23以下の範囲の整数になるように調整してる。似たことは、日常、多くの人が無意識にやってるだろう。

時計ワールドの奇妙さは、もっと根本的なところにある。悪と闘う正義の定義に照らすと、時計ワールドにおいて c = 2 は素数。なぜかというと、この世界の任意の積 AB について、それが c = 2 で割り切れること(つまり偶数だということ)は、A または B の少なくとも一方が偶数だというのと、同じ意味(だって、もし両方奇数だったら、積は偶数にならないもの)。よし、2 は厳密な定義に照らして、素数と認定された。めでたし、めでたし…

…ちょっと待った!

時計ワールドでは
  2 = 13 × 2  (★)
が成り立つ。つまり 2 は素数の認定を受けておきながら、13 と 2 の積に分解されてしまう。「2 は素数だけど、1 と自分自身以外の約数 13 を持つ」…え~、そんなの、あり~?

ていうか、(★)が成り立つということは、(★)に(★)自身を代入すると、
  2 = 13 × 2 = 13 × (13 × 2) = …
となって「因数分解が終わらない」。

「時計ワールド」は、見掛け以上に変てこ

「時計ワールド」の存在によって一般論を乱されないように、概念の隅々までよく考える必要がある。悪と闘う正義の定義には「単数は素数と認めない」というただし書きがある。「2は単数なので、実は素数じゃないんだよ」という可能性は、あるだろうか?

39. 以下、内容的には当たり前のようなことばかりだけど、形式的な確認をしてみる…

定義1 a, b をある世界 W に属する要素とする。a が b の約数であるということは、その世界に ac = b を満たす c が存在すること。

例1.1 普通の整数の世界で、a = −5 は b = 30 の約数。なぜなら −5c = 30 を満たす c が、同じ世界に存在する(c = −6)。

この状況を「a は b を割る」「a は b を割り切る」「b は a で割り切れる」「b は a の倍数」とも表現する。

例1.2 「時計ワールド」で、a = 13 は b = 2 の約数。なぜなら 13c = 2 を満たす c が、同じ世界に存在する(c = 2)。

定義2 ある世界 W において、1 の約数は、単数と呼ばれる。「a が単数だということ」は、「ac = 1 を満たす c が存在すること」と同じ意味。このような c は a の逆数 と呼ばれ、a−1 と表記される。時には 1/a とも表記される。

例2.1 普通の整数の世界で、a = −1 は b = 1 の約数だから、単数。b = 1 自身も 1 の約数だから、単数。

例2.2 ガウス整数の世界で、1, −1, i, −i の4個の数は単数。

例2.3 「時計ワールド」で、a = 5 は単数の一例。なぜなら 5c = 1 を満たす c が、同じ世界に存在する(c = 5)。一方、a = 2 は単数ではない。なぜなら 2c = 1 を満たす c が、同じ世界に存在しない(c は0~23の整数。一つずつ試すと、どれも 2c = 1 を満たさない)。

結局「2は単数なので、実は素数じゃないんだよ」という主張は、成り立たない

どんな数でも、1 などの単数では割り切れる(もちろん「単数で割った商」でも、割り切れる)。けれど、それ以外の数で割り切れるかどうかは、ケースバイケース。

定義3 ある世界 W において、0 でも単数でもない要素 q があったとする。このとき…
  「q = AB が成り立つときには、必ず A または B が単数になるしかない」
…という状況が起こり得る。この状況を「q は分解不可能だ」と言い表すことにする。

例3.1 普通の整数の世界で、q = −5 は分解不可能。q = 1 × (−5) つまり A = 1, B = −5 とか、q = (−1) × 5 つまり A = −1, B = 5 といった見掛け上の「分解」は考えられる。もちろん、その逆順、例えば q = (−5) × 1 つまり A = −5, B = 1 も成り立つ。けれど、どのパターンでも、A または B が単数になってしまう。…イメージ的には、この世界において −5 は「真の約数」を持たない。

例3.2 ガウス整数の世界では、q = −5 は分解不可能ではない(つまり分解可能)。例えば A = 2 + i, B = −2 + i とすると、q = AB が成り立つ。そして A も B も単数ではない。

定義4(再掲) ある世界 W において、0 でも単数でもない要素 q が、次の性質を持つ場合を考えよう。
  性質「任意の積 AB について、もし q が AB の約数なら、必ず q は A の約数であるか、または q は B の約数」
そのような q は素数と呼ばれる。

ちょっと抽象的で分かりにくいが、悪と闘う正義の定義と同内容。

参考 「分解不可能」という用語は、正式には既約(きやく)と表現される。「既に約されている=真の約数を持たない=これ以上は分解できない」という意味。

普通の整数の世界では、実は「分解不可能」と「素数」は同じ意味であり、「何でわざわざ話をややこしくするんだ」という感じもする。一方、前回観察したように、いろいろなパラレルワールドを考えた場合、「分解不可能」と「素数」が同じ意味になるとは限らない。このゴチャゴチャした状況をある程度スッキリさせるのが目標。特に、具体例として「ガウス整数の世界ではどうなのか」ということについて、白黒ハッキリさせたい。

新たなる伏兵は「時計ワールド」の存在。上記のようにかなりきっちり定義してみても、「時計ワールド」の奇妙さは、少しも説明がつかない。…実は、全ての議論の背景となる「ある世界」という部分に、問題が潜んでいる。「世界」とは何か。そこに属する要素を考えるのだから「集合」だろう。足し算やら掛け算やらを考えるのだから「代数構造を持つ集合」だろう。「時計ワールド」の代数構造は、「普通の整数の世界」のそれと、それほど変わらない。足し算・引き算・掛け算はちゃんと定義されるし、計算結果は少し変だけど、結合法則・分配法則・交換法則も成り立ちそうだ。もちろん基本となる要素 0 と 1 も含まれている。難しい言葉で言えば「可換環」(かかんかん)。実は、整数の仲間である「整域」(せいいき)も「可換環」の一種なのだが(ガウス整数やそのパラレルワールドは「整域」の例)、ただの「可換環」ではなく、それに加えて一つの条件をクリアしている。

その条件は、一見つまらないようなことで、形式的には、定義1~4と似た雰囲気を持つ:
  整域の条件「その世界において、積 AB が 0 に等しいときは、必ず A または B が 0 に等しい」

当たり前の主張のようにも思える。AB = 0 なら A = 0 または B = 0 なんて、常識じゃん? でも時計ワールドでは
  12 × 2 = 0
のような現象が起きて、上記の常識が破られている。このほころびは「少し不思議」といった、ほろ酔い気分では済まされず、手に負えない悪影響をもたらす。それこそが「時計ワールド」の謎の正体だったのだ!

こら「時計ワールド」、おまえは、そもそも整域じゃないのだから、この議論に加わる資格はないのだっ。かわいそうだが、帰ってもらおう!

話を混乱させる「時計ワールド」を追い出して、話を整域に限定すると…。「整域においては、素数は分解不可能。その逆は、必ずしも成り立たない。つまり、分解不可能だからといって、素数とは限らない」…いかにも数学っぽい命題が出てきた。このくらいなら、頑張れば証明できそう。ゴールが見えてきた。

「整域」という限定(積が0なら、どっちかが0)が、なぜ必要なのか。その理由も、証明に必要な仮定として、自然と明らかになるだろう。

⁂

チラ裏より

チラ裏」は、きちんとまとまった記事ではなく、断片的なメモです…


新着記事

すてきな証明・すてきな作図 tan ((α + β)/2) = ?(2021-10-09)
正攻法ではゴチャゴチャ長い計算になるが、この作図によると、見ただけで「そうなって当然!」と思える。
【注意】SSDは使ってないと壊れやすい 用がなくても週に1度は電源を(2021-06-06)
「SSDは、アクセスが速く、回転部分がないので壊れにくい。従来のハードディスクより優れた新技術…」という一般的イメージを持たれている。一方、SSDには、特有の弱点があることも知られている。
妖精の森 ♌ ペル方程式の夏(2020-12-27)
x2 − 79y2 = 5 を満たす整数 (xy) は存在しません。その証明は意外と難しく、しかも隠された深い意味を持っています。この種の問題を扱います。ハイライトは、2020年夏に発見されたばかりの「改良版コンラッドの不等式」。 〔最終更新=v4: 2021年9月5日〕
MKV埋め込み字幕用フォントのMIME問題 (2019-10-20)
字幕用フォントが、ロードされない事例が起きている。問題の背景・対策・対応状況。
ばびっと数え歌 でかい数編 (2019-09-01)
31桁の 1,000,000,000,000,000,000,000,000,000,000(=100穣)までの数え歌。日本語・英語・SI接頭辞・2進数付き。

数学・プログラミング

まあるい緑の単位円 (三角関数覚え歌)(2017-12-24)
まあるい緑の単位円/半径 斜辺の三角形/「高さ」の「さ」の字はサインの「サ」/サインは 対辺 高さ
アルファとベータが角引いた (加法定理・図解の歌)(2017-12-24)
「ごんべさんの赤ちゃん」のメロディーで。「アルファさんとベータさんが麦畑」でもOK。 〔最終更新: 2018年1月28日〕
cos 36° 魔法のにおい(2018-01-14)
五角形を使った解法も優雅だが、代数的に… 〔最終更新: 2019年9月30日〕
cos π/7 正七角形の七不思議(2018-01-28)
日頃めったに見掛けない正七角形。その作図不可能性は、有名な「角の3等分問題」に帰着する。コンパス・定規・「角度3等分」器があれば、360° を7等分できる! 〔最終更新: 2018年12月30日〕
覚えやすさを重視した3次方程式の解法(2018-02-11)
分数なくして、すっきり。語呂合わせ付き。 〔v8: 2019年3月17日〕
3次方程式の奥(2018-03-04)
3次方程式は奥が深い。「判別式の図形的解釈」は1990年代の新発見だという。 〔v14: 2021年1月12日〕
3次方程式の判別式(2018-03-18)
いろいろな判別式。Qiaochu Yuan による恐ろしくエレガントな解法。 〔最終更新: 2018年12月30日〕
3次方程式と双曲線関数 ☆ 複素関数いじっちゃお(2019-02-17)
定義から始めてのんびり進むので、双曲線関数の予備知識は不要。3次方程式も別記事で初歩から解説。三角・指数関数なら知ってるという探検気分のあなたへ。複素関数プチ体験。 〔v7: 2021年2月19日〕
cos i = ?
曇りなきオイラーの公式 微分を使わない直接証明(2019-02-17)
exp ix = cos xi sin x のこんな証明。目からうろこが落ちまくる! 〔v11: 2020年12月23日〕
−1 の 3/2 乗? オイラーの公式(その2)(2019-03-03)
(−1)3/2 って ((−1)3)1/2 = (−1)1/2 = i なのか、((−1)1/2)3 = i3 = −i なのか、それとも…? exp zez が同じという根拠は? 〔最終更新=v7: 2021年1月24日〕
(za)b = zab の成立条件(2019-06-09)
(za)b = zab は一般には不成立。ではどういう条件で、この等式が成り立つか。(za)bzab は、どういう関係にあるのか。「巻き戻しの数」(unwinding number)は、この種のモヤモヤをすっきりさせるための便利なコンセプト。 〔最終更新=v5: 2021年1月24日〕
フェルマーのクリスマス定理で遊ばせて!(2018-12-23)
1640年のクリスマスの日、フェルマーはメルセンヌに宛てた手紙の中で、こう言った。「4の倍数より1大きい全ての素数は、ただ一通りの方法で、2個の平方数の和となります」 〔v5: 2020年12月27日〕
「西暦・平成パズル」を解くアルゴリズム(2016-03-27)
整数28と四則演算で2016を作るには、最小でも9個の28が必要。
2016 = (28+28+28)×[28−(28+28+28+28)/28]
一見全数検索は大変そうだが、50行程度の平易なスクリプトで高速に解決される。ES6 の Map の長所、splice より速い要素挿入法も紹介。 〔最終更新: 2016年4月10日〕
[JS] 100行のプチ任意精度ライブラリ(2016-05-08)
JavaScript 用に最小構成的な「任意精度整数演算」ライブラリを作ってみた。 〔最終更新: 2019年6月23日〕
[JS] メルセンヌ数の分類と分解(2016-06-05)
数千万桁のメルセンヌ素数が脚光を浴びるが、その裏では、たった数百桁のメルセンヌ合成数が分解できない。 〔v6: 2019年5月5日〕
楕円曲線で因数分解(2016-08-14)
楕円曲線を使って、巨大整数に含まれる数十桁の因数を検出できる。計算は、曲線上の勝手な点を選んで整数倍するだけ。ステージ1、モンゴメリー形式、標準版ステージ2、素数ペアリングについて整理した。 〔最終更新: 2021年11月14日〕
楕円曲線の位数: 点の擬位数に基づく計算法(2016-10-02)
元の位数を考えると群の位数計算が高速化されるが、それには高速な素因数分解が必要。「擬位数」はどの教科書にも載ってないような概念だが、ハンガリー人数学者 Babai László によって研究された。 〔最終更新: 2016年10月23日〕
アルカンの異性体の数の公式・第1回 小さなパズルと不思議な解(2015-09-20)
異性体の数は難しいが、炭素数12くらいまでなら素朴な計算ができる。中学数学くらいの予備知識で気軽に取り組めて、めちゃくちゃ奥が深い。(全9回予定だが第6回の途中で止まっている。そのうち気が向いたら完結させたい)
「マイナス×マイナス=プラス」は証明できるか?(2014-08-03)
数学的に正しい質問は、「なぜマイナス×マイナス=プラスか?」ではなく「いつマイナス×マイナス=プラスか?」 〔最終更新: 2019年9月29日〕
平方剰余の相互法則(2003-03-26)
「バニラ素数とチョコレート素数」という例えを用いた「お菓子な」説明。
楕円曲線暗号(2003-11-28)
最初歩から具体例で。書き手も手探りというライブ感あふれる記事6本。手探りだからエレガントではないが、JavaScriptでは世界初の実装? 実装はダサいが、内容(ロジック)は正しい。
触って分かる公開鍵暗号RSA(2004-02-04)
理論的説明でなく、実地に体験。JavaScriptで実現したので結構注目され、大学の授業などの参考資料としても使われたらしい。ダサい実装だが、ちゃんと動作する。
デスノートをさがして: 論理パズル(2006-04-10)
真神・偽神・乱神。間違いだらけの乱神探し。

天文・暦

13日は金曜になりやすく31日は水曜になりにくい(2017-09-03)
曜日は「日月火…」の繰り返しだから各曜日は均等のようだが、「毎月1日の曜日」「13日の曜日」のように「特定の日にちが何曜になるか」を考えると、曜日分布に偏りが… 〔v6: 2019年4月21日〕
「春夏秋冬」は「夏秋冬春」より長い(2017-11-26)
「春分→夏→秋→冬→春分」と「夏至→秋→冬→春→夏至」は、どっちも春・夏・秋・冬1回ずつなのに、前者の方が長い。素朴な図解(公転最速理論?)、簡易計算、そして精密な解析解。春分間隔から春分年へ… 〔最終更新: 2018年12月30日〕
公式不要の明快な曜日計算(2016-10-23)
公式や表を使わず、何も覚えていない状態で、手軽に任意の年月日の曜日を暗算。
ぼくの名前は冥王星(2013-09-30)
いいもん、いいもん! これからは小惑星になって、ジュノーちゃんやベスタちゃんと遊ぶから! …と思っていたら、「おまえは小惑星でもないんだよ」と言われてしまった。そんなー。ぼくのアイデンティティーは粉々さ。 〔v6: 2019年3月24日〕
さよなら第9惑星・冥王星 カイパーベルト終着駅(2019-03-24)
海王星~海王星~。目蒲めかま線はお乗り換えです。
第9惑星・追悼演説(2019-03-24)
我々は一つの惑星を失った。しかし、これは「終わり」を意味するのか? 否、始まりなのだ!
ケプラー方程式(微積・三角公式を使わないアプローチ)(2018-01-14)
微積分を使わず、算数的にケプラー方程式を導く。倍角・半角などの公式を使わずに、離角の関係を導く。特別な予備知識は不要。 〔最終更新: 2018年2月4日〕
ケプラー方程式・2 エロい感じの言葉(2018-01-28)
「ケプラー方程式(微積・三角公式を使わないアプローチ)」の別解・発展。 〔最終更新: 2018年2月4日〕

シリア語・Unicode・詩

シリア語: カラバシ注解(2013-12-01)
カラバシ『読み方のレッスン』はシリア語文語・西方言の教科書。ウェブ上で公開されている。その魅力を紹介し、第1巻全21課に注釈を付けた。 〔最終更新: 2016年5月8日〕
ばびっと数え歌 シリア語編(2014-02-09)
「シリア語の数詞の1~10」を覚えるための数え歌。「ごんべさんの赤ちゃん」のメロディーでも歌えます。 〔最終更新: 2017年12月24日〕
ペシタ福音書における「女性聖霊・男性聖霊」の混在について(2014-12-14)
キリスト教の「聖霊」はイエス自身の言語では女性だったが、後に男性イメージに変化した。この変化は興味深いが、そこに注目し過ぎると中間期の状況が正しく理解できない。3種類のシリア語聖書とギリシャ語聖書を比較し「叙述トリック」を検証。 〔最終更新: 2018年11月4日〕
少年と雲 (シリア語の詩)(2017-12-24)
雲さん、どこから来たんだい?/背中に何をしょってるの?/そんなに顔を曇らせて/空から何を見ているの?
黙示録の奇妙な誤訳: 楽しいシリア語の世界(2018-04-15)
「南の子午線を飛ぶハゲタカ」が、なぜか「尾が血まみれのハゲタカ」に…。誤訳の裏にドラマあり。 〔最終更新: 2018年5月6日〕
ターナ文字入門: 表記と発音(2013-01-16)
以前公開していた記事を全面改訂。ターナ文字は、インドの南、南北1000キロにわたって散らばる島々で使われる文字。 〔最終更新: 2014年5月4日〕
HTML5 の bdi 要素と Unicode 6.3 の新しい双方向アルゴリズム(2012-12-04)
ブログのコメント欄で起きる身近な例を出発点に、双方向性が絡む問題と解決法を探る。HTML の dir 属性は落とし穴が多い。HTML5 の <bdi> は役立つ。近い将来、「ユーザー入力欄などの語句は、このタグで隔離」が常識になるかも。 〔最終更新: 2014年4月27日〕
空は青くて真白くて(2014-11-23)
「わたしの心は躍り上がる」(ワーズワース)/「空は青くて白くて」(フィンランド民謡)

ジョーク

未来の水 フリーズドライ ☆ 粉末乾燥水(2012-04-01)
宇宙旅行のお供に/非常時の備えに… 場所を取らない超軽量・携帯用のインスタントお水です。
イヤ~な「金縛り」を強制解除 ☆ 全自動かなほど機(2019-04-01)
睡眠中の金縛り。嫌なものですね…。そこでご紹介するのが、この「かなほど機」。金縛りになったとき、ワサビの匂いで身体を自動リセットする未来の製品です。
さよなら第9惑星・冥王星 カイパーベルト終着駅(2019-03-24)
海王星~海王星~。目蒲めかま線はお乗り換えです。
漢詩と唐代キリスト教 「日本の影響」説も(2019-04-01)
客舍かくしゃ青青せいせい 柳色りゅうしょく新たなり」仏教徒でもあった唐の大詩人・王維(おうい)。彼がキリスト教とも関わっていたことは、ほとんど知られていない。(エイプリルフールのジョーク記事)
円周率は12個の2 スパコンで判明/ほか 3題(2016-04-01)
三原則ロボットおちょくられて仕返し?/円周率は12個の2 スパコンで判明/人間を模倣する学習AI 学習し過ぎ?
ISOとJISによる「ハッカー」の正式な定義(2005-02-19)
JIS規格では「ハッカー」という言葉が定義されてる。
ヒマワリをふてくされさせる実験(2005-02-20)
お花はとってもデリケート。
「確信犯」たちの「開発動機」(2005-09-23)
ストラビンスキー「ファゴット奏者を苦しめてやろうとしてやった。苦しそうな音なら何でも良かった」
「水からの伝言」の世界(2006-08-21)
水さん、ちょっと漏れ過ぎです。
脳内ディベート大会(2009-07-31)
応援団を応援することは正しいか。タンポポの綿毛を吹いて飛ばしていいか。

漫画・アニメ

大島弓子の漫画 (チラ裏3題)(2019-04-28)
バナブレは「漫画で何ができるのか?」という世界の枠組みそのものを変えた。綿国(わたくに)は、漫画・アニメ史上「猫耳の発明」という意味も持つ。もともとは「自分は半分人間だと思っている子猫」の主観的世界を表す絶妙な表現。
ラピュタ滅びの呪文は波動砲かフェーザー砲か?(2006-01-28)
ムスカは、ジブリ作品では珍しい悪役と評されるが、ラピュタ文字の解読は、現実世界ならノーベル賞もの。
勇者よ、侵略者から東京を守れ(2006-01-22)
「ブジュンブラにキメラアニマが現れたわ!」 お気に入りのネタだが、アニオタ以外の一般人には意味不明かも。
チラ裏
アニメ関係の小ネタも多い。イタリアのアニメ事情もあるよ。

字幕

MKV埋め込み字幕用フォントのMIME問題 (2019-10-20)
字幕用フォントが、ロードされない事例が起きている。問題の背景・対策・対応状況。
SSA入門 中級編(2004-08-27)
二つの入門編(音声タイミング・基本スタイリング)に続くフレーム・タイミング関連の内容。古い記事で使用ツールは時代遅れだが、考え方は依然参考になるかも。
[SSA/ASS] 高品質のフェイドイン・フェイドアウト(2005-12-21)
単純な fad() は濁りやすい。各種の代替手段を紹介。
ASS: 縁ワイプと縦カラオケ(2006–2009)
字幕と音声のずらし方/縁ワイプ/字幕のリップシンク/縦カラオケ/他。古い記事だが参考までに。

哲学・ファンタジー

60%他の生物【人体の細胞】100%星くず(2019-02-24)
ヒトの体は約25兆の細胞から成るが、体には65兆の細胞が…。本人以外の40兆は何なんでしょ? 〔v8: 2019年4月18日〕
至るところ青山 (チラ裏3題)(2019-04-14)
3丁目が見えない理由(先行きの不安)は、1丁目にいるからで、2丁目まで行けば自然と選択肢は狭まる。
不死でないから星は輝く (チラ裏3題)(2019-04-14)
「核融合には燃料が必要。燃料を使い果たせば反応は止まる」という当たり前のことを言い換えると「いつかは終わるから今輝いている」。
猫のしっぽを思い切り引っ張ることは十戒のどれに違反するか?(2014-11-23)
南泉は言った。「この猫の命が惜しければ、禅を一言で語れ。さもないと猫を斬り殺す」 〔最終更新: 2019年4月24日〕
神から見た「主の祈り」(2004-10-04)
「天にましますわれらの父よ」 神「はい?」 — へリング牧師は、ジョークのような設定で深い問題を提示した。 〔最終更新: 2013年10月2日〕
「無断コピー以外」を禁止するライセンス(2004-10-04)
人間の心理的困難があまりに大きいようなので、 それに対抗するために、次のような新しいライセンス形態を思いつくほどだ。いわく…
妖精物語 3題(2005-07-02)
王様の赤いばらと白いばら。
「反辞書」の著者フレッド・レスラー(2009-02-03)
Urban Dictionary というサイトをご存じでしょうか。 ウィキペディアみたいな、でもそれよりずっと砕けた新語辞典…

お知らせ

<メールアドレス>