【发布时间】:2021-10-21 13:13:16
【问题描述】:
我知道语言 L2 = {a^m; m >=0} 是常规语言,并且 L3 = {a^p; p 是素数} 是递归可枚举的。
L2-L3=L1 是否也可以递归枚举并且不是上下文无关的或常规的?
【问题讨论】:
标签: regular-language enumerable computation-theory
我知道语言 L2 = {a^m; m >=0} 是常规语言,并且 L3 = {a^p; p 是素数} 是递归可枚举的。
L2-L3=L1 是否也可以递归枚举并且不是上下文无关的或常规的?
【问题讨论】:
标签: regular-language enumerable computation-theory
不仅是 L3 = {a^p; p 是一个素数} 递归可枚举,它是递归的。这是证明的草图:
想象一个带有以下磁带的多磁带图灵机:
为简单起见,假设一元表示。这些磁带可以按如下方式使用:
因为我们可以使用这个 TM 确定任何输入的非素数,我们也可以简单地通过将每个字符串提供给这个 TM 并在我们确定它不是素数时列出它来枚举语言中的字符串。
在数字 5(素数)上运行的 TM 示例:
s = 0 s = 1 s = 2 s = 3 s = 4
|||||#### |||||#### |||||#### |||||#### |||||####
######### ||####### ||####### ||####### ||#######
######### ######### |||||#### |||###### |########
s = 5 s = 6 s = 7 s = 8
|||||#### |||||#### |||||#### |||||#### HALT
|||###### |||###### ||||##### ||||##### REJECT
|||||#### ||####### |||||#### |########
在 9 上运行的 TM 示例(非素数):
s = 0 s = 1 s = 2 s = 3 s = 4
||||||||| ||||||||| ||||||||| ||||||||| |||||||||
######### ||####### ||####### ||####### ||#######
######### ######### ||||||||| |||||||## |||||####
s = 5 s = 6 s = 7 s = 8 s = 9
||||||||| ||||||||| ||||||||| ||||||||| |||||||||
||####### ||####### |||###### |||###### |||######
|||###### |######## ||||||||| ||||||### |||######
s = 10
||||||||| HALT
|||###### ACCEPT
#########
【讨论】: