Обчислювальні за Т’юрингом функції.

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

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

2. Значення аргументів функції будемо розміщувати на стрічці у вигляді наступного слова:

Введемо позначення

- пусте слово.

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

В іншому випадку машина Т’юринга повинна працювати нескінченно довго. При виконанні всіх перерахованих вище умов будемо говорити, що машина Т’юринга обчислює дану функцію. Побудова машини Т’юринга відбувається в 2 етапи:

1) Створюється алгоритм обчислення функції.

2) Алгоритм записується на мові машини Т’юринга.

 

Приклад 5.

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

А) Розробимо комплекс команд, які забезпечують рух каретки машини Т’юринга ліворуч, при цьому кожну другу одиницю замінюємо на 0. Вищезазначену процедуру забезпечують наступні команди:

(1)

(2)

(3)

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

Б) Далі необхідно перемістити одиниці так, щоб між ними не стояли нулі.

Перемістимо каретку за першу одиницю, не змінюючи інформацію на стрічці.

(4)

(5)

(6)

В результаті виконання команд (4)-(6) отримаємо конфігурацію: (*).

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

(7)

(8)

Отримаємо конфігурацію: , в якій праворуч від комірки, яка переглядається записані пари 01,01,…,01. Крім того, на стрічці одна 1 записана зайва. Перемістимося по стрічці праворуч до останньої пари 01.

(9)

(10)

Отримаємо конфігурацію:

Повернемося на дві комірки назад і замінимо одиницю з останньої пари 01 на 0.

(11)

(12)

(13)

Отримаємо конфігурацію: . Число одиниць на стрічці дорівнює . Перемістимося ліворуч на одну комірку.

(14)

В результаті отримаємо конфігурацію: . Тепер замінимо праву одиницю на 0 і перемістимося по стрічці до наступної одиниці.

(15)

(16)

Тепер на стрічці не вистачає однієї одиниці (число одиниць дорівнює ).

Перемістимося по стрічці ліворуч до останньої пари 10.

(17)

(18) .

Послідовне виконання команд (17), (18) приведе до наступної конфігурації: . Вернемося праворуч до найближчого нуля і замінимо його на 1.

(19)

(20)

(21) .

Отримаємо конфігурацію: . В якій число одиниць знову дорівнює .

Якщо тепер перемістити каретку праворуч і перевести машину в стан за допомогою команди , то отримаємо конфігурацію: , яка аналогічна конфігурації (*).

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

В деякий момент роботи програми конфігурація буде мати вигляд: . Виконавши команди (17) і (18), отримаємо конфігурацію: . В подальшому виконуються команди (19),(20),(21), що приводять до конфігурації . Зупинимо машину за допомогою команди . Заключна конфігурація має вигляд: .

Таблична форма програми машини Т’юринга має вигляд:

 

 
     
 
 
 
   
 
 
 
 
   
 
 
 
 

 








Дата добавления: 2015-10-13; просмотров: 1373;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.014 сек.