Tengo que convertir las siguientes expresiones regulares en un NFA:
- $$(0 \cup 1)^{\star} 000 (0 \cup 1)^{\star}$$
- $$(((00)^{\star} (11)) \cup 01)^{\star}$$
- $$\emptyset^{\star}$$
- $$a(abb)^{\star} \cup b$$
- $$a^+ \cup (ab)^{\star}$$
- $$(a \cup b^+)a^+b^+$$
Para las expresiones regulares $1-3$ , $\Sigma=\{0,1\}$ y para las expresiones $4-6$ , $\Sigma=\{a, b\}$ .
He hecho lo siguiente:
¿Es esto correcto?
¿Cómo es el NFA para la expresión regular $3.$ ??
EDIT1:
EDIT2:
1 votos
Desde $\emptyset^* = \{\varepsilon\}$ el NFA para la expresión 3 es sólo un estado que es a la vez estado de inicio y de aceptación sin transiciones salientes.
0 votos
Ya veo... ¿Las otras NFA son correctas? @mrp
1 votos
$(O \cup 1)^*$ es aceptada por el autómata de un estado $\leftrightarrow 1 \xrightarrow{0,1} 1$ . Por lo tanto, puedes simplificar mucho tu solución para (1).
0 votos
He añadido un nuevo autómata para $(1)$ . ¿Podría echarle un vistazo y decirme si este autómata es mejor? @J.-E.Pin
1 votos
@MaryStar Mucho mejor, pero aún podrías fusionar los dos primeros estados y los dos últimos.
0 votos
He vuelto a editar mi post inicial y he añadido un nuevo autómata. ¿Es esto correcto? ¿Qué pasa con los otros NFA? @J.-E.Pin