空語

デスクトップ整理シリーズ3
(以下のメモをデスクトップから削除します)
散りぬべき 時知りてこそ 世の中の 花も花なれ 人も人なれ (細川ガラシャ)

(次は以前書いたと思いますが)
リトル・チャロの母:
「時が止まっているということは幸せではありません。」
「花は、散り、そして再び咲くからこそ美しいのです。」
「人は努力し、成長し、変化します。」
「これが、生きているということなのです。」
「時間が止まる(永遠に変わらない)ということは未来がないことなのです。」
「未来はあなたのものです、諦めてはいけません、生きなさい。」

==ここから今日の記述==
空語

あまり聞かない言葉ですが、辞書を引くと「根も葉もない言葉。うそ。」と書いてあります。

計算機では「空語」がよく出てきます。

英語では、null stringとかempty stringといいます。nullはドイツ語で0を表します。

プログラミングでは、空語とは言いませんがNULL(ヌル)にはよくお目にかかります。
プログラミングでNULLが表示されると、どこかプログラムがおかしいんだなと思います。
(EXCELでも表示されますよね)

NULLは、値が何もないことをさします。
値がないのであれば「0」でいいじゃないか、というふうに思ってしまうのですが、プログラミングの場合は「0」も意味をもつので、 特にNULLと表現します。

例えて言えば、ウエブサイトで回答時に空欄があると、「記入漏れ」 のエラーが出るのと同じです(記入されいないことを示します)。

==以下は読まない方が良い、個人的な乱暴なメモです==
形式言語では「空語」が出てきます。
定義は「長さ0の記号列」で、εやΛで表されます。(プログラムで言えば”"かな?)。
何で空語が必要なのかな?と思うのですが。ネット(海外)には次の様な話が出ていました。
(1)数は0から始まるだろ、だから文字列だって0が必要だ、ただしコンピュータでは0が意味を持つのでεで表すんだ。
(2)εは数学の1みたいなやつで、xに1を掛けるとxだろ。ただしコンピュータでは1が意味を持つのでεで表すんだ。

もう少し、数学的には、
(3)文字列xが有る時、xをk個つないだxxx…xをxのk乗で表すと、
xの0乗はεである。また、xε=εx=x である。
(数学で何かの0乗は1ですよね)
(4)構文解析では、左再帰を右再帰に直さなくてはいけないことがあり、この場合にはは積極的に空語がつ使われます。
///////
左再帰の文法が
A → Aα | β
の時、次のように置き換えていきます。
A → βA’
A’ → αA’ | ε
////////
(5)非決定性有限オートマトンでは、空語による空動作(入力記号が無くても状態遷移を起こす)がある。

注意:εはΣに含まれないことに注意!

ちなみに、空語とまぎらわしいのは空集合(要素を一つも持たない集合{})で、Φで表されます。

===
今朝8時半、これから朝食。
昨日は3時からテニスをして疲れたし、今日は昼から詩吟なので今日はテニスをやめようと思っていたが、朝6時から空語をまとめていたらストレスがたまってきて、ストレス解消に行くかな。