Separare le parole con DFA casuali


15

Uno dei problemi aperti interessanti sui DFA elencati in Sono rimasti dei problemi aperti sui DFA? è la dimensione di un DFA richiesto per separare due stringhe di lunghezza . Sono curioso di sapere se ci sono risultati sulla capacità di un DFA casuale di separare due stringhe (non casuali) date.n

Chiaramente un DFA casuale con abbastanza stati separa le stringhe con alta probabilità. In particolare, se , è improbabile che un DFA casuale con stati riveda mai lo stesso stato una volta raggiunto il primo posto in cui e differiscono, e quindi separa e .u,vΣnO(n)uvuv

Possiamo fare di meglio? Idealmente, qual è la più piccola che un DFA casuale con stati separa stringhe di lunghezza con probabilità positiva (o forse probabilità )? Una breve ricerca non ha prodotto molti risultati sulle proprietà dei DFA casuali; tutto quello che ho potuto trovare è http://arxiv.org/abs/1311.6830 .f(n)f(n)n1/2


La probabilità positiva non è una condizione particolarmente utile qui, dato che è solo una riaffermazione del problema aperto. L'alta probabilità potrebbe essere ancora interessante.
Geoffrey Irving,

1
Cosa significa "separa"? Accetta uno e rifiuta l'altro? In tal caso, è ovvio che gli stati sono sufficienti? O(n)
usul

Sì, separa significa accetta esattamente uno. E hai ragione: l'argomento di separazione più banale in realtà richiede stati (ciò che ho scritto sopra è sbagliato), anche se sarei sorpreso se molti meno non bastassero. O(n2)
Geoffrey Irving,

1
Non ti aspetteresti che i limiti dipendano da quanto le parole differiscono? Sembra che le parole che differiscono per una singola lettera siano più difficili da discriminare a caso, perché è necessario discriminare in quella transizione e parole molto diverse sarebbero più facili. [Per generalizzare, puoi dimenticare il prefisso comune più lungo (raggiungi uno stato casuale da quello); quindi, lettere diverse ti inviano nello stesso stato o in stati diversi; quindi se gli stati sono diversi devi guardare la proba della risincronizzazione e rimanere in sincronia (inizia di nuovo a seconda delle parole) ...]
a3nm

Sì, come il problema aperto, sono interessato alle parole più difficili da discriminare. Le parole che differiscono solo in alcuni punti possono già essere separate dagli stati , quindi è improbabile che siano il caso difficile. O(logn)
Geoffrey Irving,

Risposte:


2

[Modifica: questa risposta non funziona, vedi commenti.]

Questa è solo un'idea informale e non so se sia d'aiuto, ma è troppo lungo per essere dato come commento. Inoltre, non ho alcuna familiarità con i DFA casuali, quindi forse ho un'intuizione sbagliata su come dovresti ragionare sulle probabilità su di loro, ma spero che questo non sia del tutto privo di valore.

Io suppongo che i limiti dovrebbero dipenderà da quanto e v differiscono; in caso contrario, mi sembra chiaro che il caso peggiore sono le stringhe che differiscono solo per il loro primo carattere (le stringhe che differiscono in un set X di posizioni hanno più possibilità di essere distinte rispetto alle stringhe che si differenziano in un set Y X di posizioni , Direi, e mettere la differenza il prima possibile ti dà l'opportunità di risincronizzare).uvXYX

Guarderò anche la probabilità che le parole si distinguano, cioè raggiungano stati diversi. Immagino che dovresti adattarti per essere accettato o rifiutato in base a come i tuoi DFA casuali assegnano gli stati finali. Se ogni stato ha una probabilità 1/2 di essere finale, allora quando le stringhe finiscono nello stesso stato non si distinguono e quando finiscono in stati diversi hanno probabilità 1/2 di essere distinti.

Ora considererò la parola ottenuta da u e v come segue: w i = 1 se u i = v i e w i = 0 altrimenti. Penso che sia chiaro che w è l'unica cosa interessante da considerare circa u e v .wuvwi=1ui=viwi=0wuv

Ora, definire la probabilità che siamo nello stesso stato dopo aver letto prefissi di lunghezza i di u e v , e q ( i ) = 1 - p ( i ) la probabilità che non siamo.p(i)iuvq(i)=1p(i)

Penso che abbiamo quando w i + 1 è 1 . Intuitivamente, siamo nello stesso stato dopo aver letto le lettere i + 1 o quando eravamo nello stesso stato dopo aver letto i , oppure quando eravamo in due diversi stati (casuali), abbiamo disegnato due transizioni verso stati casuali e sono successe a essere lo stesso. Allo stesso modo, abbiamo p ( i + 1 ) = 1p(i+1)=p(i)+q(i)/nwi+11i+1i quando w i + 1 è 0 : stai disegnando due stati casuali, indipendentemente da dove sei partito.p(i+1)=1/nwi+10

Da questo penso che potresti calcolare la probabilità di essere nello stesso stato dopo aver letto e v .uv


Sfortunatamente, è tutt'altro che ovvio che sia l'unica proprietà interessante di u e v . Il modo più semplice per vederlo è che esiste banalmente una probabilità diversa da zero di distinguere qualsiasi w non banale da 0 n ; infatti, bastano solo due stati indipendentemente da n . Tuttavia, come discusso in arxiv.org/pdf/1103.4513.pdf , ci sono parole u , v di lunghezza n st no o ( log n ) che DFA può distinguerle. Questo contraddice le tue formule per p ( i )wuvw0nnu,vno(logn)p(i).
Geoffrey Irving,

1
Per chiarire, le tue formule sarebbero corrette se le transizioni DFA fossero una funzione casuale dell'indice di stringa; poiché sono indipendenti dall'indice, le probabilità sono correlate in modo piuttosto complicato.
Geoffrey Irving,

Temo di non avere il tuo controesempio. Esiste un prba , con due stati, che distingue 0 n e w 0 n , OK; e forse ci sono parole di lunghezza n che non possono essere separate con o ( log n ) stati. Ma come contraddice la mia affermazione che w è l'unica cosa importante o le mie formule per p ( i )>00nw0nno(logn)wp(i)? Per quanto riguarda le correlazioni, vedo che potrebbe esserci un problema del tipo che stai citando, ma non capisco ancora perché non riesca esattamente. Se attraversi due volte lo stesso stato, c'è una correlazione, ma c'è un motivo per pensare che influenzerebbe in una certa direzione in media?
a3nm

Se , u e v si distinguono con probabilità positiva. Tuttavia, per n sufficientemente grandi e piccoli numeri di stati sappiamo che p ( n ) = 1 per alcuni u e v . Poiché le tue formule implicano che se p ( i ) < 1 allora p ( i + 1 ) = p ( i ) + ( 1 - pp(n)<1uvnp(n)=1uvp(i)<1 , la tua formula non cattura il fatto che certi u e v sono impossibili da distinguere. p(i+1)=p(i)+(1p(i))/n=p(i)(11/n)+1/n<1uv
Geoffrey Irving,

Ah ... giusto, capisco. Se nessun DFA piccolo può distinguere due parole, allora neanche un DFA casuale può distinguerle. Quindi in effetti c'è un problema con il mio approccio, la probabilità dovrebbe scendere a zero alla fine, a causa di quelle correlazioni, a quanto pare. Ci scusiamo per aver fornito una risposta errata. q(i)
a3nm,
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.