universityin-classsubject-1202
2023-03-06
Fondamenti di Informatica
Linguaggi Formali
Applicazioni d’esempio:
- Ricerca di una parola in un testo (usa proprietà dei linguaggi formali)
- Il DNA
- I compilatori
Alfabeto: insieme finito di simboli (si indica con
Linguaggio formale (vedi sotto definizione formale): insieme di parole di lunghezza finita costruite a partire da un determinato alfabeto.
Stringa
Quante sono le combinazioni di parole (lunghezza finita) rispetto a un alfabeto (finito)?: sono infinite.
Basti pensare a quanti numeri esistono. Numeri finiti con numero di cifre finito.
Stringhe particolari:
- Stringa vuota: stringa che non contiene nessun simbolo (si indica con
, oppure ) - Es.
- Es.
Nota: per notazione vengono usate
Dato un alfabeto
- Se
e , allora
Esercizio: dato
e . e . e .
- Quindi
. Si può dimostrare anche al contrario andando ricorsivamente
Sia
- La concatenazione è chiusa rispetto a
. è l’elemento neutro della concatenazione. - Vale la proprietà associativa.
- Possiamo quindi dire che
è un monoide (rispetto al gruppo il monoide non ha l’inverso) sintattico.
Lunghezza di una parola: dato
- Se
allora . - Se
dove e allora .
Dato
Definizione di Linguaggio Formale: dato un alfabeto
Linguaggi particolari:
- Linguaggio vuoto (
): è un insieme vuoto, non un insieme che contiene .
Concatenazione di linguaggi
da finire