Migdal

スライムさん
スライムさん

Posted on

Y語

本記事は、人工言語コンペ2024夏(第8回)に投稿した作品です。当時は手書きで書いたものを今回、加筆修正して清書したものです。


coi rodo mi'e .slaimsan.
どうも、スライムさんです。今回も例により手書きです(投稿当時の話です。)。今、本当に仕事がピークで時間がないのです。(これは今も変わらないですね……)後、自分は皆よりも期限が早いので、記事を改変する時間ができてしまうという問題があり、pdfで提出することで改変していないことを示すという面があったり。

さて、今回のお題

線条性に抗う

…………難っ…………
出題者も言っている通り完全に超越するのは無理です。なので問題意識をどこかに置いて、部分的に抗うという形になるでしょう。


1. 線条性とは何か

「初めから終わりに向かって進んでいる」ものが線条的ってことですね。
そもそも言語というのは、線条的でないものを音声の列に直す操作なので必然的に線条なのです。でも逆に考えれば言語が表そうとしているものは線条的でないこともあります。今回はここに注目していこうと思います。


2. ツリー構造

普段我々が使っている言語はツリー構造に直せます。例を見てみましょう。

頭が 赤い 魚

この文は通常次のようなツリーとして解釈されます。

Image description

「頭が」と「赤い」が先に結合し、その塊が魚と後から結合するのです。この結合の順序を示しているのがツリー構造と考えられます。多くの場合、言葉からツリー構造は一意に復元されますが、一意にならないこともあります。

頭が 赤い 魚を 食べた 猫

このフレーズは解釈が一意にならない文として有名だと思います。いくつかその解釈をツリーで表してみます。

Image description

それぞれで表している状況が変わってくるかと思います。


3. 中間/前置/後置記法

3-1. 中間記法

「元々の状況を正確に復元できないなんて、言語ってダメじゃん。」と思ったかもしれません。でも人間はちゃんとこの状態を改善する方法を考え出しています。「括弧」を使って、結合の順序を明示するのです。先ほどのツリー構造の例はそれぞれ次のようになります。

① ((((頭が 赤い) 魚を) 食べた) 猫)
② (((頭が 赤い) (魚を 食べた)) 猫)
③ ((頭が ((赤い 魚を) 食べた)) 猫)

括弧を使うことでツリー構造が正確に復元できることが分かると思います。この方法は中間記法といいます。中間記法以外にもやり方があります。前置記法と後置記法です。

3-2. 前置記法

前置記法では、括弧の代わりに「後に続く2つの要素を結合する」という記号を使います。ここでは '/'(スラッシュ)で表してみます。

① ////頭が 赤い 魚を 食べた 猫
② ///頭が 赤い /魚を 食べた 猫
③ //頭が //赤い 魚を 食べた 猫

先程のツリーとの対応関係を確認してみてください。

3-3. 後置記法

もう一つの後置記法もやっておきます。「前にあった2つの要素を結合する」という記号を導入します。ここでは '\'(バックスラッシュ)で表してみます。

① 頭が 赤い\ 魚を\ 食べた\ 猫\
② 頭が 赤い\ 魚を 食べた\ 猫\
③ 頭が 赤い 魚を\ 食べた\ 猫\

ところで、どの記法も線条的になってますね。はい、だいたいのものは線条に直せてしまうということなんですよね……


4. Y語

ここからが本番です。前置きが長くてすみません。
ツリー構造においては、「2つの要素を受け取って、1つの要素にまとめる」という操作がありました。というか、それがツリー構造を作る時の核です。
なら、逆の操作を導入してみよう。
これが今回提出するアイディアの核になります。導入する操作は「1つの要素を受け取って、2つの要素に分ける」というものです。分けると言っても、情報としては同じもののコピーを渡すというものにします。

まずは図の書き方から説明します。ツリー構造で要素を結合していた部分は下図のように書くことにします。

Image description

"〇" が要素として出力される部分で、"∩" が要素を受け取る部分です。「頭が 赤い」は

Image description

こんな感じで書きます。これを結合子と呼ぶことにします。さて、今回新しく導入する分配子は次のように書くことにします。

Image description

下の "∩" で要素を受け取り、上の "〇" で2つに分配するイメージです。
分配子はどう使うのか? 「頭が 赤い 魚を 食べた 猫」の文で②としたツリー構造を思い出してください。これは「頭が赤い猫」がいて、「その猫は魚を食べた」と考えられます。2つの文が1つに纏まっていて、さらに猫が2回登場します。このようなときに分配子を使います。図にしてみましょう。

Image description

どうでしょうか? 分配子が有効に使えている感じがしませんか? 分配子がアルファベットの "Y" に似ているので、この言語の名前はY語と呼ぶことにします。


5. でも……

分配子でやっていることは、通常の言語なら指示語とか代名詞でやっていることなんですよね……なので線条に直せます。最初に書いたとおり、言語にすると結局、線条になってしまうということですね。まぁ、できるだけ抗ってみました、ということで。

以上


いかがだったでしょうか? 工学言語方面全振りのお話でした。私が元々、工学言語志向なのでこういう形になりました。なかなか難しいお題でした。

さて、ここで宣伝です。そんな人工言語コンペですが、2024秋が11/1(金)から開催されます。ご興味のある方は下記のDiscordサーバーまでお越しください。作るだけではなく、作品を鑑賞して投票するのも参加の仕方の一つですので、気軽にお越しください。

https://discord.gg/KChKSXZ5RC

Top comments (0)