Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TAML_IND_ZAVD(3_4)_2011.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
638.98 Кб
Скачать

Індивідуальна робота №4 на тему „Теорія алгоритмів”

4-ий семестр,Модуль 2

Приклади розв’язання задач індивідуальної роботи №4

Завдання 1 (3 бали). Вкажіть послідовність дій та проілюструйте основні характерні риси (дискретність, визначеність, масовість, результативність) на прикладі алгоритму: додавання натуральних чисел.

Розв’язання׃

Даний алгоритм передбачає наступну послідовність дій:

  1. Потрібно записати числа одне під одним так, щоб число одиниць було одне під одним, це стосується і десятків, сотень і т. д.

  2. Якщо сума , то число записуємо під одиницями та переходимо до іншого розряду; якщо сума , то цифру одиниць записуємо під одиницями, а цифру десятків додаємо до наступних двох цифр.

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

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

Масовість – алгоритм застосовується не до якоїсь конкретної задачі, а до цілого класу задач. Тобто даний алгоритм застосовується для додавання довільних натуральних чисел, а не тільки для додавання, наприклад, чисел 20 та 543.

Результативність полягає в тому, що алгоритм дає конкретний результат – суму даних натуральних чисел.

Завдання 2 (3 бали). Вказати всі функції, які можна отримати із вказаних функцій в результаті однократного застосування оператора підстановки:

.

Розв’язання׃

Застосуємо оператор підстановки наступним чином:

;

.

Відповідь׃ в результаті однократного застосування оператора підстановки до функцій , та отримали дві функції і .

Завдання 3 (5 балів). Знайти функцію, яка отримується в результаті застосування оператора примітивної рекурсії до двох даних функцій: .

Розв’язання׃

Застосуємо оператор примітивної рекурсії до функцій та :

;

;

;

, якщо так продовжувати далі, то очевидно, що отримаємо:

.

Отже, в результаті застосування оператора примітивної рекурсії до двох даних функцій, отримали функцію .

Відповідь׃ .

Завдання 4 (5 балів). Довести, що дана функція є обчислюваною за Тьюрінгом, та написати програму машини Тьюрінга, яка її обчислює: .

Розв’язання׃

Покажемо, що існує машина Тьюрінга, яка обчислює значення даної функції.

Можна запропонувати наступну програму машини Тьюрінга:

S\Q

q0

q1

1

1Пq0

1Пq1

!

де S – це множина символів з якими працює машина Тьюрінга ( - пробіл, порожній символ, та 1); Q – множина внутрішніх станів, у яких перебуває машина Тьюрінга.

Перевіримо, чи обчислює машина Тьюрінга значення функції . Нехай змінна ( ), тоді початкова стрічка машини Тьюрінга матиме вигляд:

1.

/\ 1

1

q0

Тепер застосуємо програму до даної стрічки. Оскільки покажчик /\ вказує на комірку стрічки, в якій знаходиться символ „1” в стані q0, то згідно програми машини Тьюрінга, потрібно замінити даний символ на „1” та перейти вправо на одну комірку в стан q0, тобто виконати 1Пq0. Маємо:

2.

1

/\ 1

q0

В даному випадку покажчик знову вказує на комірку стрічки, в якій знаходиться символ „1” в стані q0. Тому знову потрібно виконати 1Пq0. Маємо:

3.

1

1

/\

q0

Покажчик вказує на комірку стрічки, в якій знаходиться порожній символ „ ” в стані q0. Отже, потрібно виконати 1Пq1, тобто замінити символ „ ” на „1” та перейти вправо на одну комірку в стан q1. Маємо:

4.

1

1

1

/\

q1

Покажчик вказує на комірку стрічки, в якій знаходиться порожній символ „ ” в стані q1, тобто потрібно виконати „!” – зупинити роботу машини Тьюрінга. Отже, результатом дії машини Тюрінга є значення, що = 3.

Тобто функція є обчислюваною за Тюрінгом. А програма, яка її обчислює, запропонована вище.

Завдання 5 (4 бали). Довести, що дана функція є обчислюваною за Марковим, та написати нормальний алгоритм Маркова, який її обчислює: .

Розв’язання׃

Покажемо, що існує нормальний алгоритм Маркова, який обчислює значення даної функції.

Нехай маємо алфавіт , де - пробіл, порожній символ. Тоді згідно даного алфавіту можна запропонувати наступний алгоритм додавання 1 до значення :

( тобто „+” замінюється на порожній символ).

Перевіримо, чи обчислює даний нормальний алгоритм Маркова значення функції . Нехай змінна приймає значення 4 ( ), тоді дану функцію в алфавіті можна записати у вигляді слова :

.

Знайдемо результат дії алгоритму на слово . Оскільки символ „+”, згідно алгоритму, замінюється на порожній символ, то тоді маємо:

.

Отже, функція є обчислюваною за Марковим. Нормальний алгоритм Маркова, який її обчислює, це .

Варіанти завдань індивідуальної роботи №4

Завдання 1 (3 балів). Вкажіть послідовність дій та проілюструйте основні характерні риси (дискретність, визначеність, масовість, результативність) на прикладі алгоритму:

1. Знаходження суми двох багатоцифрових чисел;

2. Знаходження різниці двох багатоцифрових чисел;

3. Знаходження добутку двох багатоцифрових чисел;

4. Знаходження неповної частки і остачі двох багатоцифрових чисел;

5. Знаходження НСД двох натуральних чисел;

6. Знаходження НСК двох натуральних чисел;

7. Розкладу натурального числа в добуток простих множників;

8. Перевірки, чи є натуральне число простим;

9. Знаходження всіх простих чисел, що не перевищують заданого натурального числа;

10. Знаходження n-го простого числа;

11. Переведення запису натурального числа із десяткової в сімкову систему числення;

12. Переведення запису натурального числа із сімкової в десяткову систему числення;

13. Переведення запису натурального числа із вісімкової у двійкову систему числення;

14. Переведення запису натурального числа із двійкової у вісімкову систему числення;

15. Розв’язування лінійного рівняння з одним невідомим;

16. Розв’язування лінійної нерівності з одним невідомим;

17. Розв’язування квадратного рівняння;

18. Розв’язування квадратної нерівності;

19. Розв’язування системи двох лінійних рівнянь із двома невідомими методом Гаусса;

20. Розв’язування системи двох лінійних рівнянь із двома невідомими методом Крамера;

21. Розв’язування системи двох лінійних рівнянь із двома невідомими матричним методом;

22. Розв’язування системи трьох лінійних рівнянь із трьома невідомими методом Гаусса;

23. Розв’язування системи трьох лінійних рівнянь із трьома невідомими методом Крамера;

24. Розв’язування системи трьох лінійних рівнянь із трьома невідомими матричним методом;

25. Знаходження кута між векторами, якщо відомі їхні координати відносно прямокутної системи координат;

26. З’ясування, чи є три вектори компланарними, якщо відомі їхні координати відносно прямокутної системи координат;

27. З’ясування, чи є вектори лінійно незалежними, якщо відомі їхні координати відносно деякого базису;

28. З’ясування взаємного розміщення двох прямих на площині, якщо відомі їх загальні рівняння;

29. З’ясування взаємного розміщення двох площин у просторі, якщо відомі їх загальні рівняння;

30. Поділу відрізка пополам за допомогою циркуля і лінійки.

Завдання 2 (3 бали). Вказати всі функції, які можна отримати із вказаних функцій в результаті однократного застосування оператора підстановки:

  1. ;

  2. ;

  3. ;

  4. ;

  5. ;

  6. ;

  7. ;

  8. ;

  9. ;

  10. ;

  11. ;

  12. ;

  13. ;

  14. ;

  15. ;

  16. ;

  17. ;

  18. ;

  19. ;

  20. ;

  21. ;

  22. ;

  23. ;

  24. ;

  25. ;

  26. ;

  27. ;

  28. ;

  29. ;

  30. .

Завдання 3 (5 балів). Знайти функцію, яка отримується в результаті застосування оператора примітивної рекурсії до двох даних функцій:

  1. ;

  2. ;

  3. ;

  4. ;

  5. ;

  6. ;

  7. ;

  8. ;

  9. ;

  10. ;

  11. ;

  12. ;

  13. ;

  14. ;

  15. ;

  16. ;

  17. ;

  18. ;

  19. ;

  20. ;

  21. ;

  22. ;

  23. ;

  24. ;

  25. ;

  26. ;

  27. ;

  28. ;

  29. ;

  30. .

Завдання 4 (5 балів). Довести, що дана функція є обчислюваною за Тьюрінгом, та написати програму машини Тьюрінга, яка її обчислює:

  1. ;

  2. ;

  3. ;

  4. ;

  5. ;

  6. ;

  7. ;

  8. ;

  9. ;

  10. ;

  11. ;

  12. ;

  13. ;

  14. ;

  15. ;

  16. ;

  17. ;

  18. ;

  19. ;

  20. ;

  21. ;

  22. ;

  23. ;

  24. ;

  25. ;

  26. ;

  27. ;

  28. ;

  29. ;

  30. ;

Завдання 5 (4 бали). Довести, що дана функція є обчислюваною за Марковим, та написати нормальний алгоритм Маркова, який її обчислює:

  1. ;

  2. ;

  3. ;

  4. ;

  5. ;

  6. ;

  7. ;

  8. ;

  9. ;

  10. ;

  11. ;

  12. ;

  13. ;

  14. ;

  15. ;

  16. ;

  17. ;

  18. ;

  19. ;

  20. ;

  21. ;

  22. ;

  23. ;

  24. ;

  25. ;

  26. ;

  27. ;

  28. ;

  29. ;

  30. ;

0

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