Niedeterministyczny automat skończony: Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
m kat.
Loveless (dyskusja | edycje)
Linia 26: Linia 26:
[[he:אוטומט סופי לא דטרמיניסטי]]
[[he:אוטומט סופי לא דטרמיניסטי]]
[[ja:非決定性有限オートマトン]]
[[ja:非決定性有限オートマトン]]
[[sr:Недетерминистички коначни аутомат]]

Wersja z 15:40, 16 kwi 2008

Niedeterministyczny automat skończony (ang. Non-deterministic Finite-state Automaton) to maszyna o skończonej liczbie stanów, która zaczynając w stanie początkowym czyta kolejne symbole pewnego słowa. Po przeczytaniu każdego symbolu zmienia ona swój stan na stan będący elementem zbioru, który jest wartością funkcji przejścia. Jeśli po przeczytaniu całego słowa maszyna znajduje się w którymś ze stanów oznaczonych jako akceptujące (końcowe), mówimy że automat akceptuje czytane słowo.

Niedeterministyczny automat skończony różni się od deterministycznego automatu skończonego tym, że przeczytanie symbolu w danym stanie może powodować przejście do jednego z kilku różnych stanów.

Formalnie niedeterministyczny automat skończony można przedstawić jako piątkę uporządkowaną (S, ∑, T, s, A), gdzie:

  • S jest skończonym zbiorem stanów
  • ∑ jest skończonym zbiorem nazywanym alfabetem
  • T: S × ∑ → P(S) jest funkcją przejścia
  • s jest stanem początkowym
  • A jest zbiorem stanów akceptujących (końcowych)

P(S) jest zbiorem potęgowym zbioru stanów S.

Każdemu niedeterministycznemu automatowi skończonemu odpowiada deterministyczny automat skończony akceptujący dokładnie te same słowa. Możemy go uzyskać dokonując determinizacji automatu skończonego.

Zobacz też: Automat Büchiego.