Perché la minimizzazione di NFA è un problema difficile quando la minimizzazione di DFA non lo è?


14

So che possiamo minimizzare i DFA trovando e fondendo stati equivalenti, ma perché non possiamo fare lo stesso con gli NFA? Non sto cercando una prova o qualcosa del genere - a meno che una prova sia più semplice da capire. Voglio solo capire intuitivamente perché la minimizzazione di NFA è così difficile quando la minimizzazione di DFA non lo è.

Risposte:


8

Per DFA esiste una bella struttura algebrica che determina quali stati possono essere equivalenti, l'equivalenza di Myhill-Nerode sulle stringhe è correlata alla minimizzazione di DFA.

Per NFA la situazione è complicata in quanto non esiste un NFA minimo unico in generale.

Ecco un esempio per il linguaggio finito . I due automi sono entrambi minimali. L'esempio è tratto dall'articolo Una nota sugli automi non deterministici minimi di Arnold, Dicky e Nivat.{un'B,un'c,Bc,Bun',cun',cB}

due NFA per la stessa lingua

Questa risposta cerca di esprimere il fatto che i due problemi sono "tecnicamente" diversi. Vedi la risposta di vzn per i dettagli su come i problemi differiscono nella complessità computazionale.


8
Né il problema del percorso più breve né quello del minimo spanning tree (sempre) hanno soluzioni uniche, ma sono comunque risolvibili in modo efficiente.
Raffaello

5

Hai chiesto informazioni su un approccio intuitivo.

In un DFA, un determinato prefisso di input può raggiungere al massimo uno stato. Si possono quindi unire coppie di stati indistinguibili per qualsiasi suffisso. Gli stati che possono essere distinti da alcuni suffissi non possono essere uniti. Ciò porta ad un automa minimo che è isomorfo a tutti gli altri automi minimi.

pqpPPqQPqPQ

n2n


1

O(nSlogn)

vedi anche questa domanda TCS.se che calcola l'NFA minimo per un DFA


Non so come definire duro, ma intendevo dire che non esiste un algoritmo efficiente per risolverlo.
Duncan,

@duncan ok, allora hai usato davvero la parola in senso tecnico. quindi ci sono alcuni chiarimenti sulla durezza tecnica. in CS, "efficiente" è anche un termine tecnico preso / definito come lo stesso di PTime. quindi la tua domanda in realtà è correlata a un'importante domanda aperta in TCS: è ampiamente sospettato / formulato che la minimizzazione di NFA (insieme a tutti i problemi completi di PSpace) sia effettivamente "difficile", cioè non in P, ma non è ancora stata provata.
vzn,
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.