Omega linguaggio

(Reindirizzamento da Ω-linguaggio)

Un ω-linguaggio è un insieme di sequenze di simboli di lunghezza infinita.

Definizione formale modifica

Sia un ω-linguaggio   definito su un alfabeto Σ (non necessariamente finito).   è quindi l'insieme delle parole di lunghezza infinita sull'alfabeto  .

Seguendo la definizione standard della teoria dei linguaggi formali,   è l'insieme di tutte le parole finite su  .

Si definisce quindi un ω-linguaggio   come l'insieme di tutte le parole di lunghezza infinita  .

Dal punto di vista della notazione, l'insieme di tutte le parole infinite su   è indicato con  . L'insieme di tutte le parole finite e infinite su   è talvolta scritto  .

Operatori modifica

Vengono definiti sugli ω-linguaggi una serie di operatori.

  • Intersezione e unione. Dati gli ω-linguaggi   e  , sia   che   sono ω-linguaggi.
  • Concatenazione sinistra. Sia   un ω-linguaggio e   un linguaggio di parole finite. Al fine di creare un nuovo ω-linguaggio concatenando i due linguaggi,   può essere concatenato a sinistra unicamente a   per produrre il nuovo ω-linguaggio  .
  • Omega (iterazione infinita). L'operatore ω è la versione infinita dell'operatore stella di Kleene su linguaggi di lunghezza finita. Dato un linguaggio formale  ,   è l'ω-linguaggio fatto da tutte le sequenze infinite di parole da  .
  • Prefisso. Sia w una ω-parola. Allora il linguaggio formale   contiene ogni prefisso finita di w.
  • Limite. Dato un linguaggio finito  , una ω-parola w è nel limite di   se e solo se   è un linguaggio infinito. In altre parole, per un numero naturale arbitrariamente grande n, è sempre possibile scegliere qualche parola di  , la cui lunghezza sia maggiore di n e che al tempo stesso sia anche un prefisso di w. L'operazione limite su   può essere scritta   oppure  .

Distanza tra ω-parole modifica

L'insieme   può essere trasformato in uno spazio metrico definendo una metrica   tale che:

 

dove   è interpretato come "la lunghezza di x" (numero di simboli in x ), e   è l'estremo inferiore su un insieme di numeri reali. Se   allora non esiste un prefisso x più lungo e  . La relazione simmetrica è evidente. La transitività deriva dal fatto che se w e v hanno un prefisso condiviso massimo di lunghezza m e v e u hanno un massimo prefisso condiviso di lunghezza n, allora i primi   caratteri di w e u devono essere gli stessi e quindi   . Ciò mostra che d è una metrica.

Sottoclassi importanti modifica

La sottoclasse più utilizzata degli ω-linguaggi è l'insieme dei linguaggi ω-regolari, che sono riconoscibili dagli automi di Büchi. Ne deriva che il problema decisionale dell'appartenenza di una stringa infinita ad un linguaggio ω-regolare è decidibile usando un automa di Büchi.

Bibliografia modifica

  • (EN) Perrin, D. e Pin, J.E., Infinite words, in Pure and Applied Mathematics, vol. 141, Elsevier, 2004. URL consultato il 31 dicembre 2020.
  • (EN) Ludwig Staiger, ω-Languages, in G. Rozenberg e A. Salomaa (a cura di), Handbook of formal languages, Springer, 1997, pp. 339–387, ISBN 3-540-61486-9, OCLC 35762746. URL consultato il 31 dicembre 2020.
  • (EN) Wolfgang Thomas, Automata on Infinite Objects, in Leeuwen, J. van (Jan) (a cura di), Handbook of theoretical computer science, Amsterdam, Elsevier, 1990, pp. 133-192, ISBN 0-444-88075-5, OCLC 21563125. URL consultato il 31 dicembre 2020.

Voci correlate modifica