Тьюринг отчет

You might also like

You are on page 1of 7

Зміст

Вступ.........................................................................................................................2

Основна частина......................................................................................................2

Опис постановки задачі......................................................................................2

Теоретичні відомості..........................................................................................2

Опис розв’язку задачі словесним способом, використовуючи


математичний апарат.......................................................................................4

Тестовий приклад....................................................................................................5

Висновок..................................................................................................................6

Список використаної літератури...........................................................................6

Додатки.....................................................................................................................6
Вступ
Маши́ на Тю́ рінга — математичне поняття, введене для формального
уточнення інтуїтивного поняття алгоритму. Названа на честь англійського
математика Алана Тюрінга, який запропонував це поняття у 1936.
Аналогічну конструкцію машини згодом і незалежно від Тюрінга ввів
американський математик Еміль Пост.
Машина Тюрінга — це абстрактна машина (автомат), що працює зі
стрічкою, що складається із окремих комірок, в яких записано символи.
Машина також має голівку для запису та читання символів із комірок і яка
може рухатись вздовж стрічки. На кожному кроці машина зчитує символ із
комірки, на яку вказує голівка та, на основі зчитаного символу та
внутрішнього стану, робиться наступний крок. При цьому, машина може
змінити свій стан, записати інший символ у комірку або пересунути голівку
на одну комірку ліворуч або праворуч.

Основна частина

Опис постановки задачі


Збільшити задане число на 1.
А = {0,1,..9}. Додати до числа Р одиницю.
Необмежена стрічка. Вона є нескінченною в обидва боки і розділена на
осередки.
Автомат - керована програма, головка-сканер для зчитування та запису
даних. Вона може знаходитися в кожен момент в одному з безлічі станів.

Теоретичні відомості

Структура машини Тьюрінга


Машина Тьюрінга (МТ) складається з двох частин - стрічки і автомата (див.
зліва):
Стрічка використовується для зберігання інформації. Вона нескінченна
в обидві сторони і розбита на клітини, які ніяк не нумеруються і не
іменуються. В кожній клітині може бути записаний один символ або нічого
не записано. Вміст клітини може змінюватися - в неї можна записати інший
символ або стерти символ, який знаходиться там. Пустий вміст клітини
називається символом «порожньо» і позначається знаком Λ ( «лямбда»). У
зв'язку з цим зображення стрічки, показане на малюнку справа, таке ж, як і на
малюнку зліва. Таким чином операцію видалення літери в деякій клітці
можна розглядати як запис в цю клітку символу Λ, тому кажуть просто
«Запишемо символ у клітку».
Автомат - це активна частина МТ. У кожен момент він розміщується
під однією з клітин стрічки і бачить її вміст; це видима клітка, а символ, який
знаходиться в ній - видимий символ; вміст сусідніх та інших клітин автомат
не бачить. Крім того, в кожен момент автомат знаходиться в одному з станів,
які позначаються буквою q з номерами: q1, q2 і т.п. Перебуваючи в деякому
стані, автомат виконує якусь певну операцію (наприклад, переміщується
направо по стрічці, замінюючи всі символи a на b), перебуваючи в іншому
стані - іншу операцію. Пару з видимого символу (S) і поточного стану
автомата (q) будемо називати конфігурацією і позначати <S, q>. Автомат
може виконувати три елементарних дії: 1) записувати в видиму клітку новий
символ (міняти вміст інших клітин автомат не може); 2) зрушуватися на одну
клітку вліво або вправо («перестрибувати» відразу через кілька клітин
автомат не може); 3) переходити в новий стан. Нічого іншого робити автомат
не вміє, тому все більш складні операції так чи інакше повинні бути зведені
до цих трьох елементарних дій.

Такт роботи машини Тьюрінга


МТ працює тактами, які виконуються один за іншим. На кожному такті
автомат МТ виконує три наступних дії, причому обов'язково в зазначеному
порядку:
1) записує деякий символ S 'в видиму клітку (зокрема, може бути
записаний той же символ, що і був у ній, тоді вміст цієї клітини не
змінюється);
2) зсувається на одну клітку вліво (позначення - L, від left), або на одну
клітку вправо (позначення - R, від right), або залишається нерухомим
(позначення - N).
3) переходить в деякий стан q '(зокрема, може залишитися в
попередньому стані). Формально дії одного такту записують у вигляді
трійки:
S ', [L, R, N], q' де конструкція з квадратними дужками означає
можливість запису в цьому місці будь-якої з букв L, R або N. Наприклад, такт
*, L, q8 означає запис символу * в видиму клітку, зрушення на одну клітку
вліво і перехід в стан q8.

Тут перші два символи — це відповідно внутрішні стани машини і


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

Опис розв’язку задачі словесним способом, використовуючи


математичний апарат
Треба зрушити автомат під останню клітку, якщо це цифра від 0 до 8, то
замінити її цифрою на 1 більше та зупинитися:
3. якщо ж це цифра 9, тоді замінити її на 0 і зсунути автомат до
попередньої цифри, після чого таким же способом збільшити на 1 цю
передостанню цифру:

4. Особливий випадок: в Р тільки дев’ятки (наприклад, 99). Тоді


автомат буде зсуватися вліво, замінюючи дев’ятки на нулі, і в кінце кінців
опиниться під порожньою клітиною. В цю порожню клітину потрібно
записати 1 та зупинитися (відповіддю буде 100)

Тестовий приклад

Коли користувач ввів будь-яку послідовність, Машина Тюрінга виведе число,


що на одиницю більше за задане.

Висновок

Машина Тюрінга - одне з найбільш інтригуючих і захоплюючих


інтелектуальних відкриттів 20-го століття. Це проста і корисна абстрактна
модель обчислень (комп'ютерних і цифрових), яка є досить загальною для
втілення будь-якої комп'ютерної задачі. В моїй роботі було проаналізовано
розділ дискретної математики, та написано програму до поставленої задачі.
Результати роботи програми співпадають з результатами виконання тих
самих задач математичним способом, отже програма написана коректно.
Список використаної літератури

o https://uk.wikipedia.org/wiki/Машина_Тюрінга
o Карпов Ю. Г. Теория автоматов. — ISBN 5-318-00537-3
o «Вычислительные машины и разум» Тьюринг А. 978-5-17-105970-5
o Эббинхауз Г.Д., Якобс К., Ман Ф.К., Хермес Г. Машины Тьюринга и
рекурсивные функции. — М.: Мир, 1972. — 262 с.
o Джозеф Ричардс, Хенрик Бринк, Марк Феверолф, Машинное обучение,
2016 – 255с.
o https://inf1.info/turing
o https://bunyk.wordpress.com/2009/03/17/turing-machine/
o http://libr.org.ua/book/74/2343.html
Додатки

You might also like