Изменения

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

Эквивалентность состояний ДКА

24 байта убрано, 15:01, 18 октября 2014
Проверка через BFS
<font color=green>// <tex>Q</tex> {{---}} очередь из пар состояний</font>
''boolean'' '''function''' $\mathtt{bfsEquivalenceCheck}$($aut1$, $aut2$)
$\mathtt{insert} Q.push( \langle s_1, s_2 \rangle$ $in Q ) $
$\mathtt{used1[s_1]} \leftarrow $ ''true''
$\mathtt{used2[s_2]} \leftarrow $ ''true''
$u \leftarrow Q.front.first$
$v \leftarrow Q.front.second$
$\mathtt{Q.pop(Q)}$
'''if'''( $\mathtt{isTerminal1[u]} \ne \mathtt{isTerminal2[v]}$ )
'''return''' ''false''
'''for''' $i \in \Sigma$
'''if'''( '''not''' $\mathtt{used1[aut1[u][i]]}$ || '''not''' $\mathtt{used2[aut2[v][i]]} $)
'''insert''' $ Q.push( \langle \mathtt{aut1[u][i]}, \mathtt{aut2[v][i]} \rangle \in Q )$
$\mathtt{used1[aut1[u][i]]} \leftarrow $ ''true''
$\mathtt{used2[aut2[v][i]]} \leftarrow $ ''true''
Анонимный участник

Навигация