形式语言与自动机形式语言与自动机
  • 1 前置知识
  • 2 有穷自动机
  • 3 正则表达式
  • 4 上下文无关文法
  • 5 下推自动机
  • 6 上下文无关语言
  • 7 图灵机
  • 8 判定性与复杂度
  • 9 迁移系统
  • 10 Petri网
  • 11 时间自动机
  • 有穷自动机与正则语言.pdf
个人主页
查看源码
  • 1 前置知识
  • 2 有穷自动机
  • 3 正则表达式
  • 4 上下文无关文法
  • 5 下推自动机
  • 6 上下文无关语言
  • 7 图灵机
  • 8 判定性与复杂度
  • 9 迁移系统
  • 10 Petri网
  • 11 时间自动机
  • 有穷自动机与正则语言.pdf
个人主页
查看源码
  • 前言
  • 1 前置知识
    • 1.1 数学基础
      • 1.1.1 集合
      • 1.1.2 函数
      • 1.1.3 渐进复杂度 (asymptotics)
      • 1.1.4 关系 (relations)
      • 1.1.5 图
      • 1.1.6 树
      • 1.1.7 证明方法
    • 1.2 语言
      • 1.2.1 定义
      • 1.2.2 字符串操作
      • 1.2.3 字母表的操作
      • 1.2.4 语言操作
  • 2 有穷自动机
  • 3 正则表达式
  • 4 上下文无关文法
  • 5 下推自动机
  • 6 上下文无关语言
  • 7 图灵机
  • 8 判定性与复杂度
  • 9 迁移系统
  • 10 Petri 网
  • 11 时间自动机

1 前置知识

前置的知识这里只做提点,不详细展开,主要是为了告诉读者你需要哪些数学基础。读者最好能有一点离散数学的基础,如果发现下面的数学基础很多都不知道的话,可能需要补一些离散数学课,然后再来看这个教程。

1.1 数学基础

1.1.1 集合

集合的表示与概念 (set representation)

集合是一堆确定的元素的全体,比如 A={1,2,3}A = \{1, 2, 3\}A={1,2,3},B={train,bus,bicycle,airplane}B = \{train, bus, bicycle, airplane\}B={train,bus,bicycle,airplane}。集合的元素可以是任何类型,不一定非得是数字。

一个元素要么属于一个集合,比如 1∈A1 \in A1∈A;要么不属于一个集合,比如 ship∉Bship \notin Bship∈/B。

集合的可以通过花括号里面罗列有限 (finite) 元素的方式来表示:

C={a,b,c,d,e,f,g,h,i,j,k} C = \{a, b, c, d, e, f, g, h, i, j, k\} C={a,b,c,d,e,f,g,h,i,j,k}

在不产生歧义的情况下,我们可以使用省略号:

C={a,b,...,k} C = \{a, b, ..., k\} C={a,b,...,k}

集合也可以是无限 (infinite) 的:

S=2,4,6,... S = {2, 4, 6, ...} S=2,4,6,...

也可以通过描述法来表示集合:

S={j:j>0∧j=2k,k>0} S = \{j: j > 0 \wedge j = 2k, k > 0\} S={j:j>0∧j=2k,k>0}

或者

S={j:j is nonnegative and even} S = \{j: j\ is\ nonnegative\ and\ even\} S={j:j is nonnegative and even}

其中,集合的表示需要注意的一个原则是表意明确,没有二义性。

我们常用全集 (universal set) UUU 来表示所有可能的元素,比如说 A={1,2,3,4,5}A = \{1, 2, 3, 4, 5\}A={1,2,3,4,5},U={1,2,...,10}U = \{1, 2, ..., 10\}U={1,2,...,10}。

universal

集合的基本操作 (set operation)

例如 A={1,2,3}A = \{1, 2, 3\}A={1,2,3},B={2,3,4,5}B = \{2, 3, 4, 5\}B={2,3,4,5}

  • 并集 (union)

    • A∪B={1,2,3,4,5}A \cup B = \{1, 2, 3, 4, 5\}A∪B={1,2,3,4,5}

      union

  • 交集 (intersection)

    • A∩B={2,3}A \cap B = \{2, 3\}A∩B={2,3}

      intersection

  • 差集 (difference)

    • A−B={1}A - B = \{1\}A−B={1}

      difference

    • B−A={4,5}B - A = \{4, 5\}B−A={4,5}
  • 补集 (complement)

    • 定义全集 U={1,..,7}U = \{1, .., 7\}U={1,..,7}
    • A={1,2,3}⇒A‾=U−A={4,5,6,7}A = \{1, 2, 3\} \Rightarrow \overline{A} = U - A = \{4, 5, 6, 7\}A={1,2,3}⇒A=U−A={4,5,6,7}

      complement

    • A‾‾=A\overline{\overline{A}} = AA=A
    • even integers‾=odd integers\overline{\text{even integers}} = \text{odd integers}even integers​=odd integers

      even-odd

徳摩根律 (DeMorgan's Laws)

A∪B‾=A‾∩B‾ \overline{A\cup B} = \overline{A} \cap \overline{B} A∪B=A∩B

A∩B‾=A‾∪B‾ \overline{A\cap B} = \overline{A} \cup \overline{B} A∩B=A∪B

空集 (empty/null set)

空集是没有任何元素的集合,写作 ∅={}\emptyset = \{\}∅={}。

  • S∪∅=SS \cup \emptyset = SS∪∅=S
  • S∩∅=∅S \cap \emptyset = \emptysetS∩∅=∅
  • S−∅=SS - \emptyset = SS−∅=S
  • ∅−S=∅\emptyset - S = \emptyset∅−S=∅
  • ∅‾=U\overline{\emptyset} = U∅​=U,其中 UUU 是全集。

子集 (subset)

例如 A={1,2,3}A = \{1, 2, 3\}A={1,2,3},B={1,2,3,4,5}B = \{1, 2, 3, 4, 5\}B={1,2,3,4,5},则:

  • A⊆BA \subseteq BA⊆B,AAA 是 BBB 的子集 (subset);
  • A⊂BA \subset BA⊂B,AAA 是 BBB 的真子集 (proper subset);

不相交的集合 (disjoint sets)

例如 A={1,2,3}A = \{1, 2, 3\}A={1,2,3},B={5,6}B = \{5, 6\}B={5,6},有 A∩B=∅A \cap B = \emptysetA∩B=∅,称 AAA 与 BBB 是不相交的集合 (disjoint sets)。

集合的势 (set cardinality)

对于有限集 A={5,6,7}A = \{5, 6, 7\}A={5,6,7},有 ∣A∣=3|A| = 3∣A∣=3,集合的势说的是集合的大小。

幂集 (powersets)

幂集是集合的集合,一个集合 SSS 的幂集是 SSS 的所有子集组成的集合,记为 P(S)P(S)P(S) 或 2S2^S2S。

比如 S={a,b,c}S = \{a, b, c\}S={a,b,c},有

2S={∅,{a},{b},{c},{a,b},{a,c},{b,c},{a,b,c}} 2^S = \{\emptyset, \{a\}, \{b\}, \{c\}, \{a, b\}, \{a, c\}, \{b, c\}, \{a, b, c\}\} 2S={∅,{a},{b},{c},{a,b},{a,c},{b,c},{a,b,c}}

并且,我们可以观察到:∣2S∣=2∣S∣|2^{S}| = 2^{|S|}∣2S∣=2∣S∣,这本质上就是子集的个数公式。

笛卡尔积 (Cartesian Product)

例如 A={2,4}A = \{2, 4\}A={2,4},B={2,3,5}B = \{2, 3, 5\}B={2,3,5},则

A×B={(2,2),(2,3),(2,5),(4,2),(4,3),(4,5)} A\times B = \{(2, 2), (2, 3), (2, 5), (4, 2), (4, 3), (4, 5)\} A×B={(2,2),(2,3),(2,5),(4,2),(4,3),(4,5)}

不难发现 ∣A×B∣=∣A∣×∣B∣|A\times B| = |A|\times |B|∣A×B∣=∣A∣×∣B∣。

笛卡尔积是两个集合中元素组成的有序对的集合,我们可以更一般地定义 A1×A2×...×AnA_1 \times A_2 \times ... \times A_nA1​×A2​×...×An​。

1.1.2 函数

给定两个集合 AAA 和 BBB,一个从 AAA 到 BBB 的函数讲 AAA 中的每一个元素 aaa 关联到 BBB 中的最多一个元素 bbb,记作 f:A→Bf: A\to Bf:A→B,其中,称有对应关系的 AAA 中元素的集合为定义域 (domain),BBB 中元素的集合为值域 (range)。

function

如果 A=domainA = domainA=domain,称 fff 是一个全函数 (total function),否则称 fff 是一个偏函数 (partial function)。

称 f:A→Bf: A \to Bf:A→B 是一个双射 (bijection),如果:

  • fff 是全函数;
  • a1≠a2∈A⇒f(a1)≠f(a2)a_1 \ne a_2 \in A \Rightarrow f(a_1) \ne f(a_2)a1​=a2​∈A⇒f(a1​)=f(a2​)
  • ∀b∈B,∃a∈A,f(a)=b\forall b \in B, \exists a \in A, f(a) = b∀b∈B,∃a∈A,f(a)=b

双射也称为一一对应。

1.1.3 渐进复杂度 (asymptotics)

给定两个全函数 f,g:N→Nf, g: \mathbb{N} \to \mathbb{N}f,g:N→N,

  • 若存在正整数 ccc 与 ddd,使得 ∀n≥d,f(n)≤c⋅g(n)\forall n\ge d, f(n) \le c\cdot g(n)∀n≥d,f(n)≤c⋅g(n),记

    f(n)=O(g(n)) f(n) = O(g(n)) f(n)=O(g(n))

    • 称 g(n)g(n)g(n) 是 f(n)f(n)f(n) 的一个上界 (upper bound)。
  • 若存在正整数 ccc 与 ddd,使得 ∀n≥d,cf˙(n)≥g(n)\forall n\ge d, c \dot f(n) \ge g(n)∀n≥d,cf˙​(n)≥g(n),记

    f(n)=Ω(g(n)) f(n) = \Omega(g(n)) f(n)=Ω(g(n))

    • 称 g(n)g(n)g(n) 是 f(n)f(n)f(n) 的一个下界 (lower bound)。
  • 如果 f(n)=O(g(n))f(n) = O(g(n))f(n)=O(g(n)) 且 f(n)=Ω(g(n))f(n) = \Omega(g(n))f(n)=Ω(g(n)),记 f(n)=Θ(g(n))f(n) = \Theta(g(n))f(n)=Θ(g(n))。
    • 称 f(n)f(n)f(n) 与 g(n)g(n)g(n) 具有相同的增长率 (growth rate),不过它们的取值可能大不相同,因为渐进复杂度表示法比较的是函数的增长率。
  • f(n)=Ω(g(n))⇔g(n)=O(f(n))f(n) = \Omega(g(n)) \Leftrightarrow g(n) = O(f(n))f(n)=Ω(g(n))⇔g(n)=O(f(n))

1.1.4 关系 (relations)

一个关于集合 A1,A2,...,AnA_1, A_2, ..., A_nA1​,A2​,...,An​ 的 nnn 元关系 RRR 是 A1×A2×...×AnA_1\times A_2 \times ... \times A_nA1​×A2​×...×An​ 的子集。

给定两个集合 AAA 和 BBB,一个关系 RRR 是 A×BA\times BA×B 的一个子集,即 R⊆A×BR \subseteq A\times BR⊆A×B。

R={(x1,y1),(x2,y2),(x3,y3),...} R = \{(x_1, y_1), (x_2, y_2), (x_3, y_3), ...\} R={(x1​,y1​),(x2​,y2​),(x3​,y3​),...}

(xi,yi)∈R(x_i, y_i) \in R(xi​,yi​)∈R 可以写作 xiRyix_i R y_ixi​Ryi​,比如说如果 R=′>′R = '>'R=′>′,可以写 2>1,3>2,3>12 > 1, 3 > 2, 3 > 12>1,3>2,3>1。

等价关系

  • 自反性 (reflexive):xRxx R xxRx
  • 对称性 (symmetric):xRy⇒yRxxRy \Rightarrow yRxxRy⇒yRx
  • 传递性 (transitive):xRy∧yRz⇒xRzxRy \wedge yRz \Rightarrow xRzxRy∧yRz⇒xRz

比如说 = 关系是一个等价关系。

等价类

对于一个等价关系 RRR,定义 xxx 的等价类为

[x]R={y:xRy} [x]_R = \{y: xRy\} [x]R​={y:xRy}

比如说,

R={(1,1),(2,2),(1,2),(2,1),(3,3),(4,4),(3,4),(4,3)} R = \{(1, 1), (2, 2), (1, 2), (2, 1), (3, 3), (4, 4), (3, 4), (4, 3)\} R={(1,1),(2,2),(1,2),(2,1),(3,3),(4,4),(3,4),(4,3)}

则有 [1]R={1,2},[3]R={3,4}[1]_R = \{1, 2\}, [3]_R = \{3, 4\}[1]R​={1,2},[3]R​={3,4}。

再比如整数集可以按照模 5 的关系分成 5 个等价类:

{{0,5,10,...},{1,6,11,...},{2,7,12,...},{3,8,13,...},{4,9,14,...}} \{\{0,5,10,...\}, \{1,6,11,...\}, \{2,7,12,...\}, \{3,8,13,...\}, \{4,9,14,...\}\} {{0,5,10,...},{1,6,11,...},{2,7,12,...},{3,8,13,...},{4,9,14,...}}

字符串长度可以被用来划分所有的比特串:

{{},{0,1},{00,01,10,11},{000,...,111},...} \{\{\},\{0,1\},\{00,01,10,11\},\{000,...,111\},... \} {{},{0,1},{00,01,10,11},{000,...,111},...}

令 RRR 是 AAA 上的一个等价关系,则对于 ∀a,b∈A,[a]R=[b]R∨[a]R∩[b]R=∅\forall a, b\in A, [a]_R = [b]_R \vee [a]_R \cap [b]_R = \emptyset∀a,b∈A,[a]R​=[b]R​∨[a]R​∩[b]R​=∅。

称集合 AAA 上满足自反性,传递性与反对称性 (antisymmetric) 的二元关系 RRR 为偏序关系 (partial order)。

称集合 AAA 上满足 ∀a,b∈A,aRb∨bRa\forall a, b \in A, aRb \vee bRa∀a,b∈A,aRb∨bRa 的偏序关系为全序关系 (total order)。

全序也称之为线性序 (linear order),因为具有全序关系 RRR 的集合 AAA 中的元素可以排成一行,满足 aaa 在 bbb 的左边当且仅当 aRbaRbaRb。

1.1.5 图

一个有向图 (directed graph) G=(V,E)G = (V, E)G=(V,E):

graph

  • 结点 (nodes / vertices) 集 VVV

    V={a,b,c,d,e} V = \{a, b, c, d, e\} V={a,b,c,d,e}

  • 边 (edges) 集 EEE

    E={(a,b),(b,c),(b,e),(c,a),(c,e),(d,c),(e,b),(e,d)} E = \{(a,b), (b,c), (b,e),(c,a), (c,e), (d,c), (e,b), (e,d)\} E={(a,b),(b,c),(b,e),(c,a),(c,e),(d,c),(e,b),(e,d)}

标记图 (labeled graph)

为所有边打上标签的图称为标记图。

label

游走 (walk)

walk

游走是一系列相邻的边:

(e,d),(d,c),(c,a) (e, d),(d, c),(c, a) (e,d),(d,c),(c,a)

路径 (path)

路径是没有重复边的游走,简单路径 (simple path) 是没有重复结点的路径。

环 (cycle)

cycle

环是从一个结点(称为基础结点 base node)到它本身的游走,简单环是只有基础结点重复的环。

可达性 (reachable)

给定有向图 G=(V,E)G = (V, E)G=(V,E) 以及结点 u,vu, vu,v,称 vvv 从 uuu 可达,或者 uuu -可达,如果存在从 uuu 到 vvv 的路径。

1.1.6 树

树是一个没有环(无向环)的有向图。

tree

入度为 0 的结点是根结点 (root),出度为 0 的结点是树叶 (root),边总是从父母 (parent) 结点指向孩子 (child) 结点。

height

定义树上最长的路径的长度为树的高度 (height),从根结点到某结点的路径的长度为该结点的层 (level)。

1.1.7 证明方法

归纳法

有命题 P1,P2,P3,...P_1, P_2, P_3, ...P1​,P2​,P3​,...,如果我们知道:

  • 对于某个 bbb,P1,P2,...,PbP_1, P_2, ..., P_bP1​,P2​,...,Pb​ 是真的;
  • ∀k≥b,P1∧P2∧...∧Pk⇒Pk+1\forall k\ge b, P_1\wedge P_2\wedge ... \wedge P_k \Rightarrow P_{k+1}∀k≥b,P1​∧P2​∧...∧Pk​⇒Pk+1​; 则有 ∀i,Pi\forall i, P_i∀i,Pi​。

反证法

想要证明命题 PPP 为真:

  • 假设 PPP 为假;
  • 然后发现矛盾;
  • 从而 PPP 只能为真。

鸽笼原理 (Pigeon Hole Principle)

如果 n+1n + 1n+1 个物品被放倒了 nnn 个盒子里面,至少有一个盒子包含了至少 222 个物品。

可用反证法证明。

1.2 语言

1.2.1 定义

  • 语言 (language) 是字符串 (string) 的集合。
  • 字符串是一个字母 (letter) 或者符号 (symbol) 的序列 (sequence)。
    • 例如:cat,dog,house,...
    • 符号是由一个字母表 (alphabet) 定义的:

      Σ={a,b,c,...,z} \Sigma = \{a, b, c, ..., z\} Σ={a,b,c,...,z}

如果 Σ={a,b}\Sigma = \{a, b\}Σ={a,b},那么基于这个字母表可以有的字符串有:a,ab,abba 等等。

一般我们会用 u、v、w 之类的字母表示字符串,比如说 u=abu = abu=ab,v=bbbaaav = bbbaaav=bbbaaa,w=abbaw = abbaw=abba。

1.2.2 字符串操作

记 w=a1a2...an,v=b1b2...bmw = a_1a_2...a_n, v = b_1b_2...b_mw=a1​a2​...an​,v=b1​b2​...bm​,定义如下一些字符串操作:

  • 拼接 (concatenation)
    • wv=a1a2...anb1b2...bmwv = a_1a_2...a_nb_1b_2...b_mwv=a1​a2​...an​b1​b2​...bm​
  • 翻转 (reverse)
    • wR=an...a2a1w^R = a_n...a_2a_1wR=an​...a2​a1​
  • 长度 (length)
    • ∣w∣=n|w| = n∣w∣=n
    • ∣uv∣=∣u∣+∣v∣|uv| = |u| + |v|∣uv∣=∣u∣+∣v∣
  • 空串 (empty string)
    • 用 λ\lambdaλ 或者 ε\varepsilonε 表示
    • ∣λ∣=0|\lambda| = 0∣λ∣=0
    • λw=wλ=w\lambda w = w\lambda = wλw=wλ=w
  • 子串 (substring)
    • sss 是 xxx 的子串,如果存在字符串 y,zy, zy,z 使得 x=yszx = yszx=ysz。
    • 子串是原字符串的子序列。
  • 前缀与后缀
    • 当 x=szx = szx=sz 即 y=εy = \varepsilony=ε 时,称 sss 是 xxx 的一个前缀 (prefix);
    • 当 x=ysx = ysx=ys 即 z=εz = \varepsilonz=ε 时,称 sss 是 xxx 的一个后缀 (suffix)。
  • 重复 (repetition)
    • wn=ww...ww^n = ww...wwn=ww...w ( nnn 个相同的字符串拼接 )
    • 定义 w0=λw^0 = \lambdaw0=λ

练习

解方程:011x=x011011x = x011011x=x011。提示:对 xxx 的长度分类。

1.2.3 字母表的操作

  • * 操作
    • Σ∗\Sigma^{*}Σ∗:从字母表 Σ\SigmaΣ 产生的所有可能的字符串的集合。
      • 比如说 Σ={a,b}\Sigma = \{a, b\}Σ={a,b},有

        Σ∗={λ,a,b,aa,ab,ba,bb,aaa,aab,...} \Sigma^{*} = \{\lambda, a, b, aa, ab, ba, bb, aaa, aab, ...\} Σ∗={λ,a,b,aa,ab,ba,bb,aaa,aab,...}

      • 语言是字符串的集合,即 Σ∗\Sigma^*Σ∗ 的子集。
  • + 操作

    Σ+=Σ∗−{λ} \Sigma^{+} = \Sigma^{*} - \{\lambda\} Σ+=Σ∗−{λ}

辨析一些记号的含义:

  • 集合:∅={}≠{λ}\emptyset = \{\} \ne \{\lambda\}∅={}={λ}
  • 集合的势:
    • ∣{}∣=∣∅∣=0|\{\}| = |\emptyset| = 0∣{}∣=∣∅∣=0
    • ∣{λ}∣=1|\{\lambda\}| = 1∣{λ}∣=1
  • 字符串长度:
    • ∣λ∣=0|\lambda| = 0∣λ∣=0

有了上面的定义与记号之后,我们后续定义语言就方便多了。比如说 L={anbn:n≥0}L = \{a^nb^n: n\ge 0\}L={anbn:n≥0},则 λ∈L,ab∈L,aabb∈L,aaaaabbbbb∈L\lambda \in L, ab\in L, aabb \in L, aaaaabbbbb\in Lλ∈L,ab∈L,aabb∈L,aaaaabbbbb∈L,但 abb∉Labb \notin Labb∈/L。

1.2.4 语言操作

  • 通常的集合操作:
    • {a,ab,aaaa}∪{bb,ab}={a,ab,bb,aaaa}\{a, ab, aaaa\} \cup \{bb, ab\} = \{a, ab, bb, aaaa\}{a,ab,aaaa}∪{bb,ab}={a,ab,bb,aaaa}
    • {a,ab,aaaa}∩{bb,ab}={ab}\{a, ab, aaaa\} \cap \{bb, ab\} = \{ab\}{a,ab,aaaa}∩{bb,ab}={ab}
    • {a,ab,aaaa}−{bb,ab}={a,aaaa}\{a, ab, aaaa\} - \{bb, ab\} = \{a, aaaa\}{a,ab,aaaa}−{bb,ab}={a,aaaa}
  • 补集 (complement):L‾=Σ∗−L\overline{L} = \Sigma^* - LL=Σ∗−L
    • 例如:{a,ba}‾={λ,b,aa,ab,bb,aaa,...}\overline{\{a, ba\}} = \{\lambda, b, aa, ab, bb, aaa, ...\}{a,ba}​={λ,b,aa,ab,bb,aaa,...}
  • 翻转 (reverse):LR={wR:w∈L}L^{R} = \{w^{R}:w \in L\}LR={wR:w∈L}
    • 例如:L={anbn:n≥0},LR={bnan:n≥0}L = \{a^nb^n: n\ge 0\}, L^{R} = \{b^na^n: n\ge 0\}L={anbn:n≥0},LR={bnan:n≥0}
  • 拼接 (concatenation):L1L2={xy:x∈L1,y∈L2}L_1L_2 = \{xy: x\in L_1, y\in L_2\}L1​L2​={xy:x∈L1​,y∈L2​}
    • 例如:{a,ab,ba}{b,aa}={ab,aaa,abb,abaa,bab,baaa}\{a, ab, ba\}\{b, aa\} = \{ab, aaa, abb, abaa, bab, baaa\}{a,ab,ba}{b,aa}={ab,aaa,abb,abaa,bab,baaa}
    • 语言的拼接和字符串的拼接不一样,它的组合方式同笛卡尔积。
  • 多重拼接:Ln=LL...LL^{n} = LL...LLn=LL...L,等号右边共有 nnn 个语言的拼接。
    • 例如:{a,b}3={a,b}{a,b}{a,b}={aaa,aab,aba,abb,baa,bab,bba,bbb}\{a, b\}^3 = \{a, b\}\{a, b\}\{a, b\} = \{aaa, aab, aba, abb, baa, bab, bba, bbb\}{a,b}3={a,b}{a,b}{a,b}={aaa,aab,aba,abb,baa,bab,bba,bbb}
    • 特殊情况:L0={λ}L^0 = \{\lambda\}L0={λ}
  • 星闭包 (star-closure, kleene):L∗=L0∪L1∪L2∪...L^{*} = L^0 \cup L^1 \cup L^2 \cup ...L∗=L0∪L1∪L2∪...
    • 例如:{a,bb}∗={λ,a,bb,aa,abb,bba,bbbb,aaa,aabb,abba,abbbb,...}\{a, bb\}^{*} = \{\lambda, a, bb, aa, abb, bba, bbbb, aaa, aabb, abba, abbbb, ...\}{a,bb}∗={λ,a,bb,aa,abb,bba,bbbb,aaa,aabb,abba,abbbb,...}
  • 正闭包 (positive-closure):L+=L∗−{λ}L^{+} = L^{*} - \{\lambda\}L+=L∗−{λ}
帮助我改善此页面!
Last Updated: 12/25/2024, 2:15:27 AM
Contributors: 开心摸鱼, QuadnucYard, Kirisame, Logan, JacyCui
Prev
前言
Next
2 有穷自动机