Главная страница

Комбинаторика и теория графов. Решение Введем обозначения для элементарных высказываний Захватить противника врасплох А


Скачать 119.59 Kb.
НазваниеРешение Введем обозначения для элементарных высказываний Захватить противника врасплох А
АнкорКомбинаторика и теория графов
Дата06.12.2021
Размер119.59 Kb.
Формат файлаdocx
Имя файлаVariant_2_11_zadaniy_393835.docx
ТипРешение
#294103
страница3 из 3
1   2   3


«–» – отсутствие символа или символ, не принадлежащий алфавиту {a, b};

a(t) – входной символ;

q(t) – исходное состояние;

q(t + 1) – последующее состояние.
Проверим работу автомата. Пусть задано слово аbb:


Шаг

a(t)

q(t)

q(t + 1)

0

a

q1

q3

1

b

q3

q4

2

b

q4

q5

q5 – заключительное состояние, следовательно, слово распознано.
Задано слово аа-:

Шаг

a(t)

q(t)

q(t + 1)

0

a

q1

q3

1

а

q3

q4

2

-

q4

q2

q2 – не заключительное состояние, перейти из него можно только в q2, поэтому слово не распознано.


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

(а + b + cd*)*
Решение:

Граф конечного (недетерминированного) автомата, распознающего язык, заданный данным регулярным выражением, имеет вид:



Автомат имеет три состояния, из них q0начальное состояние, q2 – заключительное состояние.

1) Из начального состояния при подаче на вход символов а и b автомат переходит в заключительное состояние q2;

2) Из начального состояния при подаче на вход символа c автомат переходит в состояние q1;

3) Из состояния q1 при подаче на вход символа d автомат переходит в состояние q1;

4) Из состояния q1 при подаче на вход символа d автомат переходит в заключительное состояние q2;

5) Из состояния q2 при подаче на вход символов а, b иd автомат переходит в заключительное состояние q2.


9. Построить порождающую грамматику для языка L = {(ac)n (cb)n, n > 0}.

Решение:

Выражения (ac)n и (cb)n означают повторение n раз пар символов ac и cb. Таким образом, язык L состоит из цепочек вида accb, acaccbcb и т.д.

Зададим КС-грамматику для этого языка. Заметим, что из одной цепочки языка можно получить другую, присоединяя к первой слева символы , а справа символы сb. Например, если имеется цепочка acaccbcb, из нее можно получить цепочку асacaccbcbcb.

Это замечание дает правило порождения SaсSсb (т.к. цепочки языка порождаются из начального нетерминала грамматики и, значит, могут быть обозначены этим символом). Есть еще специальный случай цепочки, которая не дробится на более мелкие – это цепочка ассb. Для ее порождения введем правило Saссb.

Итак, грамматика языка имеет правила:

SaсSсb и Saссb.

Зададим порождение цепочки aсaсaссbсbсb: SaсSсbaсaсSсbсbaсaсaссbсbсb.

10. Описать язык, который определяет КС грамматика S::= 0|S0S.

Удовлетворяет ли она условию однозначности ветвления по первому символу.

Решение:

Грамматика языка в форме Бэкуса-Наура:

<буква>::= <цифра>|(<буква><цифра><буква>).

<буква>::= S, <цифра>::= 0.

Грамматика удовлетворяет условию однозначности ветвления по первому символу, так как L(<буква>) ≠ L(<цифра>), то есть L(<буква>) ∩ L(<цифра>) = .

11. Для грамматики, заданной следующими правилами вывода, построить эквивалентный ей конечный автомат:

SbS|aA|a|b, A → aA|bS|a
Решение:

Для грамматики, заданной следующими правилами вывода,

SbS|aA|a|b, A → aA|bS|a

построим эквивалентный ей конечный автомат.

Граф автомата имеет три вершины, две из которых помечены нетерминальными символами S и А, а третья вершина, помеченная символом F (final), – это заключительное состояние.

Начальное состояние – это вершина S, соответствующая аксиоме грамматики S.

Каждому правилу грамматики ставится в соответствие команда конечного автомата:

1) SbS: в начальном состоянии при подаче на вход терминального символа b автомат остается в состоянии S;

2) Sa → A: из начального состояния при подаче на вход терминального символа a автомат переходит в состояние А;

3) SaF: из начального состояния при подаче на вход терминального символа a автомат переходит в заключительное состояние F;

4) SbF: из начального состояния при подаче на вход терминального символа b автомат переходит в заключительное состояние F;

5) Аa →А: из состояния А при подаче на вход терминального символа a автомат остается в состоянии А;

6) АbS: из состояния А при подаче на вход терминального символа b автомат переходит в состояние S;

7) АaF: из состояния А при подаче на вход терминального символа a автомат переходит в заключительное состояние F.


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

12. Дана инфиксная скобочная форма записи арифметического выражения:

(a + b*c)/(def)

Перевести ее в постфиксную форму.
Решение:

Существуют 3 основных формы записи выражений: инфиксная, постфиксная, префиксная. Префиксы «пре-», «пост-» и «ин-» относятся к относительной позиции оператора по отношению к обоим операндам. Следовательно, в постфиксной записи операция следует за обоими операндами. Форму записи алгебраических выражений со знаком операции после операндов называют постфиксной, или обратной польской записью.

Постфиксная форма записи арифметического выражения (a + b*c)/(d – e – f):

(a + b*c)/(def) = abc*+ def – /.

Сначала идет оператор *, относящийся к операндам b и c. Затем идет оператор +, относящийся к операндам a и b*c. После этого осуществляется вычитание операндов d и e и de и f. Последний символ в постфиксе – символ /, задающий деление операнда abc*+ на операнд def –.
1   2   3


написать администратору сайта