Computer science 为在Σ;上定义的以下语言构造NFA{0, 1}. D={0^n10^m10^q | n,m,q∈;n,q≡;nm(mod 5)}
需要帮助解决以下问题: 为在∑={0,1}上定义的以下语言构造NFA D={0^n 10^m10^q | n,m,q∈ N、 q≡ 纳米(模5)}Computer science 为在Σ;上定义的以下语言构造NFA{0, 1}. D={0^n10^m10^q | n,m,q∈;n,q≡;nm(mod 5)},computer-science,Computer Science,需要帮助解决以下问题: 为在∑={0,1}上定义的以下语言构造NFA D={0^n 10^m10^q | n,m,q∈ N、 q≡ 纳米(模5)} 我对如何在语言的q部分创建NFA分解感到困惑。我们可以使用五种状态来记住n mod 5的值: _______________0______________ / \ | | V
我对如何在语言的q部分创建NFA分解感到困惑。我们可以使用五种状态来记住n mod 5的值:
_______________0______________
/ \
| |
V |
----->q0--0-->q1--0-->q2--0-->q3--0-->q4
现在我们需要阅读1:
_______________0______________
/ \
| |
V |
----->q0--0-->q1--0-->q2--0-->q3--0-->q4
| | | | |
1 1 1 1 1
| | | | |
V V V V V
q0' q1' q2' q3' q4'
现在,我们可以单独查看每个案例。对于q0',我们知道我们在第一节中看到了许多0,这些0与0 mod 5一致。因此,nm=0(mod 5)是已知的。我们可以接受任意数量的0,然后是1,如果没有进一步的输入,则可以接受:我们可以让q0'执行以下操作:
_0_
/ \
| |
\ /
----->q0'--1-->qA
对于q1',我们将有q=nm(mod 5)=m(mod 5),因为在这种情况下n=1(mod 5)。我们可以通过记住m(mod 5)的当前值,然后在q中查找那么多0来实现这一点。也就是说,q1'可以替换为:
_______________0________________________
/ \
| |
V |
----->q1'--0-->q1''--0-->q1'''--0-->q1''''--0-->q1'''''
| | | | |
1 1 1 1 1
| | | | |
V V V V V
qA<--0--qA'<--0--qA''<--0--qA'''<--0--qA''''
状态qA',qA'',qA''和qA''与前面介绍的相同,但请注意现在的顺序不同:这反映了这样一个事实:2x0=0(与前面一样),2x1=2(不是1),2x2=4(不是2),等等
我们可以为第3季度和第4季度做同样的事情:
_______________0________________________
/ \
| |
V |
----->q3'--0-->q3''--0-->q3'''--0-->q3''''--0-->q3'''''
| | | | |
1 1 1 1 1
| | | | |
V V V V V
qA qA''' qA' qA'''' qA''
_______________0________________________
/ \
| |
V |
----->q4'--0-->q4''--0-->q4'''--0-->q4''''--0-->q4'''''
| | | | |
1 1 1 1 1
| | | | |
V V V V V
qA qA'''' qA''' qA'' qA'
将所有这些不同的DFA组合到一个巨大的DFA中,可以保证为您提供一个可以工作的DFA。我不能确定是否存在实质上类似的NFA。本DFA规定:
这一共是32个州。如果您想尝试最小化,您可能可以删除其中一些。我们可以使用五种状态来记住n mod 5的值:
_______________0______________
/ \
| |
V |
----->q0--0-->q1--0-->q2--0-->q3--0-->q4
现在我们需要阅读1:
_______________0______________
/ \
| |
V |
----->q0--0-->q1--0-->q2--0-->q3--0-->q4
| | | | |
1 1 1 1 1
| | | | |
V V V V V
q0' q1' q2' q3' q4'
现在,我们可以单独查看每个案例。对于q0',我们知道我们在第一节中看到了许多0,这些0与0 mod 5一致。因此,nm=0(mod 5)是已知的。我们可以接受任意数量的0,然后是1,如果没有进一步的输入,则可以接受:我们可以让q0'执行以下操作:
_0_
/ \
| |
\ /
----->q0'--1-->qA
对于q1',我们将有q=nm(mod 5)=m(mod 5),因为在这种情况下n=1(mod 5)。我们可以通过记住m(mod 5)的当前值,然后在q中查找那么多0来实现这一点。也就是说,q1'可以替换为:
_______________0________________________
/ \
| |
V |
----->q1'--0-->q1''--0-->q1'''--0-->q1''''--0-->q1'''''
| | | | |
1 1 1 1 1
| | | | |
V V V V V
qA<--0--qA'<--0--qA''<--0--qA'''<--0--qA''''
状态qA',qA'',qA''和qA''与前面介绍的相同,但请注意现在的顺序不同:这反映了这样一个事实:2x0=0(与前面一样),2x1=2(不是1),2x2=4(不是2),等等
我们可以为第3季度和第4季度做同样的事情:
_______________0________________________
/ \
| |
V |
----->q3'--0-->q3''--0-->q3'''--0-->q3''''--0-->q3'''''
| | | | |
1 1 1 1 1
| | | | |
V V V V V
qA qA''' qA' qA'''' qA''
_______________0________________________
/ \
| |
V |
----->q4'--0-->q4''--0-->q4'''--0-->q4''''--0-->q4'''''
| | | | |
1 1 1 1 1
| | | | |
V V V V V
qA qA'''' qA''' qA'' qA'
将所有这些不同的DFA组合到一个巨大的DFA中,可以保证为您提供一个可以工作的DFA。我不能确定是否存在实质上类似的NFA。本DFA规定: