Computer science 证明了可判定语言类在互补、连接和交集运算下是封闭的

Computer science 证明了可判定语言类在互补、连接和交集运算下是封闭的,computer-science,discrete-mathematics,proof,computation-theory,turing-machines,Computer Science,Discrete Mathematics,Proof,Computation Theory,Turing Machines,我知道问题在于要求证明指定的图灵机。我的问题源于无法理解该问题提出的结构类型,如下所示: 我们说一个类C的语言在一个操作下是封闭的⊕(L1,L2,…,Lk)如果适用于任何L1,L2,…,Lk∈C语言⊕(L1,L2,…,Lk)位于C中 有人能给我解释一下这意味着什么吗?假设C是所有具有某种属性(例如作为可判定语言的属性)的对象的类。另外,假设您有一个操作·,它获取其中两个对象并返回另一个对象(数字2只是一个示例)。当:C中给定两个对象x和y时,C下的C是闭合的,对它们应用操作符会给出一个同样在

我知道问题在于要求证明指定的图灵机。我的问题源于无法理解该问题提出的结构类型,如下所示:


我们说一个类C的语言在一个操作下是封闭的⊕(L1,L2,…,Lk)如果适用于任何L1,L2,…,Lk∈C语言⊕(L1,L2,…,Lk)位于C



有人能给我解释一下这意味着什么吗?

假设
C
是所有具有某种属性(例如作为可判定语言的属性)的对象的类。另外,假设您有一个操作
·
,它获取其中两个对象并返回另一个对象(数字2只是一个示例)。当:
C
中给定两个对象
x
y
时,
C
下的
C
是闭合的,对它们应用操作符会给出一个同样在
C
中的对象:
x.y>。(这只是你问题中给出的定义)

例如,具有属性“it is a boolean value”
{true,false}
的对象集
B
在补码下关闭。对于
b
中的任何值
b
,补码
!b
具有属性“它是一个布尔值”,因此它也位于b
中。因此,所有布尔值的集合
B
在补码下闭合。在这种情况下,证明可以是一个表,列出操作的每个输入组合,并验证每种情况下的输出

另一个示例:具有属性“it is a string of a or more letter from a-Z”的所有对象的集合
S
在串联下闭合:给定
S
中的任何两个字符串
x
y
,串联
x+y
也是一个字符串,因此,它必须包含在属性为“它是一个由一个或多个字母a-Z组成的字符串”的对象集中。在本例中,证明可能是一个参数,用于显示输出满足基于字符串连接操作定义的属性


标题中的问题要求您证明(证明)可判定语言类在互补运算、串联运算和交集运算下是封闭的。也就是说:为了证明两个可判定语言的连接是一个可判定语言,两个可判定语言的交集是一个可判定语言,等。

当且仅当将操作应用于集合元素的结果保证生成集合的另一个元素时,集合在对该集合元素的操作下关闭。因此,自然数集(非负整数)在加法下是闭合的,因为任意两个自然数相加都会产生另一个自然数。自然数集在减法运算中不闭合,因为某些差异(例如10-20)不是自然数

要展示要求你做的三件事,你可以推理如下:

  • 互补性:因为可判定性意味着您可以在有限的时间内对所有候选字符串的成员资格问题回答是或否,所以可判定语言集必须在互补性下关闭,因为您只需交换答案“是”和“否”,就可以获得任何可判定语言的互补性的判定器
  • 串联:如果您有两种可判定语言的判定码,那么当您从第一种语言读取字符串的一部分时,您可以通过在第一个判定码中进行不确定猜测,然后检查其余部分是否是第二种语言中的字符串,来获得这些语言的串联判定码。非确定性TMs并不比常规TMs更强大,因此这里没有问题
  • 交集:与串联类似,不同的是您只需在输入字符串上运行两个判定符,如果两者都回答是,则回答是,否则回答否

  • 我们已经描述了一些结构,它们表明将这些操作应用于可判定语言会产生可判定语言。这意味着可判定语言集在这些操作下关闭。

    欢迎使用StackOverflow!你的问题需要一些工作,以便社区能够更好地帮助你。看一看,再试一次。