Jutro jest moja prezentacja i chcę wyjaśnić moje koncepcje…
Przeczytałem to w DFA: „Dla każdego stanu należy zdefiniować przejście na wszystkie możliwe symbole (alfabet)”.
Czy dla każdego stanu zdefiniowanie przejścia na wszystkie możliwe symbole jest obowiązkowe w DFA? Jeśli nie, proszę podać jakieś przykłady?
Odpowiedzi:
DFA określają następujące dane:
Jak widać z podpisu , określa przejście w każdym stanie dla każdego symbolu.δ
źródło
Załóżmy, że DFA może mieć brakujące przejścia. Co się stanie, jeśli napotkasz symbol, dla którego nie zdefiniowano żadnej zmiany? Wynik jest niezdefiniowany. Wydaje się, że narusza to „deterministyczną” charakterystykę DFA.
Jednak przekształcenie takiego niekompletnego DFA w kompletny DFA jest banalne . Po prostu dodaj nowy stan
illegal
i zamapuj wszelkie niezdefiniowane przejścia do tegoillegal
stanu. Na koniec dodaj przejścia dla każdego symbolu zeillegal
stanu z powrotem do siebie. Tenillegal
stan jest często nazywany stanem ujścia , ponieważ gdy dane wpadną do ujścia, nie ma możliwości wyjścia.Z praktycznego punktu widzenia jest to rodzaj dyskusji, o ile masz dobrze zdefiniowany sposób radzenia sobie z brakującymi przejściami.
źródło
DFA jest często definiowany jako ograniczony typ NFA. Jeśli jest alfabetem wejściowym, a jest zbiorem stanów, struktura przejściowa NFA jest określona jako relacja , lub jako funkcja . Jeśli przyjmiemy tę ostatnią definicję, możemy powiedzieć, że NFA jest deterministyczny, jeśli dla wszystkich i , i uzupełnij jeśli , ponownie, dla wszystkich i .Q ρ ⊆ Q × Σ × Q δ : ( Q × Σ ) → 2 Q | δ ( q , σ ) | ≤ 1 q ∈ Q σ ∈ Σ δ ( q , σ ) ≠ ∅ q ∈ Q σ ∈ ΣΣ Q ρ⊆Q×Σ×Q δ:(Q×Σ)→2Q |δ(q,σ)|≤1 q∈Q σ∈Σ δ(q,σ)≠∅ q∈Q σ∈Σ
Słowo jest akceptowane przez NFA, jeśli ma przebieg akceptacyjny. Automat deterministyczny ma co najwyżej jeden przebieg. Kompletny automat ma co najmniej jeden przebieg.
Niektórzy autorzy definiują automaty przycinania jako te, w których każdy stan znajduje się na drodze od stanu początkowego do końcowego. W przypadku niektórych języków nie można mieć automatów, które są zarówno wykończone, jak i kompletne. W takich przypadkach wygodnie jest utrzymać wymóg kompletności poza definicją automatu deterministycznego.
źródło