Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MAIN

.pdf
Скачиваний:
23
Добавлен:
10.02.2015
Размер:
255.38 Кб
Скачать

S0

0

0

0

0

0

0

: : :

0

0

0

2

0,1

0

1S1

 

0

Se

 

 

1

 

1

1

0

1

 

 

1

1

0

1

 

 

: : :

 

0

 

1

1

0

1

 

0,1

2

 

Число состояний (n + 1) + n = 2n + 1

21

Вопрос 15 Вопрос 15. Бесконечный детерминированный автомат.

Определение. Бесконечный детерминированный автомат - это пят¼рка < X; S; ; s0; F >, где X - конечный алфавит, S - сч¼тное множество состо-

яний, : S X ! S - функция переходов, s0 2 S - начальное состояние, F S - множество конечных состояний.

Теорема1. 8 языка L 9 A =< X; S; ; s0; F > - БДА, распознающий L.

Доказательство. Пусть L - произвольный язык, A = < X; X?; ; s0; F > - БДА, где (w; x) = wx: Состояния соответствуют словам в алфавите. Та-

ким образом, множество состоянию сч¼тно (как было доказанно ранее), а функция перехода задана естественным образом. Начальное состояние есть пустое слово, а множество конечных состояний состоит из слов языка L.

Очевидно, определ¼нный таким образом автомат распозна¼т язык L. Если на вход поступит слово w, автомат перейд¼т в состояние, соответствующее слову w, которое является конечным, если w 2 L, или является

отвергающим в противном случае.

22

Вопрос 16

Отношение L-эквивалентности для языка L. Два эквивалентных определения.

Определение. Два слова u; v 2 X находятся в отношении L-эквивалентности (u L v) тогда и только тогда, когда 8r 2 X ur 2 L и vr 2 L.

Свойства.

1.Симметрия. Если u L v, òî v L u.

2.Рефлексия. u L u.

3.Транзитивность. Если u L v è v L w, òî u L w.

Теорема (Определение 2). Пусть u; v 2 X ; L X - язык. Тогда u L v тогда и только тогда, когда L(u) = L(v).

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

1.Пусть u L v . Тогда L(u) = L(v).

От противного: допустим, что u L v , но L(u) , L(v). Тогда возможен один из трех вариантов:

L(u) и L(v) не пересекаются.

Значит, для любого r 2 L(u) получаем, что ur 2 L, но vr < L. Следовательно, u .L v - противоречие.

L(u) и L(v) пересекаются.

Значит существует r 2 L(u), но r < L(u) \L(v) такое, что ur 2 L, но vr < L. Следовательно, u .L v - противоречие.

L(v) лежит внутри L(u) (или наоборот).

Значит существует r 2 L(u), но r < L(v) такое, что ur 2 L, но vr < L. Следовательно, u .L v - противоречие.

2.Пусть L(u) = L(v). Тогда u L v.

От противного: допустим, что L(u) = L(v), но u .L v. То есть 9r 2 X такое, что ur 2 L, но vr < L. Следовательно, L(u) , L(v) - противоречие.

23

Вопрос 17

Вопрос 17. Rang(L). Теорема о ранге произвольного языка.

Определение 1. Rang(L) - число классов L.

Теорема. Для любого языка Rang(L) не более, чем счетен. Доказательство. В худшем случае все слова попарно .L. (Rang(L) = X )

24

Вопрос 18, 19

Критерий регулярности Майхилла-Нероуда

Введ¼м отношения эквиволентности Майхилла-Нероуда для слов относительно языка L X :

u L v , 8r 2 X (ur 2 L , vr 2 L):

Два слова u и v эквивалентны относительно L, если при приписывании

любых окончаний полученные слова одновременно принадлежат либо не принадлежат L.

Иначе это же отношение можно ввести следующим образом. Обоэначим через L(u) множество всех слов, результат приписывания кото-

рых к u лежит в L : L(u) = fr : ur 2 Lg: Тогда два слова u и v эквиволентны, если равны L(u) = L(v):

Легко видеть, что введеное отношение действительно является отношением эквиволентности.

Назов¼м рангом Rang(L) языка L число классов эквиволентности относително L :

Rang(L) =j X = Lj :

Условимся обозначать K(L) =j X = Lj мнжество классов эквиволентности.

Теорема (Майхилл, Нероуд). Язык является регулярным тогда и только тогда, когда его ранг конечен

L 2 Reg , Rang(L) 2 N

Доказательство: Докажем вначале, что из конечного ранга следует следует регулярность языка.

Пусть Rang(L) = d: Построим автомат, распознающий L: В качестве

состояний автомата будем использовать классы эквивалентности. Докажем две леммы.

Лемма 1. Любой класс эквивалентности после приписывания какоголибо символа переходит снова в класс эквиволентности.

25

8K 2 K(L)8x 2 X9K0 2 K(L)(Kx K0)

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

По определению, для всех u 2 K множества L(u) совпадают. Следовательно, будут совпадать и множества L0(x; u) = fr 2 L(u) : r = xr0g; Но это оэначает, что все слова Kx эквиволентны, потому что для них совпадают множества L(ux) = fr0 : xr0 2 L0(x; u)g и для некоторого K0 2 K(L) выполняется Kx K0:

Таким образом, мы можем ввести функцию перехода класса эквивалентности: : K(L) X ! K(L) :

: Kx ! K0:

26

Вопрос 23

Оценки для класса конечных языков EQ, отрицаниеEQn; O

Как видно из 6.1, вероятностные автоматы могут иметь экспоненциально меньшее число состояний по сравнению с детерминированными. Предъявим язык, для которого это экспоненциальное улучшение достигается.

Определение 1. Рассмотрим язык EQn = u = v2v : jvj = n, называемый языком равенства.

Свойство 1. Покажем, что dim(EQn) 2n.

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

Различные слова длины n принадлежат различным классам эквивалентности.

В самом деле, пусть словаuи v, u , v,juj = jvj = n, принадлежали бы одному классу эквивалентности. Тогда языку EQn принадлежали бы слова u2u и u2v, что, однако, противоречит определению.

Но слов длины n существует ровно 2n. Таким образом, свойство до-

казано. Q.E.D.

Построим теперь вероятностный автомат, который будет распознавать язык равенства намного быстрее, чем детерминированный.

Опишем его неформально. Вначале равновероятностно выбираем одно из простых чисел pi, ãäå i d.

Далее, запускаем автомат Ai, который на слове u2u0 работает следу- ющим образом:

до тех пор, пока ему не попадется символ 2 вычисляет число, записью которого является слово u по модулю pi:

s = Xxi2u

2xi mod (p + 1)

,

 

27

0@

 

1

 

...

a

 

...

p

@

 

~

 

~

~

 

~

~

@

 

@

 

 

 

 

 

@

@

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~PPP

~

~

~ ~

 

~HH

 

@

 

?

@

 

 

 

 

 

?

 

 

0 H

R@1P

 

...

a

R@ b

p

 

PPP

 

 

 

 

 

0~

 

HH

Hj

3~

 

...~

p~

 

1~

2~

 

?

 

 

?HH

 

PqP

 

 

 

Рис. 6.2: Верхняя часть автомата Ai для распознавания EQn

считывает символ 2,

отнимает от s число, записью которого является u0:

s0 = xXi2u0

2xi mod pi

.

 

Автомат примет слово u2u0, если окажется, что N(u) N(u0)( mod pi). Выберем параметр d так, чтобы автомат распознавал язык EQn ñ

ошибкой .

Если слово принадлежит языку EQn, то автомат примет это слово.

Рассмотрим случай, когда слово не принадлежит EQn. Автомат мо- жет ¾ошибиться¿, только если N(u) N(u0) делится на pi. Но число таких

простых чисел pi не превосходит n. Таким образом, выбрав d = 3n, мы

получим, что автомат распознает язык с изолированной точкой сечения

1

6 .

Оценим сложность построенного автомата. Каждый автомат Ai èìå- ет сложность 2pin + 1. Разумеется, самым сложным из них будет тот, который соответствует наибольшему i: dim(Ai) 2p3nn + 1.

Согласно известной теореме Чебышева любое простое число удовлетворяет условию

9C1; C2 : C1k log k pk C2k log k

28

.

Таким образом, dim(Ai) C( )n2 log n и окончательно получаем, что

dim(EQn) C( )n3 log n

.

29

Вопрос 24

Пусть дан автомат A = hX; S; ; s0; Fi; jSj = d:

Введем линейное пространство Ed. Обозначим как Q подмножество базовых векторов f(1; 0; 0; :::; 0; 0); (0; 1; 0; :::; 0; 0); :::; (0; 0; 0; :::; 0; 1)g и поста-

вим в соответствие каждому состоянию s 2 S базовый вектор из Q. Легко видеть, что тогда функцию переходов (s; x) можно задать при

помощи набора булевых матриц fM(x) : x 2 Xg размера d d. В i й

строке и j м столбце матрицы M(x) находится единица Mij(x) = 1, åñëè si переходит по символу x в состояние sj . Тогда, если s0 = (s; x), òî q0 = M(x)q.

Множество финальных состояний можно будет задать двоичным вектором vF тех состояний, которые принадлежат F : vFi = 1, åñëè si - ôè- нальное состояние.

Обозначив

d

 

hxjyi =

Xi

xi yi

 

=1

записываем это так:

s 2 F $ hsjvFi = 1:

Определение 3.7 1. Для автомата A = hX; S; ; s0; Fi линейным представлением LA называется пятерка LA = hX; Q Ed; fM(x) : x 2 Xg; q0 2 Q; vFi, заданная так, как описано выше.

Автоматы для распознавания объединения и пересечения языков проще записать с использованием линейного представления КДА. Кроме того, линейное представление позволяет увидеть сходство между детерминированными, недетерминированными, вероятностными и даже квантовыми автоматами.

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]