finite-automata相关内容

图形绘制算法 - 我正在尝试渲染有限状态自动机

我想写一些可以绘制有限状态自动机的东西.有没有人知道与此相关的任何算法? 编辑:我应该提到我知道graphviz.我想构建我自己的绘图程序/函数,所以我正在寻找一些更多的理论内容/算法伪代码. 解决方案 图形绘制是一个相当复杂的主题,因为不同的图形需要以不同的方式绘制 - 没有一种算法适合所有方法. > 我可以推荐以下资源吗: http://cs.brown.edu/peo ..
发布时间:2021-12-24 14:34:46 其他开发

有没有典型的状态机实现模式?

我们需要在 C 中实现一个简单的状态机. 标准的 switch 语句是最好的方法吗? 我们有一个当前状态(state)和一个转换触发器. 开关(状态){案例状态_1:state = DoState1(transition);休息;案例状态_2:state = DoState2(transition);休息;}...DoState2(int 转换){//做状态工作...如果(转换 == FRO ..
发布时间:2021-12-22 08:39:01 其他开发

可以使用正则表达式匹配嵌套模式吗?

是否可以编写一个正则表达式来匹配出现次数未知的嵌套模式?例如,当外大括号内嵌套了未知数量的左大括号时,正则表达式是否可以匹配左大括号和右大括号? 例如: public MyMethod(){如果(测试){//更多的 { }}//更多的 { }}//结尾 应该匹配: {如果(测试){//更多的 { }}//更多的 { }} 解决方案 没有.就这么简单.有限自动机(它是正则表达式底层的 ..
发布时间:2021-12-02 23:10:01 其他开发

(有限状态机) - 在 javascript 中实现 XML 模式验证器

我已经在一个项目上工作了一个月左右,以在 javascript 中开发 XML 验证器 (XSD).我已经非常接近,但一直遇到问题. 我唯一做得好的就是将模式结构规范化为我存储在 DOM 中的 FSA.我尝试了多种方法来根据 FSA 验证我的 xml 结构,但每次都失败. 验证器用于运行客户端 WYSIWYG XML 编辑器,因此它必须满足以下要求 必须是高效的(即使使用复杂模型 ..
发布时间:2021-10-01 19:42:17 前端开发

用于绘制自动机和语法树的工具

我正在寻找一种免费工具来创建视觉上吸引人的有限自动机和语法树图. 注意:我真的只想画图.我不必创建模型或用它做一些花哨的事情. 感谢您的时间. 编辑: 我可能要补充一点,我正在用 Latex 制作文档,因此我也对基于 tex 的图表解决方案持开放态度. 解决方案 Graphviz 是否满足您的需求:从文本创建图表例子:http://www.graphviz.org/Gall ..
发布时间:2021-09-25 20:02:29 其他开发

你如何构建两个 DFA 的联合?

有没有人对构造两个给定 DFA 的并集的算法有一个简单的描述?例如,假设我们有两个超过 {0,1} 的 DFA,其中 {w|w 有奇数个字符}w 有状态 A 和 B三角洲 |0 |1----------------一个 |乙 |乙----------------乙 |一个 |一种{x|x 有偶数个 1}x 有状态 a 和 b三角洲 |0 |1----------------||乙-------- ..
发布时间:2021-09-09 19:20:43 其他开发

有限自动机有什么用?

有限自动机有什么用?以及我们在计算理论中研究的所有概念.我从未见过它们的用途. 解决方案 它们是计算机科学和编程中广泛使用的概念的理论基础,理解它们可以帮助您更好地理解如何使用它们(以及它们的限制是什么).您应该遇到的三个基本问题是,按功率递增的顺序: 有限自动机,相当于正则表达式.正则表达式在编程中广泛用于匹配字符串和提取文本.它们是使用基本字符、分组和重复描述一组有效字符串的简单 ..
发布时间:2021-09-07 18:30:47 其他开发

如何确定上下文无关的语法是否描述了常规语言?

鉴于任意上下文无关的语法,我如何检查它是否描述了常规语言? 我不是在寻找考试“技巧".我正在寻找可以编写的万无一失的机械测试. 如果有帮助,这是我可能会收到的CFG示例.具体来说,请注意,答案必须比查找左或右递归复杂得多,因为存在另一种递归并不自动表示语法是不规则的. S:A B C D X答:A:B:b BB:C:c C cC:D:D d DD:dX:x YX:Y:y XY: ..

创建词法分析器最有效的方法是什么?

我目前正在尝试学习如何手工创建自己的词法分析器。我一直在使用Flex(以及Bison)进行练习和学习它在内部的工作方式,但是我目前至少看到3种不同的解决方案来开发自己的解决方案。 使用一个RE列表,遍历每个RE并匹配,只需返回关联的令牌(请参阅有关RE的python文档) 从RE创建DFA (例如,Flex也是如此:基于RE,创建一个大型状态机) 使用很多切换用例或if语句创建我自己的“ ..
发布时间:2020-10-06 21:39:20 其他开发

非线性,不确定性和不确定性CFL的示例?

在乔姆斯基形式语言的分类中,我需要一些Non-Linear, Unambiguous and also Non-Deterministic上下文无关语言(N-CFL)的示例? 线性语言:对于哪个线性语法可能(⊆CFG),例如 L 1 = {a n b n | n≥0} 确定性上下文无关语言(D-CFG):例如,对于确定性下推自动机(D-PDA)可能是可行的, L 2 = {a n ..

什么是有限状态传感器?

有人可以告诉我什么是有限状态传感器吗? 我已阅读 Wikipedia文章,但一无所知. 解决方案 有限状态传感器(FST)是一种有限状态自动机(FSA,FA),它可以产生输出并读取输入,这对于解析非常有用. (而“裸" FSA仅可用于识别,即模式匹配). FST由有限数量的状态组成,这些状态由带有输入/输出对标记的转换链接. FST从指定的开始状态开始,并根据输入跳到不同的状态 ..

实用的非图灵完整语言?

几乎所有使用的编程语言都是 Turn Complete ,尽管这提供了代表任何语言的语言可计算算法,它还带有自己的 正则表达式用于匹配字符串和 编辑:我应该通过“通用"来阐明,我不一定希望能够用该语言编写所有停止算法(我认为这样的语言不会存在) ),但我怀疑暂停证明中存在一些通用线程,可以将其通用化,以产生一种可以保证所有算法都停止的语言. 还有另一种解决此问题的方法-消除对理论上无限内存的 ..

有限自动机,下推自动机和图灵机示例

我正在寻找有限自动机,下推自动机和图灵机任务示例(用于手动手动解决)的良好来源. 我正在四处搜寻,但没有发现任何特别之处,因此我想知道是否有人提供了一些很好的例子.预先感谢. 解决方案 您最好的选择是获取有关该主题的书,例如有关自动机问题集和解决方案的信息,请查看希望这会有所帮助! ..
发布时间:2020-07-04 20:20:31 其他开发

如何在代码中实现有限自动机?

如何在Python代码中为此实现dfa或nfa? 在python中有哪些好的方法? 他们曾经在现实世界的项目中使用过吗? 解决方案 表示DFA的直接方法是将其作为词典的字典.对于每个州,创建一个由字母字母作为键的字典,然后创建一个由州作为键的全局字典.例如,以下有关DFA的维基百科文章 中的以下DFA 可以用这样的字典表示: dfa = {0:{'0':0, '1':1}, ..
发布时间:2020-07-01 18:34:52 Python

DFA与NFA引擎:它们的功能和局限性有什么区别?

我正在寻找基于DFA和NFA引擎之间功能和局限性的非技术性解释. 解决方案 确定性有限自动机(DFAs)和非确定性有限自动机(NFA)具有完全相同的功能和局限性.唯一的区别是符号方便. 有限自动机是具有状态并读取输入的处理器,每个输入字符都有可能将其设置为另一状态.例如,一个状态可能是“连续读取两个C"或“一个单词开始读".这些通常用于快速扫描文本以找到模式,例如对源代码进行词法扫描 ..
发布时间:2020-07-01 18:34:21 其他开发

根据确定性有限自动机每次到达最终状态时是否拆分字符串?

我有一个问题,该问题的解决方案可以通过迭代解决,但是我想知道是否存在使用正则表达式和split() 的更优雅的解决方案 我有一个字符串(excel把它放在剪贴板上),从本质上说,它是逗号分隔的.需要注意的是,当单元格值包含逗号时,整个单元格都用引号引起来(大概是为了避免该字符串中的逗号).字符串示例如下: 123,12,"12,345",834,54,"1,111","98,273"," ..
发布时间:2020-06-11 19:11:50 其他开发

“δ:Q×Σ→Q"如何变化?是否读过DFA(确定性有限自动机)的定义?

您怎么说英语δ: Q × Σ → Q?描述×和→的含义也将有所帮助. 解决方案 δ就像z = f(x, y) 数学函数定义了一组元素到另一组元素的映射.在函数集中,输入参数称为函数的域,而输出则为有效. [ANSWER] 在表达式"δ:Q×Σ → Q"中, ×表示笛卡尔积(即一组),而→是映射. "δ:Q×Σ → Q"说δ是定义了从Q×Σ到Q的映射的转换函数. 其 ..
发布时间:2020-06-11 19:11:13 其他开发

这种确定性有限自动机的语言是什么?

给出: 我不知道接受的语言是什么. 通过查看它,您可以获得几个最终结果: 1.) bb 2.) ab(a,b) 3.) bbab(a, b) 4.) bbaaa 解决方案 如何为DFA编写正则表达式 在任何自动机中,状态的目的就像存储元素.状态会自动存储一些信息,例如风扇开关. 一种确定性有限自动机(DFA),称为 finite 自动机,因为有限数量的内存以状态形式 ..