汤普森构造法

✍ dations ◷ 2025-08-23 00:34:54 #汤普森构造法

汤普森构造法在计算机科学中是指一个能将正则表达式转化为一个与之等价的非确定有限状态自动机(NFA)的算法。算法得到的NFA可以在编程中用于匹配一个正则表达式,这也是正则表达式引擎实现的基本思路之一。

正则表达式和非确定有限状态自动机是形式语言的两种不同的抽象表达方式。在诸如文本编辑器的高级“查找和替换”以及许多编程语言中,人们都习惯使用正则表达式来表示字符串的匹配模式。然而,当计算机执行匹配程序时,NFA却是更加适合的一种格式。因此,汤普森构造法有着重要的应用价值,它实际上可以视作正则表达式到NFA的一个编译器。而从理论角度上来说,该算法实际上是正则表达式和NFA等价性证明的一部分——事实上,这两种表述形式本质上都对应着相同的语言,即正则语言。

在应用中,算法得到的NFA可以再次通过幂集构造和最小化的过程得到一个对应的最简的确定有限状态自动机(DFA),进而用于匹配正则表达式。但是有些情况下也会直接使用对应的NFA。

算法通过递归地将一个正则表达式划分成构成它的子表达式,在得到每个子表达式对应的NFA之后,根据子表达式之间的运算关系和一系列规则构造表达式自身对应的NFA。具体来说,这套构造规则如下所示 :

对于正则表达式为ε或者只由一个符号构成的情况,则无需继续递归,对应的NFA可以直接由下列规则给出:

空表达式ε直接转化为:

直接转化为:

|可以转化为:

可以直接到达()或()的初态。而()或()原来的终态也可以通过ε转移直接到达整个NFA的新终态。

连接表达式可以转化为:

()的初态成为新的NFA的初态。 原来()的终态成为()的初态。而原来()的终态成为新的NFA的终态。

Kleene*闭包*可以转化为:

()连接起来的ε转移使得可以选择经过或者不经过子表达式。而从()的终态到初态的ε转移使得可以重复任意多次。

相关

  • 泌尿道泌尿系统(英语:Urinary system),有时也归类于排泄系统(英语:Excretory system)(Excretory system)的一部分,负责尿液的产生、运送、储存与排泄。人类的泌尿系统包括左右两颗肾脏、左右
  • 歌唱歌唱,或唱歌,是指人类透过发声器官产生音乐的过程。进行歌唱的人、或是以歌唱为职业的人称为歌手。歌唱可以作为在正式场合的一种表演艺术、可以是有宗教、教育、营利等目的、
  • 地名地名即一个地区的名称。地名的形成,受该地的地理、历史、民族和语言所影响,是社会发展的产物。地名可被视为一种“活化石”,了解该地区的环境发展和变迁。地名一般可分为通名和
  • 员林客运员林汽车客运股份有限公司(英语:Yuan Lin Bus Co., Ltd.),简称员林客运、员客,由日治时期的员林乘合自动车株式会社,于1942年(昭和十七年)2月28日创立,战后改制为员林汽车客运公司,简
  • 卵黄生成素卵黄生成素(vitellogenin,缩写作Vg),又名卵黄蛋白原,同是基因和此基因所表达的蛋白质的名称。这种蛋白质被分类为“糖脂蛋白”(glyco-lipo-protein),就是说它同时具有糖和脂肪的属性
  • 潘雨桐潘雨桐(1937年8月23日-)是一位马来西亚华人作家。原名潘贵昌,祖籍广东梅县,生于森美兰文丁镇(Mantin)。中学以笔名凌紫投稿,散见《星洲日报》。1957年毕业于新加坡中正中学,1962年毕
  • 光耀剧团光耀剧团(Illustre Théâtre),一译作盛名剧团,是法国剧作家莫里哀于1643年6月30日在巴黎所筹组的一个剧团,也是莫里哀最早投入的戏剧团体。除了莫里哀本人作为团长之外,还有女演
  • 朱弼枳开化僖宪王朱弼枳(16世纪-1614年前),明朝肃藩第一代开化王,肃安和世子(追封肃靖王)朱真淤的庶第六子。朱弼枳初封镇国将军。因朱弼枳之父肃靖王朱真淤系死后追封,其庶子例不得王。鉴
  • 洪佳林洪佳林(1961年-),男,汉族,中华人民共和国数学家,中国科学院数学与系统科学研究院研究员、博士生导师,第十一、十二届全国政协委员,主要工作领域为计算数学与应用数学,研究方向为动力系统保结构算法理论与应用,包括确定与随机哈密尔顿系统辛几何算法、确定与随机哈密尔顿偏微分方程的多辛几何算法、李群算法以及确定与随机微分系统的守恒型算法等。1994年加入中国国民党革命委员会,曾任民革中央委员,民革北京市委常委,民革中国科学院委员会主委。曾任中国科学院数学与系统科学研究院院长助理。2007年,当选中国科学院工会副
  • 傅光明 (作家)傅光明(1965年5月2日-),男,北京人,中国现代文学研究学者、翻译家。首都师范大学教授。1986年毕业于北京大学分校中文系。他曾师从萧乾,并在中国现代文学馆供职34年。2005年毕业于河南大学中国现当代文学专业,获博士学位,论文《老舍之死与口述历史》。后进入复旦大学中国语言文学博士后流动站,任《中国现代文学研究丛刊》常务副主编、中国博物馆协会文学专业委员会常务副主任委员、中国老舍研究会副会长等。2020年正式入职首都师范大学外国语学院,为本科生和研究生讲授文学翻译。