2016/05/08

[037] 文字の並べ替えと回文


「余談:いい電話要らなんだよ」
「余談なら言わんでいいんだよ?」

[よだんいいでんわいらなんだよ
 よだんならいわんでいいんだよ]

これから、ブログでときどき
「回文とはどのような文のことか」
という問題、つまり「回文の定義問題」について書きたいのですが、これはまともに考えだすと難問です。今回は前哨戦として、この問題の単純化バージョン
「回文とはどのような“文字列”のことか」
を考えます。“文”ではなく、意味のない単なる“文字列”が回文の特徴をもつのはどういうときか、という話。

文字の並べ替えと回文


次の文字列が回文であるのは、どういうときでしょうか。
ABCD……WXYZ
答えは、A=Z, B=Y, C=X, D=W, ……のように、文字が端から順に一致しているときです。……これは当たり前ですね。これだけの話ならわざわざ述べるまでもないのですが、これを次のように考えると少し発展性が出てきます。

文字列 ABCD……WXYZ について、次のような、文字の並び替えを考えます。


つまり文字列を逆順にする並べ替えです。この並べ替えを「p」と名づけることにします。具体的にはたとえば
p(らーめんたべたい) = いたべたんめーら
p(◎鮪AΓぽ) = ぽΓA鮪◎
となります。すると、文字列ABCD……WXYZが回文であるとは「p(ABCD……WXYZ)=ABCD……WXYZとなること」と定義できます。並べ替え p によって変わらない文字列が回文、というわけです。たとえば
p(たけやぶやけた) = たけやぶやけた
となり、「たけやぶやけた」(竹やぶ焼けた)は並べ替え p で変わらないので回文だ、ということになります。

当たり前なことを難しく言っているだけに見えるかもしれません。でも大事なのは、次のように、この並べ替え p を別の並べ替えに取り替えると、別の言葉遊びが生まれる!というところです。

畳文


たとえば次のような文字の並べ替えを「q」と名づけてみます。


この場合、「AB…LMNO…YZ」は文字の個数が偶数で、MとNの間が文字列のど真ん中になっています。要するに q は、文字列をど真ん中で切って前後を入れ替えるというもので、
q(らーめんたべたい) = たべたいらーめん
などとなります。この q によって変わらない文字列は「畳文」と呼ばれています。たとえば
q(ないすないす) = ないすないす
となり、「ないすないす」(ナイスな椅子)は畳文です。

継母聞き耳


また、次の並べ替えを「r」と名づけます。


これも文字の個数が偶数であるような文字列限定で、奇数番目の文字とそれに続く偶数番目の文字を入れ替えます。
r(らーめんたべたい) = ーらんめべたいた
です。この r によって変わらない文字列はその業界では「継母聞き耳」と呼ばれています。
r(つつみみてて) = つつみみてて
なので、「つつみみてて」(包み見てて)は継母聞き耳です。

畳回文など


複数の並べ替えで変わらない文字列を考えることもできます。たとえば、上述の p と q のどちらでも変わらない文字列、というのを考えることができます。これは要するに「回文」かつ「畳文」であるような文字列なので、「畳回文」と呼ばれています。ひざみろさんによる素晴らしい作例が こちら にあります。

さらに複雑になりますが、並べ替えを2つ適切にとると「SATOR陣」と呼ばれるものを定義することができます。ひざみろさんのブログの解説 をご覧ください。

転文など


ある文字列 AB…YZ と、それをひっくり返した文字列 ZY…BA のペアは「たいこめ」ないし「転文」と呼ばれていて、そこそこ知られた言葉遊びです。転文も、回文を定義するときの並べ替え p を使って説明することができます。どうなるかというと、転文とは「p で互いに移り合うような2つの文字列」だ、という説明になります。
p(よだんいいでんわいらなんだよ)
= よだんならいわんでいいんだよ
なので、「よだんいいでんわいらなんだよ」(余談:いい電話要らなんだよ)と「よだんならいわんでいいんだよ」(余談なら言わんでいいんだよ?)は転文の関係にある、というわけです。

並べ替え p に限らず、他の並べ替えでも同じことができるはずです。たとえば、畳文を定義するときの並べ替え q で互いに移り合う2つの文字列を探せ、という遊びが考えられます。テキトーに作ってみると
q(ましょうのいずみ) = のいずみましょう
となるので、「ましょうのいずみ」(魔性の泉)と「のいずみましょう」(ノイズ見ましょう)がその例です。これは何て呼ぶのでしょうかね。

同様に、継母聞き耳を定義するときの並べ替え r で移り合うものを探せ、という遊びもできます。
r(くらきごうこんせいかだめ) = らくごきこうせんかいめだ
となるので、「くらきごうこんせいかだめ」(暗き合コン、成果ダメ)と「らくごきこうせんかいめだ」(落語聞こう、1000回目だ)がその例です。やっぱり名前は知りませんけど、作ってみるとけっこう面白いです。皆さん、もっと良い作例があればぜひ教えてください。

畳回文と同様に、2つの並べ替えを同時に考えて「p で移り合い、かつ q で移り合う」とか「p で移り合い、かつ r で移り合う」とかも考えられると思います。でも作例はぜんぜん考えてないです。きっと誰か、ここを読んでいる達人が考えてくれることでしょう……。


こうして「文字の並べ替え」という観点で回文を考えると、いろいろな言葉遊びを統一的に考えることができるようになって素敵です。が、そもそもの問題であった「回文の定義」としては、「並べ替え p で変わらない“文字列”」というのでは(私には)不満足です。というのはこの定義だと、「たけやぶやけた」は回文なのに、「竹やぶ、焼けた。」は並べ替え p で「。たけ焼、ぶや竹」となるため、回文にならなくなってしまうからです。回文の定義はぜひとも「○○という条件を満たす“文”」というものであってほしい。そうするとこの「○○」に入るべき条件は何でしょうか。というのが、次回以降に考えたい問題です。

10 件のコメント:

  1. 言葉遊びの統一、面白い面白い。アナグラムは全ての並び替えの積?数学っぽくカッコよく表すとどうなりますか?

    返信削除
    返信
    1. 面白がっていただけてよかったです。
      なるほど、アナグラムについては考えてませんでした。次のように考えるとよいような気がします。回文や畳文などは、文字の並べ替えの仕方 t が与えられたとき、t(x)=y となる x, y を探す言葉遊びだと言えます。対してアナグラムは、文字列 x が先に与えられたときに、t(x)=y となる並べ替え t(とy)を探す言葉遊びだと考えられます。
      こうして見ると、ちょうど話が双対的になっているんですね。考えたこともありませんでした。素晴らしいコメントありがとうございます。

      削除
    2. すいません、上に書いたのはちょっと間違ってました。
      回文や畳文などは、t(x)=x となる x を探す言葉遊びだから、アナグラムと双対になるのは転文の類のほうですね。

      削除
  2. なるほどー!ますます面白いです。有難うございます。
    オマケ:嘘言ったが双対型(うそいったがそうついがた)

    返信削除
    返信
    1. なんだかとても重要な認識に至った気がします。自分だけで考えたのではまったく出てこなかったアイディアで、コメントたいへん有難いことでした。
      オマケも絶妙ですねー。自分はこのオマケを引き出すために嘘のコメントをしたんじゃないかという気がしてきた。

      削除
  3. 昔アンビグラムに関して考えていた定式化にも関連しそう。

    文字遊戯の場合、文Sにある関数をかませてフラットニングした文字列について評価すればいいのかなと思いました。
    フラットニングにはレベルがあって、
    レベル0:無変換
    レベル1:句読点記号排除+カナ化(←ここまでがいわゆる完全回文?)
    レベル2:レベル1+拗音促音
    レベル3:レベル2+「お/を」「は/わ」「え/へ」
    ……
    σn=fn(S)として、p(σn)=σnならレベルnの回文。
    みたいな感じですかね。

    熟慮できていないまま書いていますのでおかしいところもあると思いますが。

    返信削除
    返信
    1. 私も以前(旧版のころ)はそういう考え方に近かったんですが、そもそも厳密に考えるとフラットニングの定義が難しくて、その後いろいろ考えた結果、だいぶ違う考え方をするようになりました。そのうちブログに書きます。
      アンビグラムの記法の話、そういえばありましたね。いまちょっとアンビグラムについても考えてみましたが、いまの自分の考え方に照らしてアンビグラムを記述してみると、すごく面白いことになりそうだと気がつきました。ありがとうございます。これもそのうち書こうと思います。

      削除
    2. モーリー2016/05/10 11:13

      文や言葉を含め、文字列には「階層」的な構造が常にありますよね。
      それをうまく活かして日本語のように文字の種類がとても多い言語でさえ、両手10本の指でカタカタこのコメントがかけてしまうわけで。

      いがさんがおっしゃるフラットニングに近いことをボクも考えていたのですが、よく考えれば、各々の文章のそれぞれの階層はバラバラに別の集合に存在して各々が可変な関係で結ばれているというよりは、コインの表と裏というか、もっとつながりの深いものととらえてもいいのかもしれませんね。
      ここにはもちろん字体つまりアンビグラムのレベルまで含むことができますし。。。

      なんだか言葉が座標空間上の立体のような姿に見えてきました。

      削除
    3. コメントありがとうございます。そうそう、回文の定義問題を考えるときは、階層構造をちゃんと捉える必要があると私も思います。ブログ旧版を書いてたときは、どれとどれが上下の関係で、どれとどれが並列的な関係かを見誤っていて変な議論になってたと思うので、現在の考えを早くまとめなくては。
      こういう話に興味を持ってるひとが意外といるのは楽しいです。

      削除
  4. 通常の転文(たいこめ)や奇偶転文は、それを定義する並べ替え t を2度施すと元に戻るという特徴がある(いわゆる対合)。それゆえに、t を介して2文が対になる(t(x)=y,t(y)=x のように)。そう考えると、転文類の双対であるアナグラムも、そういう並べ替えに限定して遊んでみるのもありかもしれない。仮に対合アナグラムと呼ぼう。

    例:x=みなもとのよりとも(源頼朝)
    のときを考えよう。この場合、
    y=なみのももよりとと(並の桃より魚)
    が対合アナグラムの解になる。なぜなら、並べ替え t として、1,2字目を入れ替え、3,5字目を入れ替え、4,9字目を入れ替え、6,7,8字目は固定、というものをとると、t(x)=y、t(y)=x となるから。

    対合アナグラムの利点:なんとなく綺麗。作りにくいので挑戦し甲斐がある。
    対合アナグラムの欠点:作りにくい。答え合わせが面倒。ルールの説明が大変。なぜこんなルールなのか必然性を理解してもらうのが困難。
    結論:マニアックだ。

    返信削除