📜  自动机中的商运算

📅  最后修改于: 2021-09-27 14:59:18             🧑  作者: Mango

概述 :
根据自动机的理论方面,商操作可以定义为识别给定自动化的超集的技术,特别是对于给定的形式语言字符串(形式语言是从有限字母表中提取的一组符号字符串。它可以具有基于正则表达式的规则或生成/接受语言的上下文无关语法)。因此,商自动机可以通过加入它的一些状态从给定的非确定性有限自动化中获得。

商操作的闭包性质:
自动机理论中商运算的一些常见且重要的闭包性质如下。

  • 正则语言与任何其他语言的商运算是正则的。
  • 上下文无关语言与常规语言的商运算是上下文无关的。
  • 两种递归可枚举语言的商运算是递归可枚举的。
  • 两种上下文无关语言的商运算可以是任何递归可枚举语言。

商数运算的类型:
商数运算可分为以下两部分。

类型 1 :
右商(右切)-

L1/L2 = { a | ab ∈  L1 for some b ∈  L2 }                                 

这里,∑(a,b)。给定的表达式说明了语言 L1 相对于 L2 的右商运算,L2 是由字符串’b’ 组成的语言,因此对于 L2 中的某个字符串’b’,’ab’ 在 L1 中。

示例-1:

Let   L1 = { hooray, sunray, defray, ray},  
      L2 = { ray}
so,   L1/L2 = { hoo , sun, def,  ∈ } 

示例 2 :

Let   L1 = {∈, a, ab, aba, abab, ... },  
      L2 = { b, bb, bbb, bbbb, ... }
so,   L1/L2 = { a, aba, ababa, ... } 

类型 2 :
左商(左切)-

L1/L2 = { b | ab ∈  L1 for some a ∈  L2 }                                

这里,∑(a,b)。给定表达式规定相对于L2语言L1的左侧商操作是由字符串的语言“A”,使得“AB”是在L1为“a”的L2一些字符串。

示例-1:

Let   L1 = { match, matter, mat, matzoth },  
      L2 = { mat}
so,   L1/L2 = { tch , ter, ∈ , zoth } 

示例 2 :

Let   L1 = { 10, 100, 1010, 101110},  
      L2 = { 10}
so,   L1/L2 = { ∈ , 0, 10, 1110 }