Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
G_B_KR2.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
323.09 Кб
Скачать

Тема 3.3

Вправа 3. Намалювати 2-3 дерево, отримане в результаті вставки в пусту множину (представлену як 2-3 дерево) елементів 5, 2, 7, 0, 3, 4, 6, 1, 8, 9.

Розвязання:

Вправа 6. Показати, що алгоритм Дейкстри працює неправильно, якщо ваги дуг можуть бути від’ємними.

Розвязання:

За алгоритмом Дейкстри шлях повинен додаватись, щоб отримати дійсну відстань між двома вершинами на графі, але при наявності дуг відємної довжини потрібно не додавати, а віднімати , саме тоді алгоритм працює неправильно.

Вправа 9. Побудувати алгоритм зчитування арифметичних виразів, які представлені у вигляді ациклічного графу.

Розвязання:

Оскільки арифметичні вирази представлені у вигляді ациклічного графу, отже алгоритм буде у вигляді бінарного дерева.Тоді алгоритм зчитування буде мати розгалуження, де основні команди будуть листками дерева.Тобто спочатку ми йдемо по дереві і перевіряємо чи задовольняються умови лівої ланки, якщо ні-то переходимо на праву, аналогічно з правою, тоді пройшовши далі вглиб дерева, знову на розгалуженні повторюємо заданий алгоритм, який згодом припиниться на тому, що вже із зчитування арифметичних виразів ми перейдемо до виконання інструкцій. Таким чином після виконання інструкцій обробка завершиться, і ми повернемось на початок графу для отримання нового виразу.

Вправа 12. Розглянемо дерево гри, в якому використовуються 6 кульок та гравці 1 і 2 вибирають по черзі від одної до трьох кульок. Гравець, який взяв останню кульку вважається переможцем.

а) скласти повне дерево цієї гри;

б) якщо це дерево переглядати за допомогою методу альфа-бета відсіків, а вузли, які є конфігураціями з найменшою кількістю кульок, переглядати в першу чергу, то які вузли будуть відсічені?

в) хто виграє, якщо обидва гравці будуть діяти оптимальним шляхом?

Розвязання:

Я кщо це дерево переглядати за допомогою методу альфа-бета відсіків, а вузли, які є конфігураціями з найменшою кількістю кульок, переглядати в першу чергу, то відсіченими будуть всі інші вузли. На питання «хто виграє, якщо обидва гравці будуть діяти оптимальним шляхом?» можна дати відповідь, пройшовшись по дереві гри по вибору одиничок, і тоді вийде, що виграє перший гравець

Тема 4.1

Вправа 3. Які з граматик, наведених у вправі 1, породжують регулярну мову.

Розвязання:

Автоматні граматики. Правила виведення мають вигляд:

di  dj або di  , де di, dj  D,  - слово в алфавіті Е.

Отже,граматики 1) та 2) – породжують регулярну мову.

Вправа 6. Навести приклади ланцюжків, які породжуються граматиками вправи 1.

Розвязання:

Отже, візьмемо для прикладу такі 3 граматики із вправи 1:

1) d0 010 d1, 2) d0 010 d0,

d1 0 d1, d0 Є,

d1 Є,

6)d0 1 d1 1,

d1 1 d1 1,

1 d1 1 1 0 1.

Побудуємо до них ланцюжки:

1){010001,01000011,0100000111…};

2){01001,0100011,010000111,…};

3){11011,11100111,11110001111};

Вправа 9. Задати граматику G, що породжує мову

L(G) = {A, AAБ, AAAББ,...}.

Розвязання:

G= <{d0 , d1}, {A, Б}, P, d0 > дe множина Р містить правила

d0 Ad1 , d1 AБ;

Вправа 12. Які з граматик, наведених у вправі 6 теми 1.2, породжують контекстно-вільну мову?

Розвязання:

Правила виведення мають вигляд:

di , де di  D,  - слово в алфавіті DE.

Контекстно-вільна граматика це четвірка із множини нетермінальних символів, множини термінальних символів та множини правил та початкового символу. Тобто будемо обирати такі, які будуть задавольняти наші умови, до них належать всі із цієї вправи.

Вправа 15. Задати граматику, що породжує такі мови:

  1. L = {010, 00100, 0001000,…}

G= <{d0 , d1}, {1, 0}, P, d0 >

d1d01d0

d00;

  1. L = {1001, 110011, 11100111, …}

G= <{d0 , d1}, {1, 0}, P, d0 >

d1d000d0

d01;

  1. L = {01010, 0110110, 011101110,…}

G= <{d0 , d1}, {1, 0}, P, d1 >

d10d00d00

d01;

  1. L = {АБВ, ААБВВ, АААБВВВ, …}

G= <{d0 , d1,d2}, {A, Б}, P, d0 >

d0 d1Бd2, d1 A; d2 В;

  1. L = {АБВ, АББВВ, АБББВВВ, ...}

G= <{d0 , d1,d2}, {A, Б}, P, d0 >

d0 A d1d2, d1 Б; d2 В;

  1. L = {АБВ, ААББВ, АААБББВ, ...}

G= <{d0 , d1,d2}, {A, Б}, P, d0 >

d0 d1d2В, d1 А; d2 Б;

Вправа 18. Установити порожнечу або непорожнечу мов, що породжуються такими граматиками:

І) G1 = <{d0 , d1, d2, d3 , d4, d5}, {0, 1, 2, 3}, P, d0 > ,

де Р містить правила

d0 d1d2 , d2 1d0 , d4 2d5 2,

d1 0d1 , d3 2d3 d4 , d5 3d3 3,

d1 1, d3 2d5 , d5 2;

2) G2 = <{d0 , d1, d2}, {0, 1, 2, 3}, P, d0 > ,

де P містить правила

d0 0d1d2 , d2 2d22 ,

d1 1d0 , d2 Є ;

3) G3 = <{d0 , d1, d2}, {0, 1, 2, 3}, P, d0 > ,

де P містить правила

d0 0d10 , d1 3 ,

d1 1d12 , d2 Є ;

4) G4 = <{d0 , d1, d2, d3}, {0, 1, 2, 3}, P, d0 > ,

де P містить правила

d0 1 , d1 0d12 , d3 1 d3,

d0 0d12 , d 1 1 , d3 Є ;

d2 3d3 ,

5) G5 = <{d0 , d1, d2}, {0, 1, 2, 3}, P, d0 > ,

де P містить правила

d0 0 d0 1 d1, d1 2 ,

d0 Є , d2 3 .

Розвязання:

1)некорисні символи d2таd4;

2) d1;

3) d2 кінець слова неможливо досягнути;

4) (d2 та d3), кінець слова не можна досягнути;

5) некорисні символи d1таd2.

Вправа 21. Перетворити граматики вправи 18 до вигляду, вільного від некорисних та недосяжних символів.

Розвязання:

І) G1= <{d0 , d1, d3 , d4,d5}, {0, 1, 2, 3}, P, d0 > ,

де Р містить правила

d0 d1d2 , d2 1d0 , d4 2d5 2,

d1 0d1 , d3 2d3 d4 , d5 3d3 3,

d1 1, d3 2d5 , d5 2;

2) G2= <{d0 , d1}, {0, 1, 2, 3}, P, d0 > ,

де P містить правила

d0 0d1d2 ,

d1 1d0 ,

3) G3= <{d0 , d1}, {0, 1, 2, 3}, P, d0 > ,

де P містить правила

d0 0d10,

d1 3,

d1 1d12

4) G4= <{d0 , d1, d3}, {0, 1, 2, 3}, P, d0 > ,

де P містить правила

d0 1, d1 0d12, d3 1d3,

d0 0d12, d 1 1, d3 Є;

d2 3d3 ,

5) G5= <{d0 , d1, d2}, {0, 1, 2, 3}, P, d0 > ,

де P містить правила

d0 0 d0 1d1,

d1 2,

d0 Є,

Вправа 24. Чи можуть бути у граматиці побудовані різні дерева виводу для якого-небудь ланцюжка? Якщо відповідь позитивна, тоді навести приклад такої граматики і не менш ніж двох різних дерев виводу для цього ланцюжка.

Розвязання:

Так можуть.

Наприклад ланцюжок {0, 001, 00011,0000111...}можна описати граматикою

G = (D,E, {g},P,d0) з правилами Р:

d0 d10d2,

d1g 0d1,

d2g d2 1

d1εd2ε

Або G = <{d0,d1}, {0,1}, P, d0 > з правилами Р:

d0 0 d1, d1 0 d11, d1ε

Вправа 27. Задати граматики, що породжують такi мови:

І/ L(G) = {АБВВ, ААББВВВ, АААБББВВВВ,... }

2/ L(G) = {ААБВ, АААББВВ, AAAAБББВВВ, ...}

З/ L(G) = {АББВ, ААБББВВ, АААББББВВВ....}

4/ L(G) = {А, ААБ, АААББВ, ААААБББВВ,...}

5/ L(G) = {В, БВВ, АББВВВ, ААБББВВВВ,...}

6/ L(G) = {Б, АББ, ААБББВ, АААББББВВ,... }

Розвязання:

1) G= <{d0 , d1}, {A, Б}, P, d0 >

d0 d1В, d1 A,Б,В;

2) G= <{d0 , d1}, {A, Б}, P, d0 >

d0 Аd1, d1 A,Б,В;

3) G= <{d0 , d1,d2}, {A, Б,В}, P, d0 >

d0 d1Бd2, d1 A; d2В;

5) L(G) = {В, БВВ, АББВВВ, ААБББВВВВ,...}

G = <{d0 , d1, d2, d3 }, {А, Б, В}, P, d0 > ,

d0 d1 В

d1 d2 Б d1 В

d2 А d2

d1 ε,

6) L(G) = {Б, АББ, ААБББВ, АААББББВВ,... }

G = <{d0 , d1, d2, d3 }, {А, Б, В}, P, d0 > ,

d0 d1 Б d2

d1 А d1

d2 Б d2 В

d2 Б d2

d1 ε,

d2ε

Вправа 30. Задати індексну граматику, що породжує мову з вправи 27.

Розвязання:

Індексна граматика має вигляд G = ({d0,d1,d2,d3,d4}, {0,1}, {f, g},P,d0), де множина Р містить такі правила, тоді запишемо одну із них таким способом:

G = ({d0,d1,d2,d3 }, {А,Б,В}, { },P,d0), де множина Р містить такі правила:

d0→d1А

d1→d2d3

d2→

Вправа 33. Навести приклади слів, що породжуються програмною граматикою:

G = <{d0 , d1 , d2 , d3 }, {А, Б, В, Г}, {1, 2, 3,…,8}, P, d0 >,

де Р містить такі правила виводу:

І/ d0 d1 d2 d3 {2, 5 } 

2/ d1 A d1 {3 } 

3/ d2 Б Б d2 {4 } 

4/ d3 В В В d3 {2, 5 } 

5/ d1 Г {6 } 

6/ d2 Г {7 } 

7/ d3 Г {8 } 

8/ d0 d0

Розвязання:

АББВВВ;

АГББГВВВВВВГ;

АББВВВГВВВ.

Вправа 36. Навести граматику, що породжує мову L = {0, 00, 000,…}, перше слово якої містить символ 0, а всі наступні отримуються з попереднього приєднанням до нього чергового натурального числа символів 0.

Розвязання:

G<{S},{0},{S0,S0 S },S>.

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