Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
as.doc
Скачиваний:
37
Добавлен:
24.04.2019
Размер:
2.25 Mб
Скачать

1.7.5. Теза Чорча. Алгоритмічно нерозв’язні проблеми

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

Довести тезу Чорча неможливо. Її можна було б спростувати, якби були запропоновані формалізації поняття алгоритму, здатні обчислювати нерекурсивні функції. Але таких формалізмів досі запропоновано не було.

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

Тепер ми можемо дати більш чітке визначення універсального комп’ютера: універсальним називається комп’ютер, за допомогою якого можна промоделювати роботу машини Тьюринґа.

Якщо теза Чорча є справедливою, ми маємо визнати наступне. Якщо вдається довести, що не існує машини Тьюринґа, яка могла б вирішити певну проблему, то ця проблема є алгоритмічно нерозв’язною, тобто для неї не існує загального алгоритму розв’язування. Такі проблеми насправді існують.

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

Але можна навести формалізми, які полегшують програмування і дозволяють здійснювати обчислення швидше, ніж машини Тьюринґа.

Резюме

1. Інформація – це відомості, пояснення, знання про всілякі об’єкти, явища, процеси реального світу

2. Інформатика – це наука про методи подання, накопичення, передавання та опрацювання інформації за допомогою комп’ютера.

3. Алгоритмце скінченна послідовність команд, які треба виконати над вхідними даними для отримання результату.

4. Виконавцем називають пристрій, здатний виконувати дії із заданого набору дій. Він складається з пристрою керування і «робочого інструмента».

5. Є такі способи описуваннявання алгоритмів: словесний, формульний, графічний, алгоритмічною мовою.

6. Алгоритм має такі властивості: визначеність, скінченність, результативність, правильність, формальність, масовість.

7. Основними мірами обчислювальної складності є часова складність та ємнісна складність.

8. Є такі класи алгоритмів: логарифмічні, лінійні, поліміальні, експоненційні. Експоненційні алгоритми часто пов’язані з перебором різних варіантів розв’язування.

9. Клас P складається із задач, для яких існують поліноміальні алгоритми рішення. Клас NP складають задачі, для яких існують поліноміальні алгоритми перевірки правильності рішення (точніше, якщо є розв’язок задачі, то існує деяка підказка, яка дозволяє за поліноміальний час отримати цю відповідь).

10. Машина Тьюринґа є однією з можливих формалізацій поняття алгоритму.

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

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

13. Глибина рекурсії – кількість викликів підпрограми, що реалізують рекурсію.

14. Теза Чорча: будь-який алгоритм в інтуїтивному розумінні цього слова може бути реалізований за допомогою деякої машини Тьюринґа. Іншими словами, за допомогою машини Тьюринґа можна вирішити будь-яку задачу, для якої існує алгоритм розв’язування в інтуїтивному розумінні.

Контрольні запитання

1. Яке походження терміну «алгоритм»?

2. Що ми розуміємо під поняттям «алгоритм»?

3. Що таке допустимі команди виконавця?

4. Які є способи описуваннявання алгоритмів?

5. Які властивості повинен мати алгоритм?

6. Що означає скінченність (дискретність) алгоритму?

7. Що таке формальність алгоритму?

8. Що означає масовість алгоритму?

9. Яка різниця між поліноміальними та експоненційними класами алгоритмів?

10. Дайте визначення часової складності.

11. Дайте визначення класу задач P та NP.

12. Поясніть принцип роботи машини Тьюринґа.

13. Дайте визначення рекурсивної функції.

14. Наведіть приклади частково рекурсивної функції.

15. Наведіть приклад примітивної рекурсії.

16. Дайте визначення терміну «глибина рекурсії».

17. Наведіть приклади рекурсивних функцій.

18. Сформулюйте тезу Чорча.

19. Вкажіть відмінність між інформацією та даними.

Розділ 2.

Поняття структури даних. Рівні подання структур даних

  • Поняття структури даних.

  • Рівні описуваннявання даних.

  • Класифікація СД у програмах користувача й у пам’яті комп’ютера.

  • Основні види складених типів даних.

  • Структури даних у пам’яті комп’ютера.

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

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