アルファベット (計算機科学)
コンピュータサイエンスでは、アルファベットは有限の非空の集合である。アルファベットの要素は、アルファベットの文字や記号と呼ばれます。
アルファベットの例としては、{ - , ・ }があります。モールス信号や、プログラミング言語のキーワードになりそうな{begin, if, else, for, while}のようなものがあるかもしれない。
自然数の集合は有限ではないので、アルファベットではありません。
コンピュータサイエンスで最も多く使われているアルファベットは{0,1}です。これは、2つの記号を含むことから、2進法のアルファベットと呼ばれています。アルファベットは文字列(または単語)を作るのに使うことができます。これは、アルファベットからの文字の有限のシーケンスです。例えば、{0,1}上の長さ5の文字列は01101です。
空文字列は、文字を含まない文字列である(λ {\displaystyle \lambda } と書かれることが多い)。空文字列は、任意のアルファベットの上の文字列である。
Σ(゚Д゚)ノ Σ(゚Д゚)ノ Σというアルファベットがあれば.Σ {\displaystyle \Sigma }から作れる全ての文字列の集合を Σ Σ ∗ {\displaystyle \Sigma ^{*}}と書く。.これは、Σ{\displaystyle \Sigma}のKleene star(またはKleene closure)と呼ばれる。.数学者のスティーブン・コール・クレーネにちなんで名付けられました。
二進アルファベットのクレーネ星は { λ , 0 , 1 , 00 , 01 , 10 , 11 , 000 , 001 , ...}♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪.001 の後の 3 つの点は、無限集合であるため、アルファベットの Kleene の星を完全に書くことができないことを示しています。
アルファベットは、形式言語や有限オートマトン、コンピュータサイエンスでは何が計算できて何が計算できないのかという非常に難しい問題を研究するために使われているので、重要です。
関連ページ
- 形式言語
- 構文
- 意味論
質問と回答
Q:アルファベットとは何ですか?
A:アルファベットとは、記号または文字の有限で空でない集合である。
Q:自然数の集合はアルファベットと言えるのでしょうか?
A: いいえ,自然数の集合は有限ではないのでアルファベットとはみなされません.
Q:コンピュータサイエンスで最もよく使われるアルファベットは何ですか?
A:コンピュータサイエンスで最もよく使われるアルファベットは{0,1}で、2進アルファベットとしても知られています。
Q:アルファベットから文字列を作るとはどういう意味ですか?
A:あるアルファベットから文字列を作るとは、その特定のアルファベットから有限の文字列を作るということです。
Q:クリーネ星とは何を指しているのですか?
A: Kleene starとは、与えられたアルファベットから作ることができる全ての文字列の集合のことで、Σ*{displaystyle \Sigma ^{*}}と表記されます。数学者のStephen Cole Kleeneにちなんで名付けられました。
Q:連星系アルファベットのKleene星は、どのように表現すればよいのでしょうか?
A:連星系のKleene星は{λ, 0, 1, 00, 01, 10, 11, 000,...} と表すことができる。001の後の3つの点は、この集合が無限であるため、全部を書くことができないことを示しています。
Q:なぜアルファベットはコンピュータサイエンスで重要なのですか?
A:アルファベットが計算機科学で重要なのは、形式言語や有限オートマトンを研究するときや、何が計算できて何ができないかという難問を考えるときに使われるからです。