fbpx
维基百科

克莱尼代数

克莱尼代数(名稱源自于美国数学家逻辑学家 斯蒂芬·科尔·克莱尼)在数学中是下列两个事物之一:

定义 编辑

在文献中给出了 Kleene 代数和相关结构的各种不等价的定义。总揽可见 [1]。下面给出当代最常用的定义。

Kleene 代数是带有分别写为 a + baba* 的,两个二元运算 + : A × AA 和 · : A × AA,和一个函数 * : AA集合 A,所以满足下列公理。

  • + 和 · 的结合律: a + (b + c) = (a + b) + ca(bc) = (ab)c 对于 A 中所有的 a, b, c
  • + 的交换律: a + b = b + a 对于 A 中所有的 a, b
  • 分配律: a(b + c) = (ab) + (ac) 和 (b + c)a = (ba) + (ca) 对于 A 中所有的 a, b, c
  • + 和 · 的单位元: 对于 A 中所有的 a 存在一个 A 中元素 0 使得: a + 0 = 0 + a = a。 对于 A 中所有的 a 存在一个 A 中元素 1 使得: a1 = 1a = a
  • a0 = 0a = 0 对于 A 中所有的 a

上述公理定义了一个半环。我们进一步要求:

  • + 是等幂的: a + a = a 对于 A 中所有的 a

现在可以定义在 A 上的偏序 ≤,通过设定 ab 当且仅当 a + b = b (或等价的: ab 当且仅当 A 存在一个 x 使得 a + x = b)。通过这个次序我们可以公式化关于运算 * 的最后两个公理:

  • 1 + a(a*) ≤ a* 对于 A 中所有的 a
  • 1 + (a*)aa* 对于 A 中所有的 a
  • 如果 axA 中使得 axx,则 a*xx
  • 如果 axA 中使得 xax,则 x(a*) ≤ x

在直觉上,我们应当把 a + b 当作"并"或 ab 的"最小上界",和把 ab 当作某种单调性的乘法,在 ab 蕴涵 axbx 的意义上。星号背后的想法是 a* = 1 + a + aa + aaa + ... 从编程理论的观点,你还可以把 + 解释所谓"选择",把 · 解释为"顺序",把 * 解释为"重复"。

例子 编辑

设 Σ 是有限集合("字母表")并设 A 是在 Σ 上所有正则表达式的集合。我们认为两个正则表达式是相等的,如果它们描述同样的语言。则 A 形成一个 Kleene 代数。事实上,这是自由 Kleene 代数,在正则表达式上的任何等式都从 Kleene 代数的公理得出,并且因此在所有 Kleene 代数中都是有效的意义上。

再次设 Σ 是字母表。设 A 是在 Σ 上所有正则语言的集合(或在 Σ 上所有上下文无关语言的集合;或在 Σ 上所有递归语言的集合;或在 Σ 上所有语言的集合)。则 A 的两个元素的并集(写为 +)和串接(写为 ·)再次属于 A,并且 Kleene星号运算也适用于 A 的任何元素。我们获得了 0 为空集而 1 为只包含空字符串的集合的 Kleene 代数 A

M 是带有单位元 e幺半群,并设 AM 的所有子集的集合。对于两个这样的子集 ST,设 S + TST 的并集并设 ST = {st : sStT}。S* 被定义为 S 生成的 M 的子幺半群,它可以被描述为 {e} ∪ SSSSSS ∪ ... 则 A 形成 0 为空集而 1 为 {e} 的 Kleene 代数。对任何小范畴都可以进行类似的构造。

假设 M 是一个集合而 A 是在 M 上所有二元关系的集合。采用 + 为并,· 为复合,* 为自反传递凸包(hull),我们就得到了 Kleene 代数。

带有运算 ∨ 和 ∧ 的所有布尔代数成为 Kleene 代数,如果我们对 + 使用 ∨,对 ·使用 ∧,并对所有 a 设立 a* = 1。

在计算权重有向图中的最短路径的时候一个非常不同的 Kleene 代数是有用的: 设 A扩展的实数轴,采用 a + bab 的最小者,而 abab 的普通和(带有 +∞ 和 -∞ 的和并定义为 +∞)。a* 被定义对非负 a 为实数零对负 a 为 -∞。这是带有零元素 +∞ 和一元素是实数零的 Kleene 代数。

性质 编辑

零是最小元素: 0 ≤ a 对于 A 中所有的 a

a + b 的和是 ab 的最小上界: 我们有 aa + bba + b 并且如果 xA 的一个元素有着 axbx,则 a + bx。类似的,a1 + ... + an 是元素 a1, ..., an 的最小上界。

乘法和加法是单调性的: 如果 ab,则 a + xb + xaxbxxaxb 对于 A 中所有的 x

关于 * 运算,我们有 0* = 1 和 1* = 1,* 是单调性的(ab 蕴涵 a* ≤ b*),而 ana* 对于所有自然数 n。进一步的,(a*)(a*) = a*、(a*)* = a* 和 ab* 当且仅当 a* ≤ b*。

如果 A 是 Kleene 代数而 n 是自然数,则你可以认为集合 Mn(A) 由带有 A 中条目的所有 n×n 矩阵构成。使用普通的矩阵加法和乘法概念,你可以定义一个唯一的 *-运算,所以 Mn(A) 成为一个 Kleene 代数。

历史 编辑

Kleene 代数不是 Kleene 定义的;他介入了正则表达式并寻求一个完备的公理集合来允许在正则表达式上的所有等式的推导。首先约翰·何顿·康威正则代数的名义下研究了这个问题。Dexter Kozen 最先证明了 Kleene 代数的公理解决了这个问题。

参见 编辑

引用 编辑

  1. Dexter Kozen: On Kleene algebras and closed semirings. In Rovan, editor, Proc. Math. Found. Comput. Sci., volume 452 of Lecture Notes in Computer Science, pages 26-47. Springer, 1990. Online at

克莱尼代数, 本條目存在以下問題, 請協助改善本條目或在討論頁針對議題發表看法, 此條目已列出參考文獻, 但文內引註不足, 部分內容的來源仍然不明, 2021年1月18日, 请加上合适的文內引註来改善此条目, 此條目已列出參考文獻, 但因為沒有文內引註而使來源仍然不明, 2021年1月18日, 请加上合适的文內引註来改善这篇条目, 此條目或其章節极大或完全地依赖于某个单一的来源, 2021年1月18日, 请协助補充多方面可靠来源以改善这篇条目, 致使用者, 请搜索一下条目的标题, 来源搜索, 网页, 新闻, 书籍,. 本條目存在以下問題 請協助改善本條目或在討論頁針對議題發表看法 此條目已列出參考文獻 但文內引註不足 部分內容的來源仍然不明 2021年1月18日 请加上合适的文內引註来改善此条目 此條目已列出參考文獻 但因為沒有文內引註而使來源仍然不明 2021年1月18日 请加上合适的文內引註来改善这篇条目 此條目或其章節极大或完全地依赖于某个单一的来源 2021年1月18日 请协助補充多方面可靠来源以改善这篇条目 致使用者 请搜索一下条目的标题 来源搜索 克莱尼代数 网页 新闻 书籍 学术 图像 以检查网络上是否存在该主题的更多可靠来源 判定指引 此條目需要补充更多来源 2021年1月18日 请协助補充多方面可靠来源以改善这篇条目 无法查证的内容可能會因為异议提出而被移除 致使用者 请搜索一下条目的标题 来源搜索 克莱尼代数 网页 新闻 书籍 学术 图像 以检查网络上是否存在该主题的更多可靠来源 判定指引 克莱尼代数 名稱源自于美国数学家逻辑学家 斯蒂芬 科尔 克莱尼 在数学中是下列两个事物之一 带有满足德 摩根定律和不等式 x x y y 的对合 补 运算的有界分配格 所以所有布尔代数都是 Kleene 代数 但是多数 Kleene 代数不是布尔代数 如同布尔代数有关于经典命题逻辑 Kleene代数有关于Kleene的三值逻辑 推广来源自正则表达式的运算的代数结构 本文余下部分采用这种Kleene代数的概念 目录 1 定义 2 例子 3 性质 4 历史 5 参见 6 引用定义 编辑在文献中给出了 Kleene 代数和相关结构的各种不等价的定义 总揽可见 1 下面给出当代最常用的定义 Kleene 代数是带有分别写为 a b ab 和 a 的 两个二元运算 A A A 和 A A A 和一个函数 A A 的集合 A 所以满足下列公理 和 的结合律 a b c a b c 和 a bc ab c 对于 A 中所有的 a b c 的交换律 a b b a 对于 A 中所有的 a b 分配律 a b c ab ac 和 b c a ba ca 对于 A 中所有的 a b c 和 的单位元 对于 A 中所有的 a 存在一个 A 中元素 0 使得 a 0 0 a a 对于 A 中所有的 a 存在一个 A 中元素 1 使得 a1 1a a a0 0a 0 对于 A 中所有的 a 上述公理定义了一个半环 我们进一步要求 是等幂的 a a a 对于 A 中所有的 a 现在可以定义在 A 上的偏序 通过设定 a b 当且仅当 a b b 或等价的 a b 当且仅当 A 存在一个 x 使得 a x b 通过这个次序我们可以公式化关于运算 的最后两个公理 1 a a a 对于 A 中所有的 a 1 a a a 对于 A 中所有的 a 如果 a 和 x 在 A 中使得 ax x 则 a x x 如果 a 和 x 在 A 中使得 xa x 则 x a x 在直觉上 我们应当把 a b 当作 并 或 a 和 b 的 最小上界 和把 ab 当作某种单调性的乘法 在 a b 蕴涵 ax bx 的意义上 星号背后的想法是 a 1 a aa aaa 从编程理论的观点 你还可以把 解释所谓 选择 把 解释为 顺序 把 解释为 重复 例子 编辑设 S 是有限集合 字母表 并设 A 是在 S 上所有正则表达式的集合 我们认为两个正则表达式是相等的 如果它们描述同样的语言 则 A 形成一个 Kleene 代数 事实上 这是自由 Kleene 代数 在正则表达式上的任何等式都从 Kleene 代数的公理得出 并且因此在所有 Kleene 代数中都是有效的意义上 再次设 S 是字母表 设 A 是在 S 上所有正则语言的集合 或在 S 上所有上下文无关语言的集合 或在 S 上所有递归语言的集合 或在 S 上所有语言的集合 则 A 的两个元素的并集 写为 和串接 写为 再次属于 A 并且 Kleene星号运算也适用于 A 的任何元素 我们获得了 0 为空集而 1 为只包含空字符串的集合的 Kleene 代数 A 设 M 是带有单位元 e 的幺半群 并设 A 是 M 的所有子集的集合 对于两个这样的子集 S 和 T 设 S T 是 S 和 T 的并集并设 ST st s S t T S 被定义为 S 生成的 M 的子幺半群 它可以被描述为 e S SS SSS 则 A 形成 0 为空集而 1 为 e 的 Kleene 代数 对任何小范畴都可以进行类似的构造 假设 M 是一个集合而 A 是在 M 上所有二元关系的集合 采用 为并 为复合 为自反传递凸包 hull 我们就得到了 Kleene 代数 带有运算 和 的所有布尔代数成为 Kleene 代数 如果我们对 使用 对 使用 并对所有 a 设立 a 1 在计算权重有向图中的最短路径的时候一个非常不同的 Kleene 代数是有用的 设 A 是扩展的实数轴 采用 a b 为 a 和 b 的最小者 而 ab 是 a 和 b 的普通和 带有 和 的和并定义为 a 被定义对非负 a 为实数零对负 a 为 这是带有零元素 和一元素是实数零的 Kleene 代数 性质 编辑零是最小元素 0 a 对于 A 中所有的 a a b 的和是 a 和 b 的最小上界 我们有 a a b 和 b a b 并且如果 x 是 A 的一个元素有着 a x 和 b x 则 a b x 类似的 a1 an 是元素 a1 an 的最小上界 乘法和加法是单调性的 如果 a b 则 a x b x ax bx 和 xa xb 对于 A 中所有的 x 关于 运算 我们有 0 1 和 1 1 是单调性的 a b 蕴涵 a b 而 an a 对于所有自然数 n 进一步的 a a a a a 和 a b 当且仅当 a b 如果 A 是 Kleene 代数而 n 是自然数 则你可以认为集合 Mn A 由带有 A 中条目的所有 n n 矩阵构成 使用普通的矩阵加法和乘法概念 你可以定义一个唯一的 运算 所以 Mn A 成为一个 Kleene 代数 历史 编辑Kleene 代数不是 Kleene 定义的 他介入了正则表达式并寻求一个完备的公理集合来允许在正则表达式上的所有等式的推导 首先约翰 何顿 康威在正则代数的名义下研究了这个问题 Dexter Kozen 最先证明了 Kleene 代数的公理解决了这个问题 参见 编辑代数结构 Kleene星号 正则表达式 作用代数引用 编辑Dexter Kozen On Kleene algebras and closed semirings In Rovan editor Proc Math Found Comput Sci volume 452 of Lecture Notes in Computer Science pages 26 47 Springer 1990 Online at https web archive org web 20060923121313 http www cs cornell edu kozen papers kacs ps 取自 https zh wikipedia org w index php title 克莱尼代数 amp oldid 76106689, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。