Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по ТА.docx
Скачиваний:
11
Добавлен:
24.09.2019
Размер:
355.83 Кб
Скачать

10. Недетерминированные конечные автоматы с ε-переходами и их работа. Язык ε-нка

Опр. Недетерминированный конечный автомат с переходами по пустому слову – это НКА, который реагирует на пустое слово.

Формально – это

- некоторое конечное множество состояний;

- алфавит, конечное множество.

- начальное состояние.

- множество заключительных состояний

То есть то же самое что и для НКА, кроме одного: отношение

Появится лишняя строка, т.к. добавляется пустое слово.

Σ Q

0

1

- НКА.

- замыкание состояния . Это множество состояний, в которое переходит автомат, воспринимая пустое слово. Обозначается . Может быть пустым, разным. Это множество

1). Оно содержит состояние обязательно:

2). Если какое-то состояние и есть переход из состояния р по пустому слову ε в состояние r, то .

;

;

;

;

;

.

В общем виде: - расширенная функция перехода

1). =

2).

Опр. Язык ε-НКА - это множество всех цепочек, прочитав которые автомат попадает в заключительное состояние.

Теорема. Язык допускается некоторым - НКА когда он допускается ДКА.

Доказательство:

. Построим по данному НКА, ДКА с тем же самым языком (НКА). Для этого надо объединить состояния. Объединение множества состояний НКА называется конструкцией подмножества, то есть надо выделить все подмножества (строим булеан Q), всего их будет .

Затем разрешаем переход по пустому слову для каждого состояния.

А

В

С

D

Е

F

H

G

{q0 }

{q1 }

{q2 }

{q0, q1}

{q1, q2}

{q0, q2}

{q0, q1, q2}

0

{q0, q1}

{q0, q1}

{q0, q1}

{q0, q1}

1

{q0 }

{q2 }

{q0, q2}

{q2 }

{q0 }

{q0, q2}

ε

. Есть - НКА), и ДКА

1). Множество состояний ДКА - булеан состояний

2). Стартовым состоянием ДКА будет

3). Множество допускающих состояний:

Как строится функция для всех и ?

Если - множество состояний и

Ч.т.д.

язык НКА.

которые автомат приходит в одно из заключительных состояний называется языком НКА.

Автомат, имея допустимую цепочку, может и не попасть в заключительное состояние.

11. Языки. Операции над языками

Опр. Цепочкой (словом) в данном алфавите называется конечная последовательность символов этого алфавита.

- пустая цепочка (цепочка, которая не содержит ни одного символа). Пустое слово принадлежит любому алфавиту.

Если цепочка непустая, например, w = a1a2a3 ak, то возникает понятие длины цепочки - число символов в ней. =k.

Пусть Σ – алфавит.

Опр. Степень алфавита – множество цепочек алфавита Σ длины k.

Σk = {w \ |w| = k}

Σ0 = {ε}

Σ = {0, 1}

Σ1 = {0, 1} ≠ Σ, Σ – множество элементов, Σ1 – множество однобуквенных слов.

Опр. Σ* - множество всех слов данного алфавита.

Σ+ - множество собственных слов не нулевой длины.

Σ+ =

Σ* =

Над множеством слов данного алфавита можно производить некоторые действия:

x = a1a2a3 ak, y = b1b2b3 bl.

Опр. x∙y = xy – конкатенация цепочек х и у. Это цепочка, полученная ху = a1a2a3 akb1b2b3 bl.

ху ≠ ух – конкатенация цепочек ху не совпадает с конкатенацией цепочек ух.

хх = хх или εх = хε

Когда строим слова, не обязательно использовать все символы алфавита.

Опр. Множество цепочек алфавита , каждая из которых принадлежит (множество всех слов данного алфавита), называется языком над этим алфавитом.

L(Σ) = {w\ w }

Если L – некоторый язык над каким-то алфавитом Σ, то L язык над , где Σ , т.к. если мы расширяем язык Σ, то слова Σ будут и словами Σ’.

Язык – это какое-то подмножество Σ.

Как задается язык?

1. язык можно задать, перечислив все его слова (если язык небольшой).

2. задать это множество с помощью характеристического свойства (регулярное выражение).

Регулярным называется язык, на котором можно построить автомат, допускающий все его цепочки.

Операции над языками:

1). Объединением языков и называется язык , цепочками которого являются цепочки как языка L, так и языка М.

2). Конкатенация языков – это язык, который обозначается , цепочки которого представляют собой конкатенацию цепочек языка и языка

3). Итерацией языка называется язык L*, цепочки которого можно получить с помощью конкатенации цепочек языка L (можно и повторять).

Пример:

1).

- цепочки, состоящие из нулей и единиц, хаотично.

2).

- цепочки, состоящие из нулей и четного числа единиц