Sia Σ={a,b}. Costruite un automa nondeterministico che accetti il linguaggio costituito da tutte le stringhe sull'alfabeto Σ nelle quali il terzultimo e il penultimo simbolo sono uguali.
Esprimete questo linguaggio con un'espressione regolare.
L'espressione regolare a cui avevo pensato e' la seguente: (a+b)*(aa+bb)(a+b)
Riguardo all'NFA ho pensato a questa tabella delle transizioni che non e' ancora completa:
δ | a | b |
---|---|---|
->q_0 | {q_0,q_1} | {q_0,q_2} |
q_1 | q_3 | q_2 |
q_2 | q_1 | q_4 |
*q_3 | q_3 | / |
*q_4 | / | q_4 |
Il dubbio rimane sugli stati q_3 e q_4 in quanto non so come gestire il caso in cui arrivi l'ultimo simbolo in modo da accettare anche le stringhe che terminano con: '...aab' e '...bba'