HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

Are Epsilon-NFAs a way to make designing NFAs easier?

Submitted by: @import:stackexchange-cs··
0
Viewed 0 times
areepsilonwaymakedesigningnfaseasier

Problem

It seems that their purpose is in making designing certain NFAs less onerous? Does this mean that no automata that are implemented have Epsilon-transitions, and that they are kind of a mathematical conceit we adopt for our own ease of design? I'm having a lot of trouble understanding what is "happening" when an Epsilon-transition occurs - is it a way of saying, "have the NFA now switch, automatically, to this next state"?

EDIT: I'm a CS student taking CS Theory for the very first time, so apologies if this question is very rudimentary. I'm a narrative person and I often understand abstract ideas through examples or by trying to understand the problems the ideas are engaging with. I ask very basic questions, but those questions help me hook into the ideas I'm studying.

Solution

An epsilon-NFA is a mathematical formalization. Mathematics doesn't have a purpose, per se.

Why do we use this formalization? Sometimes, because it is convenient. Yes, it sometimes makes designing certain NFAs less onerous, and that's useful. So, yes, your suggested rationale/motivation is reasonable. It also makes some algorithms (e.g., Thompson's construction) simpler and easier to understand. It's also intellectually interesting to know what power epsilon-transitions add. There are multiple reasons why one might study this concept; different people might have different reasons for studying it at any point in time. See also Why is non-determinism useful concept?.

What is "happening" when we execute an epsilon-transition? Well, a NFA is not a physically implementable machine; it is an abstract concept. So it is hard to map it to physical, real-world intuitions. See also Why NFA is called Non-deterministic?.

Context

StackExchange Computer Science Q#81234, answer score: 4

Revisions (0)

No revisions yet.