Я намагаюся зрозуміти існування невпізнаваних мов. Для цього мені потрібно знати, чому машина Тьюрінга розпізнає лише одну мову, а не декілька. Чому це?
Я намагаюся зрозуміти існування невпізнаваних мов. Для цього мені потрібно знати, чому машина Тьюрінга розпізнає лише одну мову, а не декілька. Чому це?
Відповіді:
Мова, визнана машиною Тьюрінга, за визначенням - це набір рядків, які вона приймає. Коли введення вводиться машині, воно приймається чи ні. Будь-який конкретний вклад до цієї машини або завжди приймається (мовою), або завжди не приймається (не мовою). Тож немає жодного механізму, за допомогою якого одна машина Тьюрінга навіть могла приймати більше ніж один мов.
Подумайте про це так: TM - це як комп'ютер із завантаженим програмним забезпеченням. Кожне програмне забезпечення робить одне, правда? Наприклад, подумайте про свій комп'ютер і припустіть, що в ньому завантажена лише 1 програма. Тоді ПК + «фотошоп» робить лише фотошоп, тоді як ПК + «мінна підметальна машина» лише змінює міни.
Тож машина Тьюрінга - це дуже проста істота, яка на кожному запуску отримує один вхід і видає або так, або ні . На яких входах він каже "так", а на яких "ні" - це встановлюється "програмою" ТМ відповідно до її станів та функції переходу. Після їх виправлення "програма" фіксується, і на будь-який даний вхід є лише одна відповідь: Так або Ні (прийняти / відхилити). Це визначає рівно одну мову = всі входи, які дають " Так", коли вони даються TM.
З іншого боку, набір з усіх ДЧ еквівалентно набору комп'ютера + «програмного забезпечення» з усіма можливими програмами. Тепер можна вирішити більше мов - але все-таки кожна конкретна ТМ вирішує (або визнає) лише одну мову.
Машини Тьюрінга працюють так само, як і вони, тому що ми вирішили їх так визначити. Ми могли б мати більш складні визначення, але питання полягає в тому, чи це слугувало б меті, чи дозволило б нам робити більше справ. І, наскільки нам відомо, відповідь - ні.
Справа в тому, що для теорії можуть використовуватися всілякі варіанти. Також дуже різні підходи намагалися моделювати, що таке обчислення, такі як лямбда-числення, компенсаційна логіка, теорія рекурсивних функцій тощо.
Завжди було показано, що жоден з них не робить нічого, чого неможливо зробити нашою простою моделлю, де ТМ розпізнає лише одну мову. Настільки, що було вигадано, що він робить все, що можна зробити. Це називається тезою Церкви Тьюрінга . Саме основою теорії обчислюваності є те, наскільки ми знаємо, визначає, які мови впізнавані, чи ні.
Тож ми можемо також скористатися простою моделлю, оскільки складна ускладнить наше життя, не маючи реальної користі.
Звичайно, ми іноді використовуємо інші моделі, оскільки вони дозволяють нам краще зрозуміти деякі проблеми.
Я хотів би розкрити одну точку відповіді Річербі:
Коли введення вводиться машині, воно приймається чи ні.
Причиною цього є те, що машина Тьюрінга є детермінованою: даючи один і той же вхідний і вихідний стан, він завжди буде робити те саме, щоразу, коли ви запускаєте його (або закінчуйте в тому ж самому стані прийняття, або в тому ж самому стані відхилення, або циклічно назавжди ).
Крім того, ми можемо легко довести, що кожна машина Тьюрінга розпізнає саме одну мову:
Припустимо, протиріччя, що машина Тьюрінга М розпізнає дві різні мови L1 і L2. Оскільки L1 і L2 є різними, повинна існувати рядок S, який знаходиться в L1, але не в L2 (без втрати загальності - це може бути навпаки, але доведення буде проходити так само, як і тут L1 і L2 обмінюються ). Тепер запустіть M на S. Якщо він приймає, тоді виходить протиріччя, оскільки тоді S був би в L2. Якщо він не приймає (відхиляє або циклізує), тоді досягається суперечність, оскільки S не буде в L1.
Машина Тьюрінга розпізнає одну мову, тому що це визначення розпізнавання слова : Мова, яку розпізнає машина Тьюрінга, - це набір усіх рядків / входів, за якими приймає машина Тьюрінга.
Відповідь на це залежить від того, що саме ви розумієте, коли маєте на увазі "машина Тюрінга". Будь-яка обчислювальна модель має три компоненти (тут обмежується лише дешифри / акцептори):
Для машин Тьюрінга синтаксис буде набором набору станів, алфавітів, функції переходу тощо. У семантиці буде визначення обчислення , тобто , щоб описати , як застосувати функцію переходу для того , щоб вивести вміст стрічки після кількох кроків. Критерій приймання повинен сказати, «коли це трапиться, ми зупиняємося і результат такий , що».
Тепер, чи є машини Тьюрінга лише синтаксисом та семантикою для вас, чи ви також включаєте критерій прийнятності? Якщо ви працюєте з першою, будь-яка TM може приймати кілька мов, використовуючи різні критерії прийняття; Ви можете навіть уявити критериї прийняття, які дозволяють використовувати декілька прийнятих мов (подумайте, наприклад, про двопараметричні ТМ). Якщо ви зробите останнє, однак, немає місця для хитання, і звичайний критерій прийняття дійсно передбачає рівно одну мову на ТМ (цього типу).
Звичайне визначення і використання терміну в ТКС включає в себе всі три компоненти. Це має сенс, оскільки, зокрема, зміна критерію прийняття може змінити клас об'єктів, який автомат представляє різко , тому нам потрібно виправити критерій, щоб знати, про що ми говоримо.
Як приклад, порівняйте кінцеві автомати та автомати Büchi . Синтаксис і семантика точно однакові, але один приймає кінцеві слова, а інший приймає нескінченні слова!
Спробуйте з’ясувати, що станеться, якщо ви включите критерій прийняття автомати Büchi до визначення TM.
Тепер, чому звичайний критерій прийняття є важливим? Поки ви обмежитеся мовою кінцевих рядків, на концептуальному рівні багато чого не зміниться, маючи кілька мов на ТМ: ми все одно зможемо прийняти той самий набір мов. Тож ми дотримуємося простішої моделі. Однак це не означає, що більш задіяна модель не може бути корисною для моделювання в додатках, але це виходить за рамки TCS (який має визначені повноваження).
Мова - це набір рядків. Чи не є об'єднання двох мов L1, а L2 - набір рядків (назвемо це L3), і так би була інша мова? Потім, якщо машина Тьюрінга розпізнає обидві мови, він розпізнає L3, єдину мову.
жоден інший відповідь не вказує на існування Універсальної машини Тьюрінга, як це було вперше описано / виявлено Тьюрінгом у своєму підтвердженні. так, TM приймає одну рекурсивно перелічувану мову, але UTM може розпізнати будь-яку рекурсивно перелічувану мову, якщо вона кодується на вході разом із рядком введення. тому питання має деяку дзен-подібну якість. ТМ приймають лише одну мову та всі можливі мови, що кодуються.