Ja.
Die ε-Kanten dienen dazu, Teile des Automaten voneinander zu trennen.
Beispiel 1. Ein regulärer Ausdruck für \(a^*(ab)^*\) ist gesucht. Die Teile \(a^*\) und \((ab)^*\) können durch durch folgende Automaten beschrieben werden.
\(a^*\): \(\rightarrow\stackrel{\stackrel{a}{\curvearrowleft}}{((q_0))}\)
\((ab)^*\): \(\rightarrow ((q_0))\begin{matrix}\xrightarrow{a}\\\xleftarrow{b}\end{matrix}(q_1)\)
Wenn du jetzt den Endzustand des ersten Automaten mit dem Anfangszustand des zweiten Automaten zusammenlegst, dann beommst du
\(\rightarrow\stackrel{\stackrel{a}{\curvearrowleft}}{((q_0))}\begin{matrix}\xrightarrow{a}\\\xleftarrow{b}\end{matrix}(q_1)\).
Dieser Automat erkennt aber auch \(abaa\), was nicht auf den regulären Ausdruck passt.
Um das zu verhindern, werden Endzustand des ersten Automaten und Anfangszustand des zweiten Automaten nicht zusammengelegt, sondern mittels einer ε-Kante verbunden:
\(\rightarrow\stackrel{\stackrel{a}{\curvearrowleft}}{(q_0)}\xrightarrow{\varepsilon}((q_1))\begin{matrix}\xrightarrow{a}\\\xleftarrow{b}\end{matrix}(q_2)\)
Beispiel 2. Ein regulärer Ausdruck für \(a(ab)^*\) ist gesucht. Die Teile \(a\) und \((ab)^*\) können durch durch folgende Automaten beschrieben werden.
\(a\): \(\rightarrow(q_0)\xrightarrow{a}((q_1))\)
\((ab)^*\): \(\rightarrow ((q_0))\begin{matrix}\xrightarrow{a}\\\xleftarrow{b}\end{matrix}(q_1)\)
Hier können Endzustand des ersten Automaten und Startzustand des zweiten Automaten einfach zusammengelegt werden ohne dass eine ε-Kante zur Trennung verwendet wird:
\(\rightarrow(q_0)\xrightarrow{a}((q_1))\begin{matrix}\xrightarrow{a}\\\xleftarrow{b}\end{matrix}(q_2)\).
Aber natürlich darfst du auch hier eine ε-Kante verwenden:
\(\rightarrow(q_0)\xrightarrow{a}(q_1)\xrightarrow{\varepsilon}((q_2))\begin{matrix}\xrightarrow{a}\\\xleftarrow{b}\end{matrix}(q_3)\).