0
$\begingroup$

Given an NFA say $N=(Q,\Sigma, q_0, \partial, F_Q)$, where $\partial: Q\times(\Sigma\cup\{\varepsilon\})\to\mathcal{P}(Q)$. It's confusing about the behavior of say $\partial(q, a)=\emptyset$ for any given $a\in \Sigma\cup\{\varepsilon\}$ because of the following details are not clear:

For any single transition route/path/thread:

  1. Is it valid for the machine to consume $a$ in the first place? (continue to 2. if the answer is yes)
  2. What's the state after consuming $a$? (continue to 3. if your answer is "stay at $q$")
  3. If it stays at $q$, is it valid for the machine to continue processing the remaining symbols? (continue to 4. if your answer is yes)
  4. What's the difference of it between $\partial(q, a)=\{q\}$?

Can anyone elaborate on these points? I need rigorous explanation instead of just intuition. It will be great if you can provide some references. Thanks!


To show my own effort on this, the following is my current idea:

  1. No, and the empty set means there is no transition for $q$ on $a$. More specifically, we cannot find a state from $\emptyset$ for the machine to arrive. (so this "answer" invalidates my questions 2,3,4.)

People told me that it will stay at $q$, but it's weird because:

If there is a machine intended to accept only the string $abcd$ and it has $\partial(Q_d, \sigma)=\emptyset$ for every $\sigma\in(\Sigma\cup\{\varepsilon\})$, where $Q_d$ is the state after consuming $d$, then it will accidentally accept any string of the form $abcd\sigma^*$, i.e. $\sigma$ can repeat from zero to any finite number. I think this result is unwanted.

$\endgroup$
3
  • $\begingroup$ @D.W. It's from an online book by some professors. It's the Definition 3.7. on that page (they start the line with the wording "Formally, [...]"). I have updated my question to include it. $\endgroup$ Commented Jun 7 at 9:32
  • $\begingroup$ Rather than putting clarification in the comments, we would prefer that you revise the question to incorporate all information into the question, and make it read well for someone who encounters it for the first time. $\endgroup$
    – D.W.
    Commented Jun 7 at 18:39
  • 1
    $\begingroup$ math.stackexchange.com/a/4929097/14578 $\endgroup$
    – D.W.
    Commented Jun 7 at 18:46

1 Answer 1

2
$\begingroup$

Based on the "Introduction to Automata Theory, Languages, and Computation" (3rd Edition) by John E. Hopcroft Rajeev Motwani, Jeffrey D. Ullman, I can deduct from Examples 2.6 and 2.7 that the NFA "consumes" $a$ and this "thread" of NFA gets stuck in this state.

enter image description here enter image description here It's the power of a nondeterministic finite automaton to be in several states at once - the state after $a$ consumption is stuck, and it cannot proceed further, but other "threads" of NFA lives on, and they can get to the same or different states. Example 2.8 shows it directly with processing of the example input $00101$ (third point).
enter image description here enter image description here

So the answers would be:

  1. Yes
  2. Death of the "thread" of NFA (stuck at this state, one of the NFA states)
  3. For NFA yes, by different states processed further in other "threads" - if you consider only this one "thread", then no
  4. One language has zero elements and other has one element* + transition table note:

Also notice that when there is no transition at all from a given state on a given input symbol, the proper entry is the empty set.

*Note: I think so because earlier in this book in the Chapter 1.5. The Central Concepts of Automata Theory you have:

(...)

  • $\emptyset$, the empty language, is a language over any alphabet.

  • ${\epsilon}$, the language consisting of only the empty string, is also a language over any alphabet. Notice that \emptyset is not equal to ${\epsilon}$; the former has no strings and the latter has one string.

Additional text about whenever NFA accepts a string: enter image description here

$\endgroup$
7
  • $\begingroup$ So for the dead thread itself, did you mean that the state of it is not $q$? (I had my question 2. bad-written. I was thinking in "single thread".) $\endgroup$ Commented Jun 6 at 20:05
  • 1
    $\begingroup$ It is $q$, but "unusable" anymore - I edited my answer a bit right now $\endgroup$
    – ljaniec
    Commented Jun 6 at 21:57
  • $\begingroup$ You kept using the wording "gets stuck in this state", "(stuck at this state, [...])" - but what exact state did you mean? Did you mean stuck in that unusable $q$ or the "stuck" itself as a state? (or maybe you mean these two are equivalent?) $\endgroup$ Commented Jun 6 at 22:19
  • $\begingroup$ I don't think it's valid/correct to say that the state remains $q$ or that it gets stuck at $q$. I think that is misleading / poor intuition. Instead, you should just say that this "thread" dies. It's not in any state at all any longer. $\endgroup$
    – D.W.
    Commented Jun 7 at 7:08
  • $\begingroup$ I meant “stuck in this state” as not being able to change or use the state from this “thread” in the NFA in any meaningful way ("thread" death). I think the standard meaning of “being in this state” is lost there (perhaps the state where this NFA "thread" died would be a bit better). My use of words may be unclear, sorry. $\endgroup$
    – ljaniec
    Commented Jun 7 at 23:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .