アナグラム作成
ひらがな・カタカナ・漢字・アルファベット、どれでも動きます。 空白と改行は取りのぞいて数えます。
- 使う字空白をのぞいた数
- 3文字(2種類)/ ば な
- 同じ字ここが多いほど通り数は減る
- な が 2個
- 数え方
- 3! ÷ 2! = 6 ÷ 2 = 3
- 1秒に100個ずつ読むと1年は365日として
- 1秒とかかりません
作る前にお知らせします。この文字だと3通りあります。全部出しても多くないので、まとめて出します。
よくある質問
アナグラムとは何ですか?
言葉の字を並べ替えて、別の並びにしたものです。このページは入れた文字の並べ替えを全部出し、押す前に何通りになるかも数えます。同じ字があると、その2つを入れかえたものは同じ言葉になるので、通り数は減ります。「ばなな」は6通りではなく3通りです。
並べられるのが10文字までなのはなぜですか?
10文字だと3,628,800通りあり、11文字にすると39,916,800通りに増えて画面が動かなくなるためです。1文字増えるごとに、通り数はその文字数の倍になります。数を数えるだけなら50文字まで受け付けます。並べずに割り算1回で出せるので、こちらは固まりません。
「ばなな」は6通りではないのですか?
3通りです。3文字なので3×2×1で6通りに見えますが、「な」が2つあるので、その2つを入れかえたものは同じ言葉になります。同じ言葉を2回ずつ数えていることになるので、6を2(2の階乗)で割って3通りです。ばなな・なばな・ななば、の3つだけです。
通り数はどうやって計算していますか?
文字数の階乗を、同じ字の個数の階乗で割ります。11文字のMISSISSIPPIなら、Sが4個・Iが4個・Pが2個なので、11の階乗39,916,800を4!×4!×2!=1,152で割って34,650通りです。この式はアメリカ国立標準技術研究所の数学資料DLMFの26.4.2に載っているものと同じです。
ひらがなやカタカナでも使えますか?
使えます。濁点のついた「ば」や半濁点の「ぱ」も1文字として数えます。いくつかの符号の組み合わせでできている絵文字も、割らずに1文字として扱います。空白と改行は取りのぞいてから数えます。並びは字コード順なので、かなならほぼ五十音順に出ます。
同じ並べ替えが2回出てくることはありますか?
ありません。同じ字を同じ位置で2回選ばないつくりにしてあるので、はじめから重複が生まれません。全部作ってから重なりを消しているわけではないので、同じ字が多いときに捨てるためだけの計算をしません。
アナグラムは何のために使われてきたのですか?
17世紀の科学者が「自分が先に見つけた」と示すために使いました。ロバート・フックは1678年の本で、ばねの決まりをceiiinosssttuuという14字にして印刷したことを明かしています。答えはUt tensio sic vis、いまのフックの法則です。ガリレオも1610年、土星について見たことを37字のアナグラムにして送っています。
入れた文字の並べ替えを全部出します。押す前に何通りになるかを先に出します。 そして同じ字があると、数はぐっと減ります ── 「ばなな」は6通りではなく3通りです。
「ばなな」が3通りなのは、2つの「な」を入れかえても同じ言葉だからです
まず、全部ちがう字だったらどうなるかを考えます。3文字なら、1番目に置ける字が 3通り、残った2つのうち2番目が2通り、最後は1通りしかありません。かけ算して3 × 2 × 1 = 6通り。この「3 × 2 × 1」を3!(3の階乗(かいじょう))と書きます。
ところが「ばなな」には「な」が2つあります。この2つの「な」を入れかえても、 できあがる言葉は「ばなな」のままです。 つまり同じ言葉を2回ずつ数えてしまっていたわけです。 2つの「な」の並べ方は2 × 1 = 2! = 2通りなので、6 を 2 で割って3通り。ならべると ばなな・なばな・ななば の3つだけです。
まとめると、こうなります。通り数 = 文字数の階乗 ÷(同じ字の個数の階乗を、ぜんぶかけたもの)。1個しかない字は 1! = 1 なので、かけても割っても何も変わりません。だから式には、2個以上ある字だけを書きます。
英語でよく例に出るのが MISSISSIPPI(ミシシッピ)です。11文字で、 S が4個・I が4個・P が2個。11! = 39,916,800 を 4! × 4! × 2! = 1,152 で割って、34,650通りになります。1,152分の1まで減りました。上の「数だけ数える」に貼れば、同じ数が出ます。
この式には名前があります。多項係数といって、アメリカの国立標準技術研究所(NIST)が公開している数学の資料 DLMF の 26.4.2(新しいタブで開きます)に、 (n1+n2+⋯+nk)! ÷ (n1! n2! ⋯ nk!) という形で載っています。
ただし DLMF がこの式に付けている説明は、「ちがうもの n 個を、名前のついた k 個の箱に、j 番目の箱に nj 個ずつ入れる入れ方の数」です。 並べ替えの話とつなぐには、ひとつ置きかえが要ります ──「もの」を置き場所、「箱」を字だと思ってください。「ばなな」なら、 置き場所は1番目・2番目・3番目の3つ、箱は「ば」と「な」の2つ。 「な」の箱に置き場所を2つ、「ば」の箱に1つ入れる。その入れ方が、そのまま並べ方になります。
1文字増えるたびに、通り数はその文字数の倍になります
全部ちがう字のときの通り数を、1文字から12文字まで並べます。 9文字が362,880通り、10文字はその10倍の3,628,800通り、11文字はさらに11倍の39,916,800通り。 かけ算が1つずつ増えるので、あっという間に手に負えなくなります。
| 文字数 | 通り数 | 1秒に100個読むと |
|---|---|---|
| 1文字 | 1 | 1秒とかかりません |
| 2文字 | 2 | 1秒とかかりません |
| 3文字 | 6 | 1秒とかかりません |
| 4文字 | 24 | 1秒とかかりません |
| 5文字 | 120 | 1秒 |
| 6文字 | 720 | 7秒 |
| 7文字 | 5,040 | 50秒 |
| 8文字 | 40,320 | 6分43秒 |
| 9文字 | 362,880 | 1時間28秒 |
| 10文字このページで並べられるのはここまで | 3,628,800 | 10時間4分48秒 |
| 11文字 | 39,916,800 | 4日14時間 |
| 12文字 | 479,001,600 | 55日10時間 |
10文字で3,628,800通り。1秒に100個ずつ読み続けても、全部に目を通すのに10時間4分48秒かかります。 11文字にすると39,916,800通り、4日14時間です。だから、このページで並べられるのは10文字までにしています。
ただし数を数えるだけなら50文字まで受け付けます。 並べないので固まらないからです。ここが大事なところで、通り数を出すのに、並べ替えを全部作る必要はありません。 かけ算と割り算を1回ずつするだけです。50文字で止めているのは、50! が65桁になって、数として読めなくなるためです。
上の表は全部ちがう字のときの数です。同じ字があれば、ここから減ります。
アナグラムは、昔の科学者が「先に見つけた」と言うための道具でした
いまなら、新しい発見をしたら論文を出せば日付が残ります。300年前には、その仕組みがありませんでした。先に見つけていても、あとから別の人が発表してしまうと、 自分のほうが早かったと示す方法がなかったのです。
そこで使われたのがアナグラムでした。 答えの文の字を並べ替えて、 意味の分からない字の列にして印刷しておく。日付だけが残って、中身は分かりません。あとで「あれはこういう意味だった」と明かせば、その日にはもう知っていたと示せます。
フックのばね(1678年)
ロバート・フックは、ばねについての決まりを見つけたとき、ceiiinosssttuuという14字を本の終わりに印刷しました。 2年後の1678年、『Lectures de Potentia Restitutiva, or of Spring』(新しいタブで開きます)で、自分でこう明かしています。
About two years since I printed this Theory in an Anagram at the end of my Book of the Descriptions of Helioscopes … Ut tensio, sic vis; That is, The Power of any Spring is in the same proportion with the Tension thereof.
(2年ほど前、『ヘリオスコープの説明』という本の終わりに、この理論をアナグラムにして印刷した。 …「Ut tensio, sic vis」、つまり「ばねを引きのばした長さのぶんだけ、もどろうとする力が強くなる」)
いまではフックの法則と呼ばれている決まりです。 ではceiiinosssttuuとは何かというと、「Ut tensio sic vis」の字を、ただアルファベット順に並べ直したものです。 (ラテン語の活字は u と v を同じ字として組むので、vis の v も u になります。)
この14字の並べ方は605,404,800通り。 i と s が3個ずつ、t と u が2個ずつあるので、14! を 3! × 3! × 2! × 2! = 144 で割った数です。そのうちのたった1つが答えでした。 上の道具の「数だけ数える」にceiiinosssttuuを貼ると、同じ数が出ます。
ガリレオの土星(1610年)
ガリレオ・ガリレイは1610年、望遠鏡で土星を見たあと、smaismrmilmepoetaleumibunenugttauirasという37字を送りました。答えはAltissimum planetam tergeminum observavi ── 「いちばん外がわの惑星が、3つに分かれているのを見た」です。 土星の環(わ)を、両側にくっついた小さな星だと思って見ていました。37字の並べ方は約1.2×10の33乗通り(34桁)あります。 出どころはケンブリッジ大学 科学史・科学哲学部の資料(新しいタブで開きます)です。
この37字は、本によって末尾が …ttauiras とも …ttaviras とも書かれます。どちらかが間違いというわけではありません。さきほどと同じで、ラテン語の活字は u と v が同じ字だからです。 u に揃えれば、 どちらも答えの文とぴったり同じ字の集まりになります ── そのことは、このページの単体テストが確かめています。
ここで持ち帰ってほしいのは、アナグラムは秘密の暗号ではなく、日付の証拠だったということです。 ずっと隠しておきたいのなら、自分から答えを明かす理由がありません。 隠したいのは発表するまでのあいだだけで、 目的は「この日にはもう知っていた」と言えるようにしておくことでした。
いろは歌は、仮名47字を1回ずつ使った並べ替えです
日本にも、とても厳しい条件の並べ替えが残っています。いろは歌です。
いろはにほへと ちりぬるを わかよたれそ つねならむ
うゐのおくやま けふこえて あさきゆめみし ゑひもせす
この歌のすごいところは、仮名47字を1つずつ、1回だけ使っていることです。 同じ字が1つもありません。日本大百科全書(新しいタブで開きます)は「すべてのかなを、同じかなを繰り返さずに読み込んだ、七五調の今様の形式をとった47字の歌」と説明しています。 いちばん古い記録は、承暦3年(1079年)に書き写された 『金光明最勝王経音義(こんこうみょうさいしょうおうきょうおんぎ)』です。
同じ字が1つも無いということは、割り算が要らないということです。 だから 通り数はちょうど 47! で、約2.6×10の59乗通り(60桁)。 その中のたった1つが、意味の通る歌になっています。
桁の増え方を見てください。10文字だと3,628,800通りで7桁。 47文字だと60桁です。文字数は4.7倍にしかなっていないのに、桁は7桁から60桁へ跳ね上がります。
英語にも、全部の字を使う文を作る遊びがあります(パングラムといいます)。 ただしそちらは同じ字を何回使ってもかまいません。 いろは歌は1回ずつなので、条件がずっと厳しいことになります。
上の道具の「数だけ数える」に、いろは歌をそのまま貼ってみてください(「いろは歌」のボタンでも 入ります)。47文字・47種類、同じ字はありません、と出て、通り数が約2.6×10の59乗通りになります。 数えられるのは50文字までなので、47字はぎりぎり入ります。
数値の出どころ: 同じ字があるときの通り数の式(多項係数)はNIST の DLMF §26.4.2(新しいタブで開きます)、 フックのアナグラムは1678年の原本、ガリレオのアナグラムはケンブリッジ大学 科学史・科学哲学部の資料、いろは歌が仮名47字を重ねずに使うことは日本大百科全書ほかの 辞典です。このページに出ている通り数はすべてその場で計算しています── よそから書き写した数字は1つもありません。