Kleene星號

Kleene 星號,或稱 Kleene 閉包,德語稱 Kleensche Hülle,在數學上是一種適用於字元串或符號及字元的集合的一元運算。當 Kleene 星號被套用在一個集合 時,寫法是 。它被廣泛用於正則表達式。

定義及標記方法

給定集合V 設:

•V = {ε} 即只包含空串

•V = V

Kleene星號 Kleene星號

遞歸的定義集合 V這裡的

•V = { wv: w ∈ V and v ∈ V } .

Kleene星號 Kleene星號

所以在 上的 Kleene 星號的定義是

Kleene星號 Kleene星號
Kleene星號 Kleene星號

就是說,它是由 中的符號生成的所有可能的有限長度的字元串所構成的集合。

推廣

Kleene星號 Kleene星號
Kleene星號 Kleene星號
Kleene星號 Kleene星號
Kleene星號 Kleene星號

Kleene 星號經常推廣到任何么半群,也就是,一個集合和在上的二元運算符合

Kleene星號 Kleene星號

(封閉性)

Kleene星號 Kleene星號

(結合律)

Kleene星號 Kleene星號

(單位元)

Kleene星號 Kleene星號
Kleene星號 Kleene星號
Kleene星號 Kleene星號
Kleene星號 Kleene星號
Kleene星號 Kleene星號
Kleene星號 Kleene星號
Kleene星號 Kleene星號

如果是的子集,則被定義為包含(空字元串) 並閉合於這個運算下的的最小超集。接著自身是么半群,並被稱為生成的自由么半群。這是上面討論的 Kleene 星號的推廣,因為在某個符號的集合上所有字元串的集合形成了一個么半群(帶有字元串串接作為二元運算)。

例子

Kleene 星號套用於字元串集合的例子:

{"ab", "c"}* = {ε, "ab", "c", "abab", "abc", "cab", "cc", "ababab", "ababc", "abcab", "abcc", "cabab", "cabc", "ccab", "ccc", ...}

Kleene 星號套用於字元集合的例子:

{'a', 'b', 'c'}* = {ε, "a", "b", "c", "aa", "ab", "ac", "ba", "bb", "bc", ...}

參考文獻

Kleene 星號的定義基本上可從任何一本自動機理論的參考書中找到。以下是其中一本標準的參考書:

•John Hopcroft | John E. Hopcroft and Jeffrey D. Ullman. Introduction to Automata Theory Languages and Computation. 1st edition. Addison-Wesley Publishing Company, 1979.

相關詞條

相關搜尋

熱門詞條

聯絡我們