Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмізація та програмування.doc
Скачиваний:
25
Добавлен:
16.11.2019
Размер:
3.81 Mб
Скачать

1.1.3. Характеристики алгоритму

З поняттям алгоритму пов’язані такі поняття, як область його завдання, складність, еквівалентність, алгоритмічна розв’язність та ін.

Область завдання алгоритму — це множина даних, до яких алгоритм застосовний. Якщо алгоритм припиняється без результату або продовжується необмежено довго, то говорять про незастосовність алгоритму до цих вхідних даних.

Складність алгоритму — це величина, яка характеризує довжину опису алгоритму. А для оцінки складності обчислень, що виконуються в даному алгоритмі, використовується так звана сигналізуюча функція.

Під алгоритмічною розв’язністю масової проблеми розуміють можливість побудови алгоритму розв’язку всіх задач даного класу.

Існують класи задач, для розв’язання яких не існує одного універсального способу. Це алгоритмічно нерозв’язувані проблеми. Це не означає, що неможливо розв’язати окремі задачі даного класу. В кожному окремому випадку суттєво використовуються особливості вхідних даних, тобто порушується властивість масовості алгоритму. Для визначення алгоритмічного розв’язку якогось класу задач необхідно або побудувати алгоритм розв’язку, або довести неможливість побудови такого алгоритму, тобто довести, що проблема є алгоритмічно нерозв’язуваною.

Наприклад, алгоритмічно розв’язна проблема — доведення тотожностей в алгебрі (відомі правила перетворення алгебраїчних виразів), у той самий час розв’язання диференційних рівнянь — проблема алгоритмічно нерозв’язна. Є проблеми, про які невідомо, чи є вони алгоритмічно розв’язні чи нерозв’язні. Це свідчить про те, що на даний час вчені не в змозі побудувати алгоритм або довести неможливість його побудови, бо то є задачі одного рівня складності.

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

1.2. Практичне заняття

Засвоєння основних понять теми:

1. Поняття алгоритму.

2. Основні властивості алгоритму.

3. Поняття припустимої операції та як воно пов’язане з типом даних.

4. Еквівалентність алгоритмів.

5. Алгоритмічна розв’язність проблеми.

6. Абстрактні алфавіти.

7. Загальний спосіб представлення інформації.

8. Алфавітний оператор (відображення) як узагальнена операція перетворення інформації.

9. Типи алфавітних операторів.

10. Зв’язок між алфавітним оператором та алгоритмом.

11. Область завдання алгоритму.

12. Які алгоритмічно розв’язні чи нерозв’язні проблеми відомі на даний час?

13. Як розв’язуються алгоритмічно нерозв’язні проблеми?

14. Які існують відображення?

15. Які відображення найбільш використовувані?

16. Поняття спряжених операторів, його використання.

17. Системи кодування, що застосовуються в ЕОМ.

18. Алфавітні проблеми, проблеми кодування та обробки інформації у різних алфавітах.

19. Еквівалентність алфавітних операторів.

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