Quali sono le condizioni affinché un NFA per il suo equivalente DFA abbia dimensioni massime?


24

Sappiamo che i DFA sono equivalenti ai NFA in termini di potere espressivo; esiste anche un algoritmo noto per convertire NFA in DFA (purtroppo ora conosco l'inventore di tale algoritmo), che nel peggiore dei casi ci dà stati, se il nostro NFA aveva stati2SS

La mia domanda è: cosa sta determinando lo scenario peggiore?


Ecco una trascrizione di un algoritmo in caso di ambiguità:

Sia un NFA. Costruiamo un DFA doveA = ( Q , Σ , δ , q 0 , F )A=(Q,Σ,δ,q0,F)A=(Q,Σ,δ,q0,F)

  • Q=P(Q) ,
  • F={SQ|FS} ,
  • δ(S,a)=sS(δ(s,a)δ^(s,ε)) e
  • q0={q0}δ^(q0,ε) ,

dove δ^ è la funzione di transizione estesa di A .


come affermano i commenti, è possibile salvare questo Q chiedendo NFA "minimo" per un DFA (un problema aperto). ho sempre pensato che questo problema fosse strettamente collegato alla domanda P =? NP in vari modi e abbia alcune formulazioni simili che lo suggeriscono. è simile per il fatto che stai chiedendo DFA "comprimibili" vs "incomprimibili" dove "incomprimibile" è il caso peggiore in modo tale che l'NFA minimo abbia quasi le dimensioni del DFA. probabilmente c'è qualche teorema come "la maggior parte dei DFA, presi a caso, sono incomprimibili [negli NFA]" in quanto ci sono thms simili nella teoria dell'informazione sulla complessità delle stringhe
kolmogorov

Risposte:


24

L'algoritmo a cui ti riferisci si chiama Powerset Construction, ed è stato pubblicato per la prima volta da Michael Rabin e Dana Scott nel 1959.

Per rispondere alla tua domanda come indicato nel titolo, non esiste un DFA massimo per un linguaggio regolare, poiché puoi sempre prendere un DFA e aggiungere tutti gli stati che desideri con le transizioni tra di loro, ma senza transizioni tra uno degli stati originali e uno di quelli nuovi. Pertanto, i nuovi stati non saranno raggiungibili dallo stato iniziale , quindi la lingua accettata dall'automa non cambierà (poiché rimarrà lo stesso per tutti i ) .δ ( q 0 , w ) w Σ *q0δ^(q0,w)wΣ

Detto questo, è chiaro che non ci possono essere condizioni per un NFA affinché il suo DFA equivalente sia massimo, poiché non esiste un DFA equivalente unico . Al contrario, il DFA minimo è unico fino all'isomorfismo.


Un esempio canonico di una lingua accettata da un NFA con stati con DFA equivalente di stati è Un NFA per è , con , e per . Il DFA risultante dall'applicazione della costruzione del powerset a questo NFA avrà stati, perché è necessario rappresentare tutte le parole di lunghezzan+12n

L={w{0,1}:|w|n and the n-th symbol from the last one is 1}.
LA=Q,{0,1},δ,q0,{qn+1}δ(q0,0)={q0}δ(q0,1)={q0,q1}δ(qi,0)=δ(qi,1)={qi+1}i{1,,n}2n2nncome suffissi di una parola in .L

A proposito, se vuoi che le parentesi graffe appaiano nella modalità matematica del display usa \\ {e \\}.
Zach Langley

@ZachLangley Ho già provato, non funziona :-(
Janoma

Sembra funzionare per me nell'anteprima. Tuttavia, non posso inviare la modifica, perché sto solo aggiungendo quattro caratteri e il minimo è sei. Stai usando due barre rovesciate e non ha funzionato?
Zach Langley

@ZachLangley Ora funziona, ma due cose: 1 °, non ha funzionato quando ho pubblicato la risposta per la prima volta. Secondo, penso che ciò sia incompatibile con il comportamento del rendering LaTeX in cstheory, ma potrei sbagliarmi.
Janoma

Il DFA risultante è minimo? Potresti parlare un po 'di come dimostrare che è minimo?
user834

8

Il caso peggiore di deriva dal numero di sottoinsiemi di stati dell'NFA. Affinché l'algoritmo del teorema di Kleene fornisca un DFA equivalente con il numero di stati peggiore, deve esserci un modo per raggiungere ogni possibile sottoinsieme di stati nell'NFA. Un esempio con due stati sull'alfabeto ha una transizione dallo stato iniziale al solo stato accettante sul simbolo , una transizione dallo stato accettante all'iniziale su , e una transizione dallo stato accettante torna a se stesso su a o a . Le stringhe , , e portano a sottoinsiemi { a , b } a b a b λ a b a b { q 1 } { q 2 } { } { q 1 , q 2 }2s{a,b}ababλabab{q1} , , e , rispettivamente, e questi avrebbero bisogno di stati separati nel DFA Kleene dà.{q2}{}{q1,q2}


concordato ma la domanda "se c'è un modo per raggiungere ogni possibile sottogruppo di stati nell'NFA" non è banale e merita ulteriori studi ....
vzn,

-1

Credo che questa sia una domanda alla frontiera della conoscenza, cioè sostanzialmente una domanda di ricerca. Da una rapida ricerca su Google, sembra essere per lo più aperto. Inoltre, per molti anni ho creduto che fosse importante e legato ai limiti inferiori della teoria della complessità. Non menzionate direttamente un'analisi statistica ma questo è ciò che è implicito nella vostra domanda. Ecco due esempi di studi statistici su DFA / NFA che sono simili per mostrare l'approccio generale a domande di questo tipo. Sembra che la ricerca empirica di base su domande come questa sia ancora per lo più inesplorata. Certo, il 2 ° non si riferisce direttamente alla tua domanda, ma è il più vicino che ho trovato della ricerca attuale.

Per studiare la tua domanda, potrebbe essere previsto un attacco statistico come il seguente. Vengono creati NFA casuali. Quindi viene determinato il DFA minimo. Rappresenta graficamente i risultati dell'istogramma di quanti DFA di dimensione risultato. Separare i DFA "grandi" in base a una soglia. Formulare alcune metriche o misure dell'NFA che forniscano una stima della dimensione DFA risultante.x

Questa metrica sarebbe correlata alle metriche della teoria dei grafi come la densità dei bordi, eccetera. Probabilmente esiste una metrica di teoria dei grafi molto importante o un mix di metriche che stima il "blow-up" ma non è immediatamente ovvio per me. Potrei suggerire qualcosa come metriche di colorazione del grafico o metriche di cricca forse. Quindi testare la metrica con i due set "esplosione" vs "non esplosione".

Altre risposte alla tua domanda finora forniscono solo un esempio di "esplosione" (utile per un caso di studio) ma non affrontano il problema chiave di una metrica generale.

Un'altra area in cui esaminare un programma sviluppato con successo di ricerca empirica è la ricerca sui punti di transizione SAT. Ciò ha sviluppato legami molto profondi con i concetti di fisica e termodinamica. Mi sembra probabile che concetti simili siano applicabili qui. Ad esempio, è probabile trovare metriche del tipo di punto di transizione analogo; probabilmente la densità dei bordi, ecc. Nota paralleli alla teoria della compressibilità di Kolmogorov.

Immagino anche che gli NFA che "esplodono" rispetto a quelli che non sono in qualche modo abbastanza analoghi a casi "difficili" vs "facili" di problemi NP-completi.

Un altro modo per studiare questo problema sarebbe formulare un problema di minimizzazione della NFA. Cioè, dato un DFA, trovare l'NFA minimo, che l'ultima volta che ho sentito (molti anni fa) era ancora un problema aperto.


[1] Sulla performance degli algoritmi di minimizzazione degli automi Marco Almeida, Nelma Moreira, Rogério Reis

[2] Automi che non riconoscono parole: un approccio statistico Cristian S. Calude, Cezar Câmpeanu, Monica Dumitrescu

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.