
себе
і в s2
у
недетермінованому автоматі. Аналогічно,
у разі входу 1
множина
{s0,
s2}
переходить у s4},
оскільки s0
переходить
в s1,
а s2
- в
s4
у
недетермінованому автоматі у разі
входу 1.
Нарешті, вхід 0
переводить
множину s4}
у множину {s3},
оскільки в недетермінованому автоматі
вхід 0
переводить
обидва стани s1
та s4
у стан
s3.
Усі
підмножини, які отримують таким способом,
є станами детермінованого скінченного
автомата з рис. 14.
Наголосимо,
що одним із станів цього автомата є
порожня множина: вона містить усі стани,
в які вхід 1
переводить
{s3}.
Початковий стан - {s0},
а заключними є всі ті стани, які містять
s0
або s4.
Нікольський
Ю.В., Пасічник В.В., Щербина Ю.М. Дискретна
математика: Підручник. - Львів: "Магнолія
Плюс”, 2005.
- 608с.
Розв’язати
завдання відповідно до свого порядкового
номеру у списку групи. Завдання отримати
у викладача. При оформленні лабораторної
роботи дотримуватись вимог, які наведені
в методичних вказівках. Оцінювання
виконаної лабораторної роботи проводиться
згідно кількості правильно розв’язаних
завдань з відповідного варіанту.
Завдання лабораторної роботи мають
три рівня складності. Оцінювання
виконання завдань першого рівня в п’
ятибальній системі відповідає оцінці
“задовільно”, другий рівень - “добре”,
третій - “відмінно”.
Перший
рівень
Визначити,
який з бітових рядків a)
- d)
розпізнається
скінченним
автоматом без виходу:
13
Література
Завдання
Побудувати
детермінований скінченний автомат.
Задати його діаграмою станів та
таблицею.
Побудувати
скінченний автомат з виходом, у якого
вхідний алфавіт {0,
1, Q} і
вихідний {0,
1, P, N}. Вихідна
послідовність з 0
та 1
збігається
з вхідною, а на кожний символ запиту Q
друкується
P -
якщо кількість 1
від
початку роботи парна, і N
- якщо
непарна.
Побудувати скінченний
автомат для реалізації процедури
входу
в систему. Користувач вводить
ідентифікаційний номер, а потім - на
відповідний запит - пароль. Якщо
ідентифікаційний номер або пароль
некоректні, то видається запит
ідентифікаційного номера користувача.
Ідентифікаційний номер і пароль вважати
одиночними символами.
Побудувати скінченний
автомат з вхідним і вихідним
алфавітами
{0, 1}.
Автомат
видає на виході 1,
якщо на
вхід подано підряд 5
або більше
одиниць і видає 0
у протилежному випадку.
Побудувати скінченний
автомат для додавання двох цілих
додатних
чисел у трійковій системі. Продемонструвати
роботу кількома прикладами.
Побудувати скінчений
детермінований автомат, який подає на
виході
одиницю
тоді, коли першим
на вхід було подано рядок 101011;
двійку,
якщо першим
на вхід було подано рядок 0010;
нуль - у
протилежному випадку.
Побудувати скінчений
детермінований автомат, який подає на
виході
двійку тоді, коли першим
на вхід було подано рядок 22011;
двійку,
якщо
першим
на вхід було подано рядок 22010;
нуль - у
протилежному випадку.
Побудувати скінчений
детермінований автомат, який подає на
виході
одиницю
тоді, коли першим
на вхід було подано рядок 02121;
14
двійку
- якщо
вхідна послідовність починається з
трьох одиниць підряд і нуль в протилежному
випадку.
Побудувати
скінчений детермінований автомат,
який подає на виході одиницю
тоді, коли першим
на вхід було подано рядок 02121;
двійку
- якщо вхідна послідовність починається
з рядка 02221;
нуль,
якщо першими на вхід подано два нулі
поспіль.
Побудувати
скінчений детермінований автомат, що
реалізує перетин кордону, коли наявність
візи перевіряють на виїзді з країні-
відправника і на в’їзді в іншу країну.
Врахувати, що повернення в країну-
відправник відбувається при порушеннях,
виявлених у будь-який момент перевірки.
Побудувати
скінчений детермінований автомат, що
реалізує принципи спортивного
орієнтування: гравець робить позначки
на чотирьох КПП, причому відмітка не
ставиться, якщо гравець не має відмітки
з попереднього пункту.
Побудувати
скінчений детермінований автомат, що
реалізує принципи переведення з курсу
на курс в університеті. якщо студент
успішно склав іспити за попередній
рік, його переводять на наступний курс.
Якщо іспити не складено, студента
залишають на другий рік. Після успішного
завершення останнього курсу студент
отримує диплом.
Побудувати
скінчений детермінований автомат, що
реалізує процес здачі лабораторної
роботи: для того щоб отримати максимальний
бал за роботу, необхідно врахувати
наявність усіх завдань, правильність
виконання, акуратність реалізації та
підготовку студента. Якщо один з
аспектів не виконується, здача роботи
призупиняється до його виконання.
Побудувати
скінчений детермінований автомат, що
реалізує
процес
виробництва дверей: при відсутності
необхідних деталей
виробництво
призупиняється до поступлення сировини.
Побудувати
скінчений детермінований автомат, що
реалізує
процес
приготування довільної страви: якщо
немає відповідного
інгредієнта,
страва псується.
Побудувати
скінчений детермінований автомат, що
реалізує алгоритм підготовки до
весілля: необхідно визначити щонайменше
три аспекти, наявність яких впливає
на процес підготовки.
Побудувати
скінчений детермінований автомат, що
реалізує перевірку документів для
закордонної поїздки по обміну студентами:
якщо наявні український та закордонний
паспорти, є віза, дозвіл ВУЗу та згода
ВУЗу-отримувача - поїздка відбудеться.
Відсутність хоча б одного з документів
відміняє подорож.
15
Побудувати
скінчений детермінований автомат, що
реалізує набирання телефонного номеру.
Побудувати
скінчений детермінований автомат,
вхідна послідовність якого співпадає
з вихідною, а кожну третю одиницю
замінює на 3.
5.3
Дано
граматику G=(V,
T, S, P), де
V={0,
1, S, A, B}, T={0,1}, S - початковий
символ. Виконати наступні завдання:
Побудувати
мову, породжену такою граматикою.
Побудувати
недетермінований скінчений автомат,
що допускає мову, породжену даною
граматикою; задати автомат діаграмою
та таблицею.
P
=
{S ^
0A,
S
^А,
S
^
0,
A
^
1};
P
=
{S ^
101A,
A
^
1A,
A
^
0};
P
=
{S ^
0A,
S
^
1B,
A
^
0,
B
^
0}
P
=
{S ^
0A,
A
^
01,
S
^
0B,
B
^
10};
P
=
{S ^
1S,
S
^
0,
S
^B,
B
^
01};
P
=
{S ^B01,
B
^
1B,
B
^
0};
P
=
{S ^
1A,
A
^
1,
A
^
0,
S
^
0};
P
=
{S ^
111S,
S
^А};
P
=
{S ^
0A,
A
^
01B,
S
^
0B,
B
^
10};
P
=
{S ^
0S,
A
^
A1,
S
^
A,
A
^А};
P
=
{S ^
S1,
S
^
A,
S
^
1,
S
^А,
A
^
0};
P
=
{S ^
1A,
A
^
101,
S
^
0B,
B
^
010};
P
=
{S ^
01
A, A
^
00,
S
^
0B,
B
^
110};
P
=
{S ^
1A,
S
^
0,
S
^A,
B
^
1,
A
^
0B};
P
=
{S ^
0S,
S
^A,
S
^
1};
P
=
{S ^
1B,
S
^
0,
A
^
1A,
A
^
0B,
A
^
1,
A
^
0,
B
^
1
};
P
=
{S ^
AB,
A
^
1,
S
^
1A,
B
^
01};
P
=
{S ^
S11,
S
^
0};
P
=
{S ^
10S1,
S
^А};
P
=
{S ^
1B0,
B
^
1B,
B
^
0}.
5.4 Побудувати
граматику, яка породжує мову, що її
допускає
наступний
автомат
16
17