Esiste un analogo di "regolare" per stringhe infinite?


8

Considera la sequenza . Sembra "regolare" in un modo che, ad esempio, non lo è.s1=(1,0,1,0,)s2=(1,2,3,4,)

Non sono sicuro di come formalizzare questa intuizione però. Una cosa che mi salta fuori è che è un linguaggio normale e è in qualche modo il limite delle stringhe in questo linguaggio.L={(01)n}s1

Esiste una terminologia per considerare queste stringhe infinite? Abbiamo qualcosa di analogo al lemma di pompaggio, per cui possiamo affermare che una tale stringa "infinita regolare" ha la forma con , , finito?xyzxyz


1
Forse periodico o eventualmente periodico .
Yuval Filmus

Pompaggio : la tua affermazione sulle stringhe infinite non è affatto un analogo del Lemma pompante , che afferma che le parole sufficientemente lunghe in una lingua normale contengono una sottostringa che può essere ripetuta per produrre un'altra parola. Non dice che tutte le parole hanno quella forma!
PJTraill

Terminologia : parli di una stringa che è regolare, mentre il termine regolare è normalmente applicato alle lingue.
PJTraill

Risposte:


15

Probabilmente il termine più specifico per descrivere la tua prima stringa, è periodico . Una stringa (finita o infinita) è periodica se c'è qualche  tale che, per tutti  , . Nel caso di questo esempio, possiamo prendere . Una nozione leggermente più debole è che una stringa è finalmente periodica se ci sono e  tale che per tutti .010101x1x2tixi=xi+tt=2ntxi=xi+tin

Più in generale, tuttavia, esiste un analogo diretto delle lingue normali, ovvero le lingue -regolari . Questi sono riconosciuti da generalizzazioni naturali di automi finiti. L'insieme di stati è ancora finito, ma il criterio di accettazione deve essere modificato per trattare con parole infinite - in particolare, non possiamo semplicemente dire "Accetta se l'automa termina in uno stato accettante" perché l'automa non finisce mai di elaborare il suo input infinito.ω

La classe più semplice di automi per parole infinite sono gli automi Büchi . Sono definiti esattamente come gli automi finiti a cui sei abituato e accettano il loro input se almeno uno stato di accettazione viene visitato all'infinito spesso durante l'esecuzione dell'automa. Una differenza dai comuni automi finiti è che si scopre che gli automi non deterministici di Büchi sono più potenti di quelli deterministici e che i linguaggi regionali sono quelli accettati dagli automi non deterministici di Büchi. Altri criteri di accettazione sensati portano ad altri modelli di automi che accettano la stessa classe di lingue.ω

Nota che non ha molto senso scrivere , poiché non puoi avere nulla dopo una sequenza infinita di s. Almeno, non puoi se le posizioni nella tua stringa sono indicizzate dai numeri naturali. Se sono indicizzati da ordinali più grandi, può avere senso.xyωzy

In realtà non riesco a ricordare se esiste un analogo del lemma di pompaggio per le lingue -regolari. Questo è un po 'imbarazzante, anche se è quasi un decennio da quando ho insegnato una classe di laurea su queste cose.ω


3
Bello. Forse aggiungere esplicitamente che le lingue -regular sono unioni finite di lingue , dove regolari. Non so di pumping, ma a volte è utile osservare che ogni linguaggio -regular deve contenere una stringa eventualmente periodica. ωABωA,Bω
Hendrik Jan

10
Ho sempre odiato la presentazione standard del lemma di pompaggio per essere così dannatamente ottuso. Quando ci si arriva fino in fondo, tutto ciò che realmente dice è che, poiché esiste un insieme finito di stati, qualsiasi stringa con più simboli di quanti siano gli stati deve visitare due volte uno stato durante una corsa dell'automa. I simboli che partecipano a questo loop sono quelli che puoi "pompare". Cast in questa luce, è chiaro che c'è un analogo quando passiamo a stringhe infinite ma manteniamo stati finiti; quindi la domanda non è "c'è un lemma di pompaggio?" ma "quanto è più complicato il lemma del pompaggio?".
Daniel Wagner,

@DanielWagner: Wow, sì ... la presentazione standard è davvero dannatamente ottusa e la tua lo rende vividamente chiaro. Grazie per quella spiegazione!
user541686

4
@DanielWagner: il lemma del pompaggio è certamente confuso, ma il vantaggio della presentazione standard è che non si riferisce alla meccanica degli automi, alle espressioni regolari o ad altri modi particolari di definire i linguaggi regolari. Parla solo di stringhe!
Max

@Max Davvero un dubbio vantaggio!
Daniel Wagner,

3

Questo è un risultato di base nell'efficacia di tipo due, che credo risponda alla tua domanda da un punto di vista calcolabile. Di seguito, le nostre lingue sono costituite solo da stringhe infinite. Indichiamo l'insieme di stringhe infinite .Σω

Teorema: se un automa realizzabile termina su ogni stringa infinita, allora il linguaggio dell'automa è uguale a dove è un insieme finito di stringhe finite.SΣωS

La prova è del lemma di Konig.

La conclusione è che un linguaggio su stringhe infinite è o "semplice" in un certo senso (il che è un fatto interessante ) o indecidibile. Qualsiasi nozione non banale di linguaggio su stringhe infinite è indecidibile.


Puoi presumibilmente studiare lingue meno semplici se permetti che l'appartenenza sia semidecidibile piuttosto che decidibile. Questo può ancora essere considerato "informatica" e non solo matematica infinita (ha a che fare con problemi di ricerca anziché con problemi di decisione; la semidecidibilità è in un certo senso sufficiente per fare una ricerca).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.