Espressioni regolari con riferimenti indietro sull'alfabeto unario


18

Ambientazione:

  • espressioni regolari con riferimenti secondari
  • lingua unaria (alfabeto a 1 simbolo)

È il seguente problema decidibile in questa impostazione:

  • Data un'espressione regolare con riferimenti secondari, definisce una lingua regolare?

Ad esempio, (aa+)\1definisce una lingua normale, mentre (aa+)\1+non lo fa. Possiamo decidere quale è il caso?


Per concretezza, "espressioni regolari con riferimenti arretrati" si riferiscono ad esempio al seguente sottoinsieme delle normali espressioni regolari compatibili con Perl :

  • acorrisponde al carattere a(l'unico carattere dell'alfabeto)
  • X* corrisponde a 0 o più occorrenze di X
  • X|Ypartite XoY
  • le parentesi possono essere utilizzate per raggruppare e catturare
  • \1. \2, ecc. corrispondono alla stessa stringa della prima, seconda, ecc. coppia di parentesi

Possiamo anche usare le normali scorciatoie, ad esempio X+= XX*.


1
Hai esplorato gli approcci di conteggio, cioè ispezionando la sequenza di? Immagino che tu abbia familiarità con il lavoro di Freydenberger? |Ln|
Raffaello

Risposte:


4

La prova contro l'effettiva decidibilità del problema è fornita dalla costruzione nella dimostrazione del Teorema 9 nel mio documento Sulle espressioni regolari pratiche : si potrebbe determinare se ci sono finiti molti numeri primi di Fermat.


Benvenuti nel sito! Ho aggiunto una citazione più completa al tuo documento.
David Richerby,
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.