北邮自动机关于正则表达式

151 阅读2分钟

基础知识:

  • 文法是用来描述语言结构的形式化系统,它由一组产生式规则组成,规定了语言中有效句子的构造方式。

  • 语言是由一组字符串集合构成的集合,这些字符串遵循某种特定规则或模式。

  • 表达式可以用来描述语言的结构特征,例如正则表达式描述字符串的规则或文法中的产生式描述句子的构造方式。

文法和自动机关系如下:

  1. 文法可以生成语言,而自动机可以接受语言。这是文法和自动机的基本对应关系。文法定义了一种语言的结构,而自动机可以根据文法生成的语言进行识别或处理。
  2. 从文法到自动机:可以将一个给定的文法转换成一个等价的自动机,比如上下文无关文法可以转换成等价的确定性或非确定性有限状态自动机,这种转换可以通过分析文法的产生式规则以及对应的状态转移实现。
  3. 从自动机到文法:同样地,可以将一个给定的自动机转换成一个等价的文法,这种转换称为状态机转换成文法。这种转换的方法包括将状态机中的状态以及状态转移关系转换成文法的产生式。

如果一个集合是正则集,则它一定能写成一个正则表达式,一个正则集一定有与之相对应的NFA,这个NFA可以转化为DFA

正则集是右线性文法所产生的语言,一个语言是正则集,当且仅当该语言为右线性语言(证明略)

image.png 因此对于作业题如上图,我们应该试着写出正则集的右线性文法或者试着把集合试着用有限自动机表示出来,其定义如下

image.png