Click here for the answer. Turing Machine
问题是构建一个接受正则表达式的图灵机,
L = {a ^ n b ^ n | n> = 1}。
我不确定我的回答是正确还是错误。提前感谢您的回复。
答案 0 :(得分:0)
您不能“接受正则表达式”,只能使用它描述的语言。而你提供的不是正则表达式,而是一组描述。实际上,语言不规则,因此无法用标准正则表达式来描述。
答案中的机器接受正则表达式a ^ + b ^ +。
描述的语言TM可以标记第一个a(例如,通过将其转换为A)然后删除第一个b。并为每个n一个循环。如果您只使用A的字符串,那么接受。
答案 1 :(得分:0)
语言 L = {a^n b^n | n≥1} 代表一种我们只使用 2 个字符的语言,即 a、b。在一开始的语言中,有一定数量的 a 后面跟着相同数量的 b。任何属于此类别的字符串都将被该语言接受。字符串的开头和结尾用 $ 符号标记。
步骤 1: 用 X 替换 a 并向右移动,转到状态 Q1。 第2步: 用 a 替换 a 并向右移动,保持相同状态 用 Y 替换 Y 并向右移动,保持相同状态 用 Y 替换 b 并向右移动,进入状态 Q2。 第 3 步: 用 b 替换 b 并向左移动,保持相同状态 用 a 替换 a 并向左移动,保持相同状态 用 Y 替换 Y 并向左移动,保持相同状态 用 X 替换 X 并向右移动,进入状态 Q0。 第 5 步: 如果符号是 Y 用 Y 替换它并向右移动并转到状态 Q4 否则转到步骤 1 第 6 步: 用 Y 替换 Y 并向右移动,保持相同状态 如果符号是 $ 用 $ 替换它并向左移动,字符串被接受,转到最终状态 Q4