Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3. Графи, алгоритми. ЗФН.doc
Скачиваний:
58
Добавлен:
02.11.2018
Размер:
1.2 Mб
Скачать

3. Функції, обчислюванні за Тьюрінгом. Теза Тьюрінга.

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

Область визначення часткової числової функції

;

множина значень

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

За точним означення алгоритму, алгоритм – це машина Тьюрінга, алгоритмічний процес – це процес роботи машини Тьюрінга. Побудуємо машину Тьюрінга, яка обчислює функцію .

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

Зобразимо натуральні числа в алфавіті (в одиничному коді) у такий спосіб: будь-яке число зображається словом , набір зображається словом

(1)

Машина починає переробку (даного) слова (1) зі стандартного початкового стану. Якщо функція визначена при даному наборі аргументів , то машина переробить (дане) слово (1) у слово ; якщо функція не визначена, то машина буде працювати нескінченно.

Означення. Часткова числова функція називається обчислюванною за Тьюрінгом, якщо існує машина Тьюрінга така, що

1)

  1. для будь-якого набору такого, що

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

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

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

Приклад. Для будь-якої машини Тьюрінга існує еквівалентна їй машина, що не містить у командах символ .

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

4. Універсальна машина Тьюрінга.

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

„Для поточної конфігурації знайти в програмі команду з лівою частиною . Якщо права частина цієї команди має вигляд , то замінити в поточній конфігурації ; на ; якщо ж права частина має вигляд , то замінити на . (Як було показано в питанні 1, випадок можна не розглядати).”

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

Як зовнішній алфавіт машини Тьюрінга візьмемо алфавіт

.

Нехай – довільна машина Тьюрінга із зовнішнім алфавітом і алфавітом внутрішніх станів . Символи з алфавітів і закодуємо словами в алфавіті в такий спосіб:

Зауважимо, що код символу має довжину (формат) , а код символу - формат .

Програму машини Тьюрінга в алфавіті можна записати одним словом. Для цього всі команди програми кодуються в алфавіті , а потім всі отримані слова записуються підряд на стрічку машини . Точно так само кодуються вихідні дані машини Тьюрінга .

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

Z- границя між програмою і поточною конфігурацією машини .

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

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

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