• 形式语言


    字母表和串

    定义

    字母表:指一个有限的非空符号集∑,∑中元素称为字母

    :∑*为所有由∑中元素生成的有限长度序列全体,∑*中元素称为∑上的词(world)或串(string),即串是有限长度的符号序列

    空串:*中的空序列称为空串,习惯上使用λ或ε表示,用Λ表示集合{λ}

    概念

    串的长度:串w中所含字母的个数(即序列的项数),记作|w|

    可以这样理解,字母表是有限的符号集,串是有限长度的符号序列

    连接运算:假设$w_1 = s_{1}s_{2}s_{3}...s_{n}$和$w_{2} = t_{1}t_{2}t_{3}...t_{n}$都是字母表∑上的串,则$w_1$和$w_2$的连接定义为$s_{1}s_{2}s_{3}...s_{n}t_{1}t_{2}t_{3}...t_{n}$,记作$w_{1}°w_{2}$或$w_{1}w_{2}$,°称作∑*上的连接运算

     常见的字母表有:

    • ∑={0,1},二进制字母表
    • ∑={a,b,c,...z},所有小写字母的集合
    • 所有ASCII字符的集合,或者所有课打印的ASCII字符的集合

    w的n次幂:假设w是字母表∑上的串,则可以定义w上的n次幂wn为:(递归定义)

    • w0 = λ
    • wn = wn-1°w,n≥1

    前缀、真前缀、后缀、真后缀:

    假设x,y,z是字母表∑上的串,且x=yz,则

    • 称y是x的前缀(prefix
    • 如果z∉λ,则称y是x的真前缀(proper prefix
    • 称z是x的后缀(suffix
    • 如果y∉λ,则称y是x的真后缀(proper suffix

    字串:假设x,y是字母表Σ上的串,且存在字母表∑上的串z,w,使得x = zyw,则称y是x的字串(substring

    易知,字符串w的前缀个数|x|+1,后缀个数|x|+1,字串个数n(n+1)/2 + 1

    形式语言

    语言

    分为自然语言和形式语言

    自然语言:词汇、发音及其组合方法,以在一个社会群体中使用和理解,这通常称为自然语言(nature language

    形式语言:一种由标记和符号组成的形式化系统,包括该系统所容许的表达式的形成和转换的规则,这通常称为形式语言(formal language

    后者常用于建立自然语言模型及同计算机通信。

    自然语言的规则及其复杂且难以规则化,而形式语言可以通过一些确定的语言构造。

    语言的定义

    语言是符合语法的句子的集合,下面来定义形式的“语言”:

    设∑是有限字母表,∑*上的任一个子集都称为∑上的语言language),语言L的元素称为句子

    • ∑上语言的串不必包含∑上的所有符号
    • 语言可分为有穷语言和无穷语言

    语言的运算

    连接运算:设L1和L2是有限字母表∑上的两个语言,则可定义L1与L2的连接L1°L2为

                                                  L1°L2={αβ|α∈L1,β∈L2}

    L1°L2也可简写做L1L2,通常来讲L1L2 ≠ L2L1,即不满足交换律

    假设∑是一个字母表,则φ(∑*)即为∑上所有语言的全体,它在语言的连接运算下也形成特定的代数结构

    定理:假设∑是一个字母表,则(φ(∑*),°)构成一个半群

    n次幂:设L是有限字母表∑上的语言,定义L的n次幂Ln

    • L0 = Λ
    • Ln = Ln-1 ° L,n≥1

    正闭包和星闭包:

    设L是有限字母表∑上的语言

    L的正闭包$L^{+} = L^{1}{cup}L^{2}{cup}L^{3}{cup}...$

    L的星闭包$L^{*} = {Lambda}{cup}{L^{+}} = L^{0}{cup}L^{1}{cup}L^{2}{cup}L^{3}{cup}...$

    例如,${Lambda}^{+} = {Lambda}^{*} = {Lambda}$

    参考链接:中国大学mooc 刘铎 离散数学

            

  • 相关阅读:
    剑指 Offer 50. 第一个只出现一次的字符
    剑指 Offer 42. 连续子数组的最大和
    剑指 Offer 41. 数据流中的中位数
    剑指 Offer 40. 最小的k个数
    剑指 Offer 39. 数组中出现次数超过一半的数字
    剑指 Offer 38. 字符串的排列
    MySQL更改密码
    WPF中的MySQLHelper
    WPF多线程
    mysql-5.7.28-winx64(压缩包)安装教程
  • 原文地址:https://www.cnblogs.com/lfri/p/10319090.html
Copyright © 2020-2023  润新知