Изменения

Перейти к: навигация, поиск

Недетерминированные конечные автоматы

303 байта убрано, 17:57, 15 ноября 2014
Псевдокод
===Псевдокод===
'''bool''' accepts(<tex>\langle \Sigma, Q, s, T, \delta \rangle</tex>: '''Automaton''', <tex>\mathtt{w}</tex>: '''String'''):
<font color=darkgreen>// Строим <tex> R_i </tex> </font>
<tex> R_0 = \lbrace s \rbrace </tex>
'''for''' i = 1 '''to''' <tex>\mathtt{w}</tex>.length
'''for''' (<tex> q </tex> '''in''' <tex> R_{i - 1} </tex>)
<tex> R_i = R_i \cup \delta(q, \mathtt{w}[i]) </tex>
<font color=darkgreen>// Проверяем, есть ли в <tex> R_n </tex> терминальные состояния </font> '''for''' (term_state '''in''' <tex> T </tex>) '''if''' term_state '''inreturn''' <tex> R_{|\mathtt{w}|} \cap T \neq \varnothing </tex> '''return''' ''true'' '''return''' ''false''
Время работы алгоритма: <tex> \mathop O(|w|\sum\limits_{t \in Q} \sum\limits_{c \in \Sigma} |\delta(t, c)|) </tex>.
Анонимный участник

Навигация