- •Тема 1: «Алгоритми та їх властивості»
- •Тема 2: «Прикладна теорія алгоритмів»
- •Тема 3: «Конструктивні об'єкти»
- •Тема 4: «Частково-рекурсивна функція»
- •Тема 5: «Машина Тюрінга»
- •Тема 6: «Алгорифми Маркова»
- •Тема 7: «Алгебра висловлювань»
- •Тема 7: «Нечітка логіка»
- •Тема 7: «Нечітка логіка»
- •Якщо витрати на рекламу високі, то обсяг реалізації - високий;
- •Якщо витрати на рекламу середні, то обсяг реалізації - середній;
- •Якщо витрати на рекламу низькі, то обсяг реалізації - низький;
- •Тема 7: «Нечітка логіка» 32
Тема 5: «Машина Тюрінга»
Введення поняття «машина Тюринга» було однією з перших вдалих спроб дати точне з математичної точки зору визначення поняття алгоритму. Це поняття було назване на честь Алана Тюринга, який в 1937 році сформулював дане поняття.
Машина Тюринга є математичною уявною машиною. Як і інші математичні поняття, машина Тюринга відображає об'єктивну реальність, моделює деякі реальні процеси.
Машина Тюринга представляє собою систему, що працює в дискретні моменти часу ї = 0, 1, 2... і складається з:
стрічки, що розбита на скінченну кількість комірок,при цьому в кожний момент часу £ записані букви з деякого алфавіту А={ао, а2, ••■, ап}, що називається зовнішнім алфавітом машини Тюринга.
Комірка, в якій записано символ "0" називається пустою. В процесі роботи машини кожна комірка може змінювати свій стан шляхом заміни приписаного до неї символа а, на інший символ аі, що належить А.
До існуючих комірок дозволяється прибудовувати необмежене число додаткових комірок, які початково вважаються пустими.
Стрічка вважається направленою і її комірки будуть переглядатися зліва направо. Таким чином, якщо в деякий момент часу стрічка має г комірок, то стан стрічки повністю описується словом ац, аі2, ..., аІГ; де а,і - стан першої комірки, а,2 - стан другої комірки, а,г - стан г-тої комірки.
управляючих кареток, що представляють собою пристрій, що може переміщуватись
впродовж стрічки так, що в кожний момент часу, що розглядається, вона знаходиться
навпроти визначеної комірки і має деякий стан з множини станів О. = {яо, С|і, ... , я,-,}-
Множина Ц називається множиною внутрішніх станів. Множини А і О. не перетинаються.
Стан д0 називається скінченним або заключним, а стан Рі - початковим. Даний стан
означає початок роботи машини.
програми П, тобто сукупності виразів Т (і, і), де (і = 1, 111), (і = 0, Пі).
Команда Т (і, і), з якої будується програма, складається з команд трьох видів:
1. |
РіЗ] |
Яка,С |
2. |
Я.аг |
4 ЯкаїІ- |
3. |
Я,аг |
4 Яі<аіК |
Команда спочатку с]^ спрацьовує, якщо машина знаходиться в стані Чі, а каретка оглядає символ а,. Тому в програмі має бути тільки одна команда спочатку Дії при виконанні вищезазначених команд:
Яіа, Яі<аіС: при виконанні машина М переходить до стану чк, одночасно замінюючи символ, який оглядається - а] - на а|. В командах даного типу символ С опускається,
сі^і чкаіІ_: машина Тюринга переходить до стану чк, змінюючи наповнення комірки аі на аі, і каретка переміщується на 1 комірку ліворуч.
ч і а і —» ц к а і К: машина Тюринга переходить до стану с]к, змінюючи наповнення комірки а на аі, і каретка переміщується на І комірку праворуч.
Знаходячись в момент часу і в стані, відмінному від С]о, машина здійснює крок, який визначається її поточним станом символом а,, який оглядає каретка, при цьому зміст кроку
регламентується командою Т (і, ]): ЧіЗ;- чкаіХ, де ХЄ {С, Ц К). Крок полягає в тому, що:
зміст комірки що оглядається в даний момент часу, витирається, і на його місцу записується символ аі, який може співпадати з а,.
машина переходить в новий стан чк, який може співпадати з д,.
машина переходить до огляду наступної комірки, що розміщується ліворуч, якщо X = І., або комірки, що розміщується праворуч, якщо X = К, або продовжує оглядати ту саму комірку, якщо X = С.
В наступний момент часу ї + 1 машина виконує крок, що регламентуґться командою Т(к, І) = ч .) ' сі-а
Наступний крок регламентується командою Т(г, $) і так далі.
Словом в алфавіті А або в алфавіті О, або в об'єднаному алфавіті А " О. називається будь- яка послідовність букв відповідного алфавіта.
Під к-тою конфігурацією розуміється зображення стрічки машини з інформацією, що склалася на ній до початку к-того кроку або словом в алфавіті А, що записане на стрічці до початку к-того кроку з вказівкою комірки, яка оглядається на даному кроці, і з вказівкою стану, в якому знаходиться машина.
Конфігурація називається заключною, якщо ста.і, в якому знаходиться машина, є заключним.
Робота машини Тюринга вважається закінченою, якщо досягається кінцева конфігурація, яка і вважається результатом роботи машини Тюринга.
Будемо вважати, що непусте слово в алфавіті А, тобто А\{а0} = {аь а2, ..., а,,} сприймається машиною в стандартному положенні; якщо дане слово записане у послідовно розміщених комірках стрічки, всі інші комірки пусті і мас.пі.а ог .-їдиС .фіійню праву комірку з тих, в яких записано слово а.
Стандартне положення називається початковим або кінцевим, якщо машина сприймає слово в стандартному положенні і знаходиться у стані сі,. У стані зупинки - сі0. Будемо говорити, що слово а переробляється машиною у слово /3, якщо від слова СІ, яке сприймається у початковому стандартному положенні машина після виконання скінченного числа команд переходить до слова /а, що сприймаєте» машиною в положенні зупинки.
Для визначення машини Тюринга необхідно знати алгоритм програми і вказати, які з символів позначають пусту комірку й кінцевий і заключний стан.
Що стосується сворення машини Тюринга або написання відповідних програм, то ці задачі є більш складними в порівнянні з задачею застосування конкретних машин до конкретних сл:в.
Функція називається обчислювальною за Тюрингом, якщо існує машина Тюринга, що її обчислює, або якщо існує машина Тюринга, яка обчислює її значення для тих наборів значень аргументів, для яких функція визначена і працює нескінченно довго, якщо функція для
даного набору аргументів невизначена. Тут є декілька зауважень. По-перше, ми розглядаємо функції, що задаються на множині натуральних чисел і що приймають значення з множини натуральних чисел. По-друге, значення хь х2, ..., хп аргументів фунцкії ((хь х2, ..., хп) будемо розміщувати на стрічці у вигляді слова. По-третє, переробку вхідного слова будемо починати зі стандартного положення, при якому в стані хг оглядається крайня одиниця слова, що розміщується праворуч. Якщо ^ (хг, х2, ..., хп) визначена на наборі значень аргументів, то в результаті роботи машини Тюринга на стрічці повинно бути записано послідовно \ (хь х2, ..., хп) одиниць. В противному випадку машина . :;л . :н а ; а цю вати нескінченно довго. При виконанні перерахованих умов будемо говорити, що машина Тюринга обчислює дану функцію.
Побудова машини Тюринга проходить у два етапи: спочатку створюється алгоритм обчислювальної функції, а потім цей алгоритм записується на мові машини Тюринга.
Машина Тюринга правильно обчислює функцію {(у., х2, . . ;|) «•• тому випадку, якщо початкове слово Ц ] 01Хі0 1 ... 01л" перетворюється у слово С|0011 ^хі'х^'-хп)о...о і при цьому в процесі роботи не добудовує нових комірок ні ліворуч, ні праворуч.
Якщо функція невизначена, то почавши роботу з вказаного положенння, машина Тюринга в процесі роботи не буде добудовувати комірок стрічки ліворуч.
Численні дослідження вчених і досвід показали, що класи функцій, які можуть бути обчисленні за допомогою деякої машини Тюрич а дуже великі.
Кожну функцію, для обчислення значень якої існує алгоритм, можна обчислити за допомогою деякої машини Тюринга. Цей факт дав підставу Тюрингу висловити гіпотезу, яку називають основною гіпотезою теорії алгоритмів або тезою Тюринга.
Теза Тюринга: "Для знаходження значення функції, що задана на деякому алфавіті тоді і тільки тоді існує алгоритм, коли функція є об'-:ислю:.'ЗЯьмою :а Тюрингом, тобто коли вона може бути обчислена за допомогою відмові,-, ю. машини Тюринга"
Дана теза не може бути доведена математично, оскільки одна із сторін тези не є точним поняттям.
Теоретично існує можливість того, що теза Тюринга буде спростована. Для цього необхідно вказати функцію, яка може бути обчислена за допомогою деякого алгоритму, але
яку не можна обчислити на машині Тюринга. А/: _ т с кливісгь є малоймовірною.
