Non riesco a trovare nulla di positivo a riguardo. E un NFA con qualsiasi transizione epsilon è un epsilon-NFA? Grazie.Un DFA può avere transizioni epsilon/lambda?
risposta
DFA non ha transizioni epsilon. Se ce l'avesse, potrebbe transitare dallo stato corrente ad altro stato senza alcun input, cioè con niente, nemmeno con {} o phi. E come definizione, sappiamo che l'input deve provenire dal set di input. Spero che questo chiarisca il tuo dubbio ...
Cosa accadrebbe se questa transizione fosse in uno stato finale? Come nella figura 3.51 nella pagina 225 di questo documento http://www.univasf.edu.br/~marcus.ramos/lfa-2008-1/Secao%2003-06.pdf. – liwing
Wow ... l'immagine è auto-esplicativa ora ... come vedi, q0 transita in q3 senza alcun input e quindi è NFA e ha movimenti epsilon quindi è epsilon-NFA e non DFA .. –
Grazie per il chiarimento – liwing
DFA deve avere un simbolo di input definito per passare da uno stato a un altro stato. Epsilon Move non è consentito in DFA, perché cambierà DFA in NFA. Ad esempio, supponiamo di essere nello stato Q1 e di avere una transizione (Q1, e) = Q2, in questo caso puoi andare direttamente a Q2 senza applicare alcun input o puoi rimanere nello stato Q1, quindi hai due opportunità di scelta allo stato Q1. In caso di DFA non devi avere alcun criterio di scelta. Ecco perché DFA non ha mosse epsilon.
Dalla definizione di DFA, "Deterministic Finite Automata è una macchina che non può spostarsi su altro stato senza ottenere alcun input". E poiché epsilon non significa nulla. Quindi DFA non può muoversi su mosse epsilon.
Considerando che dalla definizione di NFA, "Automazione finita non deterministica è una macchina che può spostarsi su altro stato senza ottenere alcun input". Così NFA può spostarsi su mosse epsilon.
- 1. il compilatore può calcolare facilmente un DFA da un'espressione regolare?
- 2. Levenshtein DFA in .NET
- 3. VisualStateManager non può generare transizioni per ThicknessAnimations
- 4. Che cos'è un "DFA con tag"?
- 5. Un delegato può avere un parametro opzionale?
- 6. Un file CSV può avere un commento?
- 7. Implementazione NFA/DFA in C#
- 8. Un servizio Android può avere più permessi?
- 9. Un array variante può avere 0 elementi?
- 10. Un elemento HTML può avere attributi arbitrari?
- 11. Un set può avere elementi duplicati?
- 12. DFA costruzione nell'algoritmo di Knuth-Morris-Pratt
- 13. Un'attività può avere più attenditori?
- 14. Un widget di casa può avere un contesto?
- 15. Un envo java può avere più di un costruttore?
- 16. Un ascoltatore di eventi può avere un solo abbonato?
- 17. Un modulo può avere un proprio file di configurazione?
- 18. Un ramo GIT può avere un sottoinsieme di dati?
- 19. Boost Statechart - transizioni locali
- 20. Un hash può avere chiavi o valori duplicati
- 21. una pagina può avere un solo lato server tag form
- 22. Una lingua non interpretata può avere un Garbage Collector?
- 23. python - può lambda avere più di un ritorno
- 24. Un elemento HTML può avere più attributi ID univoci?
- 25. Una classe può avere un costruttore sia pubblico che privato?
- 26. Una libreria di classi può avere un file App.config?
- 27. Un grafico di dipendenza del controllo può avere cicli?
- 28. Un div può avere più classi (Twitter Bootstrap)
- 29. Un tag img HTML può avere più attributi src?
- 30. Swift: come può un superlayer non avere sottolivelli?
Cosa intendi per transizione lambda? –
Alcuni libri usano lambda invece di epsilon. È la stessa cosa. – liwing