Изменения

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

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

1408 байт добавлено, 06:41, 29 октября 2011
Нет описания правки
[[Категория: Теория формальных языков]]
== Детерминированный конечный автомат Основные понятия ==
{{Определение
|definition=
'''Детерминированный конечный автомат(ДКА) --- ''' — набор из пяти элементов <tex>\langle \Sigma , Q, s \in Q, T \subset Q, \delta : Q \times \Sigma \to Q \rangle</tex>, где <tex>\Sigma</tex> -- алфавит, <tex>Q</tex> -- множество состояний автомата, <tex>s</tex> -- начальное состояние автомата, <tex>T</tex> -- Множество — множество допускающих состояний автомата, <tex>\delta</tex> -- функция переходов.
}}
 
Пример :
 
[[Файл:DKA_1.jpg‎]]
 
q - начальное состояние.
r - допускающее состояние.
=== Процесс допуска ===
Процесс Опишем процесс допуска автоматом слова автоматом выглядит так: * <tex>p</tex>. Изначально автомат находится в стартовом состоянии* Ему на вход подается строка* Далее на каждом шаге <tex>s</tex>. При считывании очередного символа <tex>p_i</tex> автомат берет новый символ строки и совершает соответствующий переход переходит в новое состояние<tex>\delta(q, p_i)</tex>, где <tex>q</tex> — текущее состояние автомата. Процесс продолжается до тех пор, пока не будет достигнут конец входного слова.{{Определение|definition=Будем говорить, что автомат '''допускает''' слово, если для символа не задано никакого перехода после окончания описанного выше процесса с этим словом автомат окажется в допускающем состоянии.}}'''Замечание.''' Если в какой-то момент из текущего состояниянет перехода по считанному символу, то будем считать, что автомат не допускает данное слово считается недопущенным . При реализации вместо отдельного рассмотрения данного случая иногда удобно вводить фиктивную нетерминальную '''''«дьявольскую вершину»''''' * Слово считается допущенным, если после тогоиз которой любой переход ведет в неё же саму, как прочитаны и заменить все его символы, автомат оказался несуществующие переходы на переходы в допускающем состоянии«дьявольскую вершину».
=== Примеры ===
{| border="1" cellpadding="5" cellspacing="0" style="text-align:center" width=60%
|style="background:#ffffff"|Автомат, принимающий строки из чередующихся символов ''a'' и ''b''
<small><br/>а)без «дьявольской вершины»
<br/>б)с «дьявольской вершиной» (отмечена серым цветом)</small>
|style="background:#ffffff"|[[Файл:Consp dka.png|300 px]]
|-
|style="background:#ffffff"|[[Автомат для поиска образца в тексте]] для строки ''ababb''
|style="background:#ffffff"|<div style="overflow:hidden;">
<div style="margin:-80px 0px -90px 0px;">
[[Файл:Automata.jpg|340px]]
</div>
</div>
|}
== Обозначения ==
76
правок

Навигация