带有 epsilon 转换的 NFA 让我们做什么?
What does an NFA with epsilon transitions let us do?
我有以下自动机。我应该了解通过它使用空转换。
我认为这个自动机的正则表达式如下:0* 1* 2*
我只想知道这个自动机让我们做什么?换句话说,在那种情况下空转换有什么用?
你说得对,你的自动机描述了 0*1*2*。 q0 是它处理一系列(可能为空)0 的地方。 q1 是处理一系列(可能为空)1 的地方。通过从 q0 到 q1[=25= 的空过渡], 0和1之间不需要任何字符。
空过渡不允许您描述任何没有它就无法描述的语言。但是,只需尝试修改您的自动机以不使用空转换。这是可能的,但它需要更多的转换,它需要使每个状态成为最终状态,当你完成后,你希望看到它让你更难分辨描述的是什么语言。
所以使用空转换是为了让你的自动机更容易理解。
我想你想知道这之间的区别..
还有这个
不同之处在于第一个自动机接受任何字符串 0,1 和 2...
而第二个自动机接受字符串 0,1 和 2 of...0 后跟 1,1 后跟 2....
前任。它接受 012,001122,0012,0112 等。
它不会接受 102,201,0121,0120,0011221.
所以空的转换让它变得简单又好用...
我有以下自动机。我应该了解通过它使用空转换。
我认为这个自动机的正则表达式如下:0* 1* 2*
我只想知道这个自动机让我们做什么?换句话说,在那种情况下空转换有什么用?
你说得对,你的自动机描述了 0*1*2*。 q0 是它处理一系列(可能为空)0 的地方。 q1 是处理一系列(可能为空)1 的地方。通过从 q0 到 q1[=25= 的空过渡], 0和1之间不需要任何字符。
空过渡不允许您描述任何没有它就无法描述的语言。但是,只需尝试修改您的自动机以不使用空转换。这是可能的,但它需要更多的转换,它需要使每个状态成为最终状态,当你完成后,你希望看到它让你更难分辨描述的是什么语言。
所以使用空转换是为了让你的自动机更容易理解。
我想你想知道这之间的区别..
还有这个
不同之处在于第一个自动机接受任何字符串 0,1 和 2... 而第二个自动机接受字符串 0,1 和 2 of...0 后跟 1,1 后跟 2.... 前任。它接受 012,001122,0012,0112 等。 它不会接受 102,201,0121,0120,0011221.
所以空的转换让它变得简单又好用...