0

Starting from 2 simple deterministic finite state automata, I need to construct a non-deterministic automaton that accepts the intersection of the two inputs. Using the algorithm presented at Intersection of two deterministic finite automata? it was fairly easy to construct a deterministic automaton that accepts this intersection.

Since the assignment explicitly asked for a non-deterministic solution however, it seems I should be going about this another way. I figured I might use De Morgan $(\neg(\neg A \cup \neg B))$ to come up with the intersection automaton, so I swapped the (non-)accepting states in the input automata and combined them into a single automaton by means of $\varepsilon$-transitions.

So far so good, I seem to have the correct automaton accepting either negation of the input automatons, but I run into a brick wall trying to negate the combined $(\neg A \cup \neg B)$ automaton. Swapping accepting states seems to yield $(A \cup B)$ again, while $\varepsilon$-transitions to a new accepting state also seem to amount to the same.

To summarize, I simply can't seem to find a way to construct the combined automaton to require that both $A$ and $B$ automatons are in an accepting state. Is there actually a way to do this, or is there another approach I can try to build a non-deterministic automaton accepting the intersection of $A \cap B$?

  • Any deterministic FA is also a non-deterministic FA. – mrp Mar 07 '15 at 11:39
  • I understand that the classes are equivalent, it's just that the employed algorithm hasn't been treated in the course, so I think I should probably be doing something different. Then again, intersections of automata haven't been treated either. I think in this particular case I should be able to construct the automaton for the combined language directly, but I'll have to check. – Fasermaler Mar 07 '15 at 13:36
  • That's not what I mean. It's true that NFAs and DFAs recognise the same class of languages (the regular languages), and that every NFA can be turned into an equivalent DFA and vice versa, but what I am saying is that every DFA is in fact also an NFA, whereas the converse is not true. Determinism is just a boring kind of non-determinism. So when you have constructed a DFA that solves your problem, that same DFA is also an NFA that solves your problem. – mrp Mar 07 '15 at 13:43
  • Sorry, I tried too hard to show I knew something about what I'm doing. You point was clear and I know I have a perfectly fine solution, but the problem explicitly calls for an NFA while others in the series explicitly required a DFA. So while my answer is technically correct, my instructor probably had something else in mind. I realized though that it's probably too specific to discuss here so I'll just have to take it up with him. Thanks for your comment though, much appreciated. – Fasermaler Mar 07 '15 at 13:54

0 Answers0