基礎:字母表、字串與語言
Sigma 加號(Sigma-plus,Σ+)
/ Sigma is the Greek capital Σ; plus is the + sign /
Sigma 加號,寫作 Σ+,幾乎和 Σ* 是同一個巨大袋子,但把空字串拿掉了。它是字母表上每一個非空字串的集合:每個至少含一個符號的字串。若 Σ = {a, b},則 Σ+ 含 a、b、aa、ab、ba、bb、aaa 等等,但不含 ε。
形式上,Σ+ 是 Σ 上所有長度至少為一的字串的集合。它與 Σ* 的關係簡單且值得記住:Σ* = Σ+ 加進 ε,等價地 Σ+ = Σ* 去掉 ε。你也可以把 Σ+ 描述成「長度 1 字串、長度 2 字串、長度 3 字串……」的聯集,只省略長度 0 那一層(也就是只有 ε)。如同 Σ*,只要字母表至少有一個符號,它就是可數無限。
為什麼要替幾乎相同的集合另取一個名字?因為空字串確實特別,有時你必須排除它。許多定義取決於是否允許 ε:例如語言上的加號運算 L+,就是去掉(不一定包含)空字串的 Kleene 星號 L*。對「你指的是 Σ* 還是 Σ+」保持精確,能防止空字串這類邊角情形悄悄溜進或溜出你的語言。
對 Σ = {a},Σ+ = {a, aa, aaa, ...}(無 ε),而 Σ* = {ε, a, aa, aaa, ...}。唯一的差別就是那個單一字串 ε。
Σ+ 是 Σ* 去掉空字串:恰好是所有非空字串。
Σ* 與 Σ+ 的唯一差別是是否包含 ε。Σ* 有;Σ+ 沒有。那一個字串正是這個區別的全部重點。
又称
另见