Per un alfabeto finito fisso , un linguaggio formale su è regolare se esiste un automa a stati finiti deterministico (DFA) su che accetta esattamente .
Sono interessato a lingue "quasi" regolari, nel senso che possono essere riconosciute da famiglie di dimensioni di automi che crescono solo in modo polinomiale con la lunghezza della parola.
Formalmente, lasciatemi dire che un linguaggio formale è riconosciuto da una famiglia DFA se per ogni parola , lasciando , è in iff accetta (non importa se l'altro accetto o meno) e lasciami definire le lingue p-regular come lingue riconosciute da una famiglia DFA calcolabile con PTIME di dimensione polinomiale, ovvero esiste un polinomio tale che per tutto . (Questo nome, "p-regular", è qualcosa che ho inventato, la mia domanda è sapere se esiste già un altro nome per questo. Nota che questo non è lo stesso dei linguaggi p-regular nel senso degli automi di permutazione .)
Questa classe di lingue p-regolari include ovviamente le lingue regolari (basta prendere per tutte le n , dove A è un DFA che riconosce la lingua normale); ma ne è un superset rigoroso: ad esempio, è noto che { a n b n ∣ n ∈ N } è privo di contesto ma non regolare, ma è p-regolare ( A n deve solo contare n occorrenze di a e n occorrenze di b ). Tuttavia, poiché richiedo che gli automi siano DFA di dimensioni polinomiali, alcune lingue formali (in realtà alcune lingue senza contesto) non sono p-regolari: ad esempio, la lingua dei palindromi non è p-regolare, perché, intuitivamente, quando hai letto la prima metà di una parola, devi avere tanti stati diversi quante sono le parole possibili, perché dovrai abbinare esattamente questo primo semestre con il secondo.
Quindi la classe delle lingue p-regular è un superset rigoroso delle lingue regolari che è incomparabile con le lingue senza contesto. In effetti, sembra che tu possa persino ottenere una gerarchia di lingue distinguendo le lingue p-regolari in base al più piccolo grado del polinomiale per il quale sono P -regolari. Non è troppo difficile costruire esempi per dimostrare che questa gerarchia è rigorosa; anche se non capisco bene l'interazione tra questo e una definizione alternativa della gerarchia che limiterebbe anche la complessità del calcolo di A n .
La mia domanda è: questa classe che chiamo p-regular e la gerarchia associata sono già state studiate? Se sì, dove e con quale nome?
(Un possibile collegamento è con il campo o lo streaming o gli algoritmi online. Nella terminologia degli algoritmi di streaming per problemi di riconoscimento del linguaggio , sono interessato alla classe (o gerarchia) di linguaggi che possono avere un algoritmo di riconoscimento deterministico, one-pass, utilizzando un numero polinomiale di stati (quindi una dimensione della memoria logaritmica), ma non ho trovato alcuna definizione di questa classe in questo documento o in documenti correlati. Si noti, tuttavia, che nella mia frase del problema la lunghezza della parola è nota in anticipo , che è meno naturale in un contesto di streaming: nello streaming si potrebbe vedere questo come un automa infinito, uno speciale simbolo di "fine parola" e un vincolo che il numero di stati raggiungibili dopo aver letto caratteri è polinomiale in n. Penso che questa distinzione faccia la differenza, possibile esempio: linguaggio di parole binarie il cui valore è divisibile per la loro lunghezza, che è facile per una lunghezza fissa ma (I congettura) non può essere rappresentato da un automa infinito nel senso precedente perché nessuna identificazione può essere effettuato se la lunghezza non è nota in anticipo.)
(La motivazione di questa classe p-regolare è che alcuni problemi, come la probabilità di appartenenza alla lingua per le parole probabilistiche, sembrano essere PTIME non solo quando la lingua è regolare, ma anche quando è p-regolare, e sto provando caratterizzare esattamente in quali circostanze tali problemi sono trattabili.)