定義及標記方法
給定集合V 設:
•V = {ε} 即只包含空串
•V = V
遞歸的定義集合 V這裡的
•V = { wv: w ∈ V and v ∈ V } .
所以在 上的 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.