回文・アナグラム判定ツール
ある文章が逆から読んでも同じになる回文かどうか、あるいは2つのテキストが互いにアナグラム(綴り替え)の関係にあるかどうかを、正規化してブラウザ内で瞬時に判定します。
217回閲覧
ある文章が回文になる条件
回文(palindrome)という語は、ギリシャ語のpalíndromos(「再び走って戻る」の意)に由来します——前から読んでも後ろから読んでも同じになる文章を表すのにふさわしい名前です。正しく判定するには、まずテキストを正規化する必要があります。すべてを小文字に変換し、スペース、カンマ、コロンなどの句読点を取り除きながら、文字の並び順そのものは保持します。この手順を省くと、"A man, a plan, a canal: Panama"のような教科書的な回文でさえテストに失敗します。生の文字列はその逆順とは一致しないからです——大文字の「A」、カンマ、スペースがすべて邪魔をします。しかし先に正規化すれば「amanaplanacanalpanama」となり、これは逆から読んでも1文字ずつ完全に一致します。
回文は単語や文章だけに限りません。数字も回文になり得ます——12321、7、1001はいずれも両方向から同じに読めます——そして回文的な日付、製品コード、さらにはDNA配列すら、言葉遊びをはるかに超えた分野で登場します。それらすべてに共通するのが、このツールが実行する基本的な判定方法です。文字または数字以外のものをすべて取り除き、残った文字を小文字にし、その正規化された文字列を反転させ、元の正規化文字列と比較します。両者が完全に一致すれば入力は回文であり、一致しない場合は、何と何が比較されたかが一目でわかるよう、正規化後のテキストが結果とともに表示されます。
アナグラムと、それを武器にした天文学者たち
アナグラム(anagram)は、ギリシャ語のanagrammatismos(おおよそ「文字の並べ替え」の意)にさかのぼります。2つのテキストは、一方を1文字ずつ並べ替えることでもう一方に変換できる場合、互いにアナグラムの関係にあります——ここでの判定方法は、人間が手作業で確認するのと同じ手順を自動化したものです。両方のテキストを小文字化しスペースを除いて正規化し、それぞれの残った文字をアルファベット順に並べ替え、2つのソート済み文字列を比較します。一致すれば、一方のテキストのすべての文字がもう一方に正確に対応しているということであり、それこそがアナグラムであることの意味です——元の文字の並び順がどうであったかは関係ありません。
クロスワードパズルよりもずっと以前、16世紀から17世紀の科学者たちは、アナグラムをより戦略的な目的で使っていました。発見の内容をまだ明かさないまま、ライバルに先を越される前に発見の功績を主張するためです。1610年、ガリレオ・ガリレイは土星の奇妙な、丸くない形を観測したことを発表するにあたり、他の天文学者たちに「Smaismrmilmepoetaleumibunenugttauiras」という文字を並べ替えたラテン語のフレーズを送りました——このアナグラムを解くと「Altissimum planetam tergeminum observavi」(「私は最も遠い惑星が三重の形をしているのを観測した」)となり、これは後に土星の環だと判明するものについて、その姿をはっきり見分けるには弱すぎた望遠鏡で観測した彼なりの最善の描写でした。同じ謎かけを受け取ったヨハネス・ケプラーは自分で解こうとし、火星に関するまったく異なる、しかも誤った意味を推測しました。ロバート・フックも1676年にほぼ同じことを行い、今日フックの弾性法則として知られる法則を、当初は「ceiiinosssttuv」というアナグラムとしてのみ発表し、その解——「Ut tensio, sic vis」(「伸びに応じて、力も」)——を明かすまでさらに2年待ちました。どちらの場合も、アナグラムによって著者は発見を公にタイムスタンプしつつ、完全な形で発表する準備が整うまで実際の発見内容を秘密にしておくことができたのです。
よくある質問
なぜ"A man, a plan, a canal: Panama"は回文として判定されるのですか?
回文の判定は、比較する前にまずテキストを正規化するためです——すべてを小文字にし、スペースや句読点を取り除きます。「amanaplanacanalpanama」に正規化すると、この文字列は前から読んでも後ろから読んでも完全に一致します。元の文章は大文字、カンマ、スペースを含んでいるため、一見まったく対称に見えないにもかかわらずです。
数字が回文になることはありますか?
はい——12321、1001、7のように、桁が前から読んでも後ろから読んでも同じであれば、その数字は回文です。このツールがテキストに使うのと同じ「正規化して反転させる」比較方法は数字の並びにもそのまま適用できるため、回文的な数字、日付、製品コードなどが言葉遊びをはるかに超えた分野で登場します。
アナグラム判定ツールは実際に何を比較しているのですか?
両方のテキストを小文字化してスペースを除去し、それぞれの残った文字をアルファベット順に並べ替え、2つのソート済み結果が完全に一致するかどうかを確認します。一致していれば、最初のテキストのすべての文字が2番目のテキストに正確に対応しており、これは元の単語の並び順に関係なく、アナグラムであることの定義そのものです。
科学者たちは本当に発見を隠すためにアナグラムを使ったのですか?
はい——ガリレオ・ガリレイは1610年、土星の異常な形を観測したことを、文字を並べ替えたラテン語のアナグラムとして発表しました。これにより、実際に何を見たかを明かす前に発見の優先権を主張できたのです。ロバート・フックも1676年の弾性の法則で同じことを行い、「ceiiinosssttuv」というアナグラムとして発表し、その解を明かしたのは2年後のことでした。
アナグラムを判定する際、大文字・小文字やスペースの違いは影響しますか?
いいえ——比較の前に両方のテキストが正規化されるため、"Listen"と"Silent"、あるいは"dormitory"と"dirty room"のように大文字・小文字やスペースの入れ方が異なっていても、互いにアナグラムであると正しく判定されます。
関連ツール
問題を報告
回文・アナグラム判定ツール
コメント
まだコメントはありません — 最初のコメントを書いてみましょう!