È decidibile se una lingua descritta dal numero di occorrenze è regolare?


14

È noto che la lingua delle parole che contiene lo stesso numero di 0 e 1 non è regolare, mentre la lingua delle parole che contiene lo stesso numero di 001 e 100 è regolare ( vedere qui ).

Dato due parolew1,w2 , è decidibile se la lingua delle parole che contiene lo stesso numero di w1 e w2 è regolare?


Puoi fornire altri esempi di lingue regolari così definite, diverse da 1i0 e 01i o 0i1 e 10i ? Che dire di un esempio su un alfabeto di 3 simboli?
babou,

Se w1 è una subword rigorosa di w2 , c'è una grande possibilità che la lingua sia vuota, quindi regolare. Non conosco altri esempi.
sdcvvc,

Sospetto senza dubbio che gli esempi sopra riportati siano gli unici, il che renderebbe il problema decidibile.Se si specificano solo due sottostringhe, immagino che sia CF ... a seconda di ciò che è possibile specificare per quanto riguarda le occorrenze. Non rendi abbastanza preciso ciò che intendi con "descritto dal numero di occorrenze".
babou,

Il corpo della domanda è abbastanza preciso IMO.
sdcvvc,

1
le soluzioni finora per casi speciali sembrano dipendere dall'idea che occorrenze di sottostringhe di garantiscano solo singole occorrenze di intervento w 2 . quindi in qualche modo supponendo che le risposte attuali siano corrette [non mi è ancora chiaro] sembra che ci sia una relazione tra w 1 , w 2 che garantisce nel mezzo della scansione della stringa che si può essere in entrambi gli stati "uguale" o "disuguale ", ma solo con un numero finito massimo per il caso" disuguale ". w1w2w1w2
vzn

Risposte:


3

Date due parole , w 2 , è decidibile se la lingua L delle parole che contengono lo stesso numero di w 1 e w 2 è regolare?w1w2Lw1w2

Innanzitutto alcune definizioni:
potrebbero essere rese più concise e le notazioni potrebbero essere migliorate se dovessero essere utilizzate nelle prove. Questa è solo una prima bozza.

Date due parole e w 2 , diciamo che: w1w2

  • si verifica semprecon w 2 , annotato w 1w 2 , iff w1 w2w1w2

    1. per ogni stringa tale che s = x w 2 y con x ,ss=xw2y e | x | 0 , | x | 1 | , | y | 0 , | y | 1 | 1 c'è un'altra decomposizione s = x w 1 y . Nota: La condizione che x ed yx,y ≥∣w1+w2|x|0,|x|1|,|y|0,|y|1|1s=xw1y
      xyognuno contiene almeno uno 0 e un 1 è richiesto da un caso patologico (trovato da @sdcvvc): , w 2 = v 1 i + j e y 1 , e le sue varianti simmetriche.w1=1i0w2=v1i+jy1
    2. v'è una stringa con | x | ,s=xw2y tale che esiste al massimo una decomposizione s = x w 1 y x,y ≥∣w1+w2s=xw1y
  • si verifica semprecon w 2 , annotato w 1w1 w2 , se ciascuno si verifica sempre con l'altro,w1w2

  • e w 2 si verificano indipendentemente, annotato w 1w1w2 , se nessuno dei due si verifica sempre con l'altro,w1w2

  • si verifica sempre m volte o piùdi w 2 , annotato w 1 m w 2 , iff per qualsiasi stringa s tale che s = x w 2 y conx , y | w 1+ w 2 ci sono m altre decomposizioni s = x i w 1 y iw1 mw2w1mw2ss=xw2yx, y| ≥∣w1+w2ms=xiw1yipoiché tale che i j implica x ix j .i[1,m]ijxixj

Queste definizioni sono costruite in modo da poter ignorare ciò che accade alle estremità della stringa in cui si suppone che si verifichino e w 2 . Gli effetti al limite alla fine della stringa devono essere analizzati separatamente, ma rappresentano un numero finito di casi (in realtà penso di aver dimenticato uno o due di questi sotto-casi limite nella mia prima analisi di seguito, ma non importa davvero). Le definizioni sono compatibili con la sovrapposizione di occorrenze.w1w2

Vi sono 4 casi principali da considerare (ignorando la simmetria tra e w 2 ):w1w2

  1. Entrambe le parole vanno necessariamente insieme, tranne forse alle estremità della stringa. Ciò riguarda solo coppie delle forme 1 i 0 e 01 i , oppure 0 i 1 e 10 i . Questo è facilmente riconosciuto da unautoma finitoche controlla solo le occorrenze solitarie su entrambe le estremità della stringa per essere riconosciuto, per assicurarsi che ci sia una ricorrenza solitaria su entrambe le estremità o su nessuna delle due estremità. C'è anche il caso degenerato quando w 1 = w 2 : allora la lingua L è ovviamente regolare.w1w2
    1i001i0i110iw1=w2

  2. , ma non w 2w 1 Una delle 2 parole non può apparire senza l'altra, ma il contrario non è vero (tranne forse alle estremità della stringa). Questo succede quando:w1w2w2w1

    • è una sottostringa di w 2 : quindi un automa finito può semplicemente verificare che w 1 non si verifichi al di fuori di un'istanza di w 2 .w1w2w1w2

    • e w 2 = v 1 j per qualche parola v { 0 , 1 } , v 01 i : quindi un automa finito verifica come nel caso precedente che w 1 non si verifichi separato da w 2 . Tuttavia, l'automa consente di contare un'istanza aggiuntiva di w 1 che consentirà l'accettazione se w 2w1=1i0w2=v1jv{0,1}v01iw1w2w1w2è un suffisso della stringa. Esistono altri tre casi simmetrici (simmetria 1-0 e simmetria sinistra-destra).

  3. Una delle 2 parole appare due volte nell'altra. Ciò può essere riconosciuto da un'automazione finita che verifica che la parola più piccola non sia mai presente nella stringa. C'è anche una variante leggermente più complessa che combina le due varianti del caso 2. In questo caso l'automa verifica che la stringa più piccola 1 i 0 non si verifichi mai, tranne forse come parte di v in quella più grande v 1 j che arriva come suffisso della stringa (e altri 3 casi per simmetria).w12w2
    1i0vv1j

  4. Le 2 parole possono apparire indipendentemente l'una dall'altra. Costruiamo una macchina generalizzata-sequenziale (gsm) G che emette a quando riconosce un'occorrenza di w 1 e b quando riconosce un'occorrenza di w 2 e dimentica tutto il resto. La lingua L è regolare solo se la lingua G ( L ) è regolare. Ma G ( L ) = { w { a , b } w aw1w2
    Gaw1bw2LG(L) che è chiaramente privo di contesto e non regolare. Quindi L non è regolare. In realtà abbiamo L = G - 1 ( G ( L ) ) . Poiché le lingue regolari e le lingue senza contesto sono chiuse sotto la mappatura gsm e la mappatura gsm inversa, sappiamo anche che L è libera dal contesto.G(L)={w{a,b} wa=∣wb}L
    L=G1(G(L))L

Un modo per organizzare una prova formale potrebbe essere il seguente. Innanzitutto crea un PDA che riconosca la lingua. In realtà può essere fatto con una macchina a 1 contatore, ma è più facile avere due simboli di stack per evitare di duplicare il controllo finito. Quindi, per i casi in cui dovrebbe essere un FA, mostrare che il contatore può essere limitato da una costante che dipende solo dalle due parole. Per gli altri casi, mostra che il contatore può raggiungere qualsiasi valore arbitrario. Naturalmente, il PDA dovrebbe essere organizzato in modo che le prove siano abbastanza facili da trasportare.

Rappresentare la FA come PDA a 2 stack-simboli è probabilmente la rappresentazione più semplice per essa. Nel caso non regolare, la parte di controllo finita del PDA è la stessa di quella del GSM nello schizzo di prova sopra. Invece di emettere 's e b ' come il GSM, il PDA conta la differenza di numero con lo stack.ab


Avevo una domanda sulla mancanza di contesto nel caso di tre parole. L'ho eliminato quando mi sono reso conto che poteva essere analizzato in modo simile. Avevo inizialmente pensato che dimostrare la non-CFness sarebbe stato un esercizio originale, ma il GSM l'ha rovinato.
babou,

2
Non è chiaro che cosa intendi con "si verificano indipendentemente l'uno dall'altro", "si incontrano necessariamente" ecc. Si prega di scrivere invece definizioni formali e dimostrare che coprono tutti i casi.
sdcvvc,

1
Non sono sicuro di ciò che stai chiedendo e di quale livello di formalizzazione hai bisogno, a quale scopo. Mi sono reso conto che l'analisi manuale delle possibili relazioni tra le due parole non è garantita per essere corretta, e non importa comunque. Ciò che conta è se può esistere un'occorrenza di una parola senza creare contemporaneamente un'occorrenza (o più) dell'altra parola. I dettagli non contano in quanto saranno sempre localizzati e quindi gestibili finitamente. Le due estremità non contano neanche perché sono anch'esse localizzate. Anche le sovrapposizioni di eventi non contano poiché possono essere finitamente molte in un unico posto
babou,

1
Ti ho chiesto delle definizioni precise dei termini menzionati nel commento. Grazie per averli scritti. Avrei dovuto indovinarli in precedenza? Ad ogni modo, sembri affermare che . Questa condizione non soddisfa 1. della definizione di " w 1 avviene sempre con w 2 ", poiché non v'è presenza di 1 0 i in s = 0 M 0 i 1 1 M . 0i110iw1w210is=0M0i11M
sdcvvc,

Scusa, non intendevo farti indovinare. Mi ci è voluto solo tempo per capire cosa volevi esattamente. Solo il mio fallimento. Per quanto riguarda il tuo contro esempio, hai ragione. Ma per me significa solo che devo essere un po 'più attento ai telomeri, nella definizione delle relazioni. Li ho definiti troppo rapidamente, ma o 1 M non trasmettono molte informazioni in questo contesto. Questo è davvero un esempio patologico al contorno all'interno di un caso patologico, che in realtà non può verificarsi quando vengono utilizzati più di 2 simboli. Non credo che cambi nulla. 0M1M
babou,
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.