[Linguaggi e Compilatori] Linguaggio regolare?

MNardoni
Salve a tutti,
spero tanto che qualcuno possa aiutarmi in questo quesito di informatica teorica (linguaggi formali):

"Dimostrare formalmente che il linguaggio L sull'alfabeto {a,b,c}, definito come L={ w | w termini con aaa } è regolare."

qualche suggerimento?

grazie mille anticipatamente!

Risposte
apatriarca
Con la frase "w termini con aaa" intendi dire che i termini contengono almeno 3 "a" consecutive? Non ho idea di quali metodi ti siano stati insegnati per dimostrare la regolarità di un linguaggio. Un metodo facile che mi viene in mente è vedere che quel linguaggio corrisponde ad una espressione regolare ( [abc]*aaa[abc]* ).

MNardoni
Con la frase "w termini con aaa" intendo che le tutte le stringhe "w" appartenti al linguaggio L devono finire con "aaa".

Ho segutio questo procedimento:
- Ho determinato l'espressione regolare ( [abc]*aaa ) associata a tale linguaggio,
- Ho provato a costruire un automa che riconosca il linguaggio in base all'espressione regolare,
-Infine ho fatto vedere che qualunque stringa in cui gli ultimi 3 elementi sono "aaa" viene accettata dall'automa (cioè si arriva fino allo stato accettante dell'automa) e che nessun altra stringa viene accetta (cioè l'analisi delle stringhe si fermerà in uno degli stati non accettanti dell'automa).

Altri suggerimenti?

grazie mille!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.