- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我理解图灵机的逻辑。当给出图灵机时,我可以理解它是如何工作的以及它是如何停止的。但是当它被要求构造图灵机,难度更大。
有什么简单的方法可以找到问题的答案,例如:
Construct a Turing machine a*b*
Construct a Turing machine a*b*a*
etc.
我想画出这些图灵机?有没有什么方法,比如表填充然后绘制图表等等?
我在网上搜索了很多关于这个主题的内容。只有答案(只有图表)。没有解释它是如何解决的。
提前致谢
最佳答案
您给出的两个示例是正则表达式,并且确实存在将正则表达式转换为自动机的简单算法方法 - 即 NFA。拥有 NFA 后,您可以使用简单的构造将它们转换为 TM。
将正则表达式转换为 NFA 的算法是这样的:
规则 1:如果 r = a
对于某个字母符号 a,则 r
的 NFA 是:
a
--->q0--->(q1)
规则2:如果r = st
对于正则表达式s,t
,并且M1
和M2
是s
和 t
的 NFA 分别是,那么 r
的 NFA 是:
e
--->M1--->M2
也就是说,初始状态是 M1
的状态,接受状态是 M2
的状态,所有(以前的)接受状态都有新的空转换M1
到 M2
的(以前)初始状态。
规则 3:如果 r = s + t
,对于正则表达式 s, t
,以及 M1
和 M2
分别是 s
和 t
的 NFA,那么 r
的 NFA 是:
e
--->q0--->M1
| e
+--->M2
也就是说,初始状态是一个新状态q0
,最终状态是M1
和M2
,还有两个空的添加了从新的初始状态到 M1
和 M2
的(以前的)初始状态的转换。
规则 4:如果 r = s*
用于正则表达式 s
,并且 M
是 s
的 NFA >,那么 r
的 NFA 是:
+------+
| e |
V |
--->(q0)--->M
也就是说,添加了一个新的初始状态q0
,接受状态是M
和q0
,以及新的空转换从 M
的接受状态添加到 q0
。
在您的示例中,我们按如下方式推导出 NFA:
a: Rule 1 a
--->q0--->(q1)
b: Rule 1 b
--->q0--->(q1)
a*: Rule 4 +-------------+
| e |
V |
--->(q0)--->q0'--->(q1)
e a
b*: Rule 4 +-------------+
| e |
V |
--->(q0)--->q0'--->(q1)
e b
a*b*: Rule 2 +-----------+
| | e
V e a |
--->q0--->q0'--->q1
| |
e | | e
+-----------+--+
| | e
V e b |
(q2)--->q2'--->(q3)
a*b*: Rule 2 +-----------+
| | e
V e a |
--->q0--->q0'--->q1
| |
e | | e
+-----------+
| | e
V e b |
q2--->q3'--->q3
| |
e | | e
+-----------+--+
| | e
V e a |
(q4)--->q5'--->(q5)
有了 NFA,可以按如下方式构造 TM:
关于turing-machines - 有没有解决 "Construct a Turing machine ..."问题的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12126137/
我理解图灵机的逻辑。当给出图灵机时,我可以理解它是如何工作的以及它是如何停止的。但是当它被要求构造图灵机,难度更大。 有什么简单的方法可以找到问题的答案,例如: Construct a Turing
我找到了一篇关于 a list of Turing machine equivalents 的维基百科文章.但是,它没有说明如何确定给定机器是否与图灵机等价的方法。 我需要用图灵机的定义来证明吗?你能
图灵机的定义说,禁止人们阅读/修改其指令表(程序)。确实,图灵机无法访问其自己的程序。 如果可以削弱这一限制,可以获得什么好处?如果机器可以分析和/或修改其程序。这会扩展图灵计算任务的类别吗? 最佳答
下面的语言 L 是不可判定的吗? L = {M | M is a Turing machine description and there exists an input x of length k
所以我试图寻找语言的精确定义,但所有文章都假设这个定义对每个人都是显而易见的。显然,对我来说不是。 图灵机器语言的定义是什么? 最佳答案 当你运行一个 TM 时,你给它一个字符串作为输入。然后 TM
安全元组关系演算是图灵完备的语言吗? 最佳答案 让我们忘记安全。来自 Codd's theorem ,关系演算等价于一阶逻辑。 FOL 是非常有限的,它不能表达在某个图中有从 A 点到 B 点的路径(
如果一种语言有控制结构和变量,但不支持数组、列表、内存访问和分配等,它可以是图灵完备的吗? 也许如果你可以创建的变量数量没有限制,你可以通过创建像 array_1 这样的变量来模拟数组。 , arra
“字典”是指具有唯一键的键/值对数组。如果不是,为什么?如果时间足够长,您可以使用键作为输入,使用值作为输出,它可以解决您想要的所有问题。只要它足够长以容纳所有可能的输入,它就可以“计算”任何东西。只
我正在寻找图灵机停机问题的简单解释。我知道 TM 的工作原理、它们如何枚举事物、机器配置等,但我对停机问题没有很好的处理。 有人可以对这个主题提供一个很好的解释吗? 最佳答案 一分钟,让我们忽略图灵机
我需要帮助设计一个图灵机来计算以下 f(x,y) = x*y mod 4 .如何在二进制基础中解决此问题 $x$和 $y$有两个位? 最佳答案 可能会稍微优化,但它确实有效: 假设 - 输入(仅)由两
如果我有一台机器,将其称为机器1,它可以解决问题:它只是一台机器,本身不是图灵机。它可以解决一个特定的问题。 如果在通用图灵机上可以解决这个完全相同的问题,那么我的原始机器1也是通用图灵机吗? 这并不
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 12 年前关闭。 Improve this
包含任意数量的纸带符号的图灵机 M 可以通过仅包含三个纸带符号的 M' 来模拟:{0, 1, B}(B = 空白)。 M 可以用只有两个纸带符号的 M"来模拟吗,比如说 {1, B}? 最佳答案 第一
我一直在努力解决一个问题,即将没有前导零的二进制数转换为同一磁带上的一元表示。 例如。 110 -> xxxxxx 我发现马尔可夫算法是一个潜在的解决方案,但我无法实现它。希望得到一些指导! 编辑:我
我在听edX课,教授强调每台能够执行这六个基本原语的机器都可以称为图灵完备。但是六个基本原语是什么? 最佳答案 使语言具有图灵完整性的六个基本操作/原语是: 右:将机器的头部移动到当前方块的右侧 左:
我儿子最近一直在玩Little Big Planet 2,我注意到游戏编辑器允许AND门,OR门和NOT门...图灵完成了吗?如果是这样,那么有人可以推荐一个学习这些原始内容的条件的资源吗? 最佳答案
您好,我对可数性有疑问。为什么有必要找出某些事物是否可数。找到它有什么用吗?而且,如果某些事情不可数,是否意味着没有图灵机可以解决它? 最佳答案 我希望我不是通过回答你的问题来帮助你回答考试问题。 可
在所有的图灵机扩展中(例如双向无限磁带、RAM、多个读/写磁头和非确定性),它们中的任何一个都允许 TM 决定以前不可判定的问题吗? 最佳答案 双向无限磁带不会拉伸(stretch)计算能力。 RAM
我想知道邮政通信问题 (PCP) 是否可识别。我学会了如何证明 PCP 的不可判定性。我也想过使用类似的方法来提高可识别性,即考虑 MPCP 并显示它是否可识别。我不确定这是否是一个好方法。 最佳答案
w ^ R是w的倒数,w是{0,1} *。因此,TM需要先确定一个单词,然后再确定该单词的反义词,再确定该单词。 我不想要答案,我只是想要一个线索开始并走上正确的道路。 最佳答案 由于已经过去了一段时
我是一名优秀的程序员,十分优秀!