Search code examples
mathcomputer-scienceautomatanon-deterministicepsilon

Epsilon closure & automata


I think I do not quite understand the concept of epsilon transitions when determining the language of a non-deterministic automata. For example in this automata:

automata-with-epsilon-transitions

The language is: 'A double sequence of a or a double sequence of b where there is a possibility of a baa sequence'.

But, the word a belongs to the automata too, doesn't it? (also the word b, and aaa and so on...)


Solution

  • An ε-transition is just a impromptu transition which doesn't consume any input.

    When you are in a state which has outgoing ε-transitions it's like being in all of them until the automaton does something which is observable, from here the non determinism. The set of such states is the ε-closure of a state.

    According to the layout you can have an arbitrary amount of baa prefixes followed by an arbitrary amount of of as or bs. So:

    • empty
    • baa
    • baabaa
    • a
    • aa
    • ba
    • abab
    • baabab
    • ...