美文网首页
正则语言

正则语言

作者: WILL_HUNTING | 来源:发表于2019-05-08 19:26 被阅读0次

计算机是一个很复杂的模型,首先从一个简单点模型入手。

2.1有穷自动机(FA)

有穷自动机是关于存储量极其有限的计算机很好的模型。

2.1.1 有穷自动机的形式定义

可以用状态图非形式的描述有穷自动机,也可以用形式语言描述。用形式语言来定义有穷自动机优点:

  • 首先形式定义是精确的,他能消除在有穷状态自动机中任何不明确的疑点。
  • 其次形式定义提供了一种表示方法,好的表示方法有助于思考和表达你的思想。

以下摘自百度百科

数学逻辑计算机科学中,形式语言英语:Formal language)是用精确的数学或机器可处理的公式定义的语言。
语言学中语言一样,形式语言一般有两个方面: 语法语义。专门研究语言的语法的数学和计算机科学分支叫做形式语言理论,它只研究语言的语法而不致力于它的语义。在形式语言理论中,形式语言是一个字母表上的某些有限长字符串集合。一个形式语言可以包含无限多个字符串。
按一定规律构成的句子或符号串的有限或无限的集合。

定义 2.1 有穷自动机是一个5元组(Q, \Sigma, \delta, q_0, F),其中:

1)Q是一个有穷集合,叫做状态集。

2)\Sigma是一个有穷集合,叫做字母表。

3)\delta: Q \times \Sigma \to Q,是状态转移函数。

4)q_0 \in Q是起始状态。

5)F \subseteq Q是接受状态集。

2.1.2 有穷自动机举例

设A是机器M接受的全部字符串集,称A是机器M的语言,记作L(M)=A。又称M识别A或M接受A

  1. A=\{\omega|\omega 至少含有一个1并且在最后的1后面有偶数个0\}

  2. fA=\{\omega|\omega 是含有奇数个1的字符串\}

  3. $A={\omega|\omega 含001最为字符串}

这个地方可以展开描述下字符串查找子串的方法,KMP貌似不是最优的。

2.1.3 计算的形式定义

如果一个语言能被有穷自动机识别,则称它是正则语言。

2.1.5 正则运算

并、连接、星号

正则语言类在并运算下封闭

正则语言类在连接运算下封闭

2.2 非确定性

在非确定型机器中,在任何一点,下一个状态可能存在若干选择。

2.2.1 非确定型有穷自动机的形式定义

** 定义2.17** 非确定型有穷自动机是一个5元组(Q, \Sigma, \delta, q_0, F)

2.2.2 NFA与DFA的等价性

显然,DFA是一台NFA

每一台非确定型有穷自动机都有一台等价的确定型有穷自动机。

一个语言是正则的,当且仅当一非确定型有穷自动机识别它。

2.3 正则表达式

可以用正则运算符构造描述语言的表达式。

2.3.1正则表达式的形式定义

2.3.2 与有穷自动机的等价性

一个语言是正则的,当且仅当可以用正则表达式描述它。

2.4 非正则语言

有穷自动机的局限性。

非正则语言:

  1. C=\{\omega|\omega 中的0和1相等\}

  2. D=\{\omega|\omega 中的01和10作为子串出现的次数相同\}

关于正则语言的泵引理

相关文章

  • 【编译原理】第三章:词法分析

    一、正则表达式(RE) 语言正则表达: 正则表达式可以由较小的正则表达式递归构建。每个正则表达式r定一个语言记作L...

  • 正则语言

    计算机是一个很复杂的模型,首先从一个简单点模型入手。 2.1有穷自动机(FA) 有穷自动机是关于存储量极其有限的计...

  • shell编程之正则表达式

    正则表达式在程序语言中很常见 有利于其他语言中正则表达式的学习 1.正则表达式 ?和()是拓展正则 若是以".$"...

  • MySQL 正则表达式查询

    正则表达式用来匹配文本的特殊的串(字符集合)。正则表达式用正则表达式语言来建立,正则表达式语言是用来完成匹配特殊的...

  • Python 学习笔记 070

    正则表达式学习 续3 语言注释的正则识别及解释 C语言为例 正则表达式的特殊用法 re.split()工具 pyt...

  • JS正则解析中文 省市县地区 地址

    正则 正则应该很多语言通用,java等语言可自行删改,我这里就列下JS的示例 示例 运行截图

  • 正则/grep

    正则介绍 什么是正则 * 正则就是一串有规律的字符串* 掌握好正则对于编写shell脚本有很大帮助* 各种编程语言...

  • R语言的正则表达式

    R语言之字符函数和正则表达式R语言的正则表达式(1)http://jingyan.baidu.com/articl...

  • 正则表达式基本知识

    以语言作类比介绍正则表达式 将正则表达式类比普通的语言 完整的正则表达式由两种字符构成: 元字符: 语法 普通文本...

  • 第二章第1节 正则表达式

    正则表达式 image.png 正则表达式的定义 image.png 例子 正则语言 image.png RE的代...

网友评论

      本文标题:正则语言

      本文链接:https://www.haomeiwen.com/subject/plvyoqtx.html