Help understanding Non-determinate Finite Automaton

Click For Summary
Understanding non-deterministic finite automata (NFA) with epsilon transitions can be challenging, particularly in evaluating strings against their defined regular expressions. The discussion highlights confusion regarding how epsilon transitions function, specifically whether they should be followed extensively or limited to one step. The example provided illustrates that the string "cb" appears to match the regular expression a*b*c*, despite expectations to the contrary. It is clarified that epsilon transitions allow states to become active without consuming input symbols, impacting which states can accept subsequent characters. Ultimately, the interpretation of the automaton's diagram is crucial for determining valid transitions and accepted strings.
Trentonx
Messages
36
Reaction score
0

Homework Statement


There's not a particular problem, per se, just that I seem to be missing something with my understanding of how to evaluate a string against a non-deterministic finite automaton with epsilon transitions. But one I've been working with is shown below

y7UHAWX.png


Homework Equations


NA

The Attempt at a Solution


I'm told by my professor this represents the regular expression a*b*c*. As such, I wouldn't expect the machine to match on an input string of "cb". But from my understanding, it does. You can see in the image my attempt at the states the machine would enter, given each input token. And after, the machine is in at least one goal state, so it matches. But I wouldn't expect the string "cb" to match a*b*c*

It's pretty clear I don't understand how to handle the epsilon transitions. Do I follow them to all the way, as I did above? Only follow epsilons from the current state to at most one "hop" away? Should I somehow evaluate epsilons before hand, then token and more epsilons? Are epsilons filtered somehow?
 
Physics news on Phys.org
Your interpretation seems to be that if a state cannot accept a symbol then an epsilon transition occurs. I think epsilon transitions occur without any symbol being accepted. An epsilon transition "activates" a state for the purpose of accepting symbols. Initially, the automata has states 1,2,3 active. Only state 3 can accept the "c". The "c" "blocks" states 1 and 2 so they become inactive. So after "c" is accepted, the only active state is state 3. State 3 cannot accept the "b".

If state 3 had a epsilon transistion going back to state 2 then the "b" could be accepted by state 2. However I interpret the diagram to say that epsilon transition from 2 to 3 is one-way.
 

Similar threads

Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
14K
Replies
5
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 10 ·
Replies
10
Views
3K
Replies
1
Views
9K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 0 ·
Replies
0
Views
3K
  • · Replies 2 ·
Replies
2
Views
4K