Різниця між машиною тюрінга і машиною з кінцевим станом?


27

Я веду презентацію про машини Тьюрінга, і мені хотілося ознайомитись з FSM, перш ніж представити машини Тьюрінга. Проблема в тому, що я дійсно не знаю, чим ДУЖЕ відрізняється один від одного.

Ось що я знаю, що це інакше:

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

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

Але крім цього, я не знаю набагато більше відмінностей, які роблять машини Тьюрінга кращими, ніж FSM.

Чи можете ви мені допомогти?


2
Google не важко для "FSM vs. Turing Machine"! Це найцікавіша частина проведення власних досліджень. Основна відмінність полягає в тому, що машина Тьюрінга має нескінченну "пам'ять", а FSM - ні.
Дай

Добре, я трохи обдурив там>.> ;; Отримав! Спасибі!
Хуліо Гарсія

3
аргумент про "помилку" невірний. Спробуйте вікіпедію та навчальні книги. Подивіться, які їх основні відмінності, мета використання кожної (наприклад, коли ми не можемо вибрати FSM над TM?) Та їх відношення.
Пархам

@MahmoudAlimohamadi, що я маю на увазі, є більший шанс, що FSM приземлиться на не закінченому стані.
Хуліо Гарсія

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

Відповіді:


24

Основна відмінність роботи DFA (Детермінований Кінцевий Автомат) та ТМ полягає в тому, як вони використовують пам'ять.

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

Інтуїтивно, ТМ мають «подряпину» пам’яті у вигляді стрічки; конфігурація TM включає як його поточний стан, так і поточний вміст стрічки, який TM може змінювати під час виконання.

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

Зауважте, що я використовую термін "DFA", а не "FSM", оскільки, технічно, я вважаю, що TM є машиною з кінцевим станом, оскільки ТМ за визначенням мають кінцеву кількість станів. Різниця між DFA і TM полягає в кількості конфігурацій, яка така сама, як кількість станів для DFA, але нескінченно велика для TM.


Ах, зрозумів. Одне запитання щодо частини "без пам'яті": я побачив приклад торгового автомата, який додав монети, що видаються. Як вони знають, скільки є грошей, якщо у них немає пам’яті?
Хуліо Гарсія

@JulioGarcia Важко сказати, не знаючи, що саме ти бачив. Є машини Мура та Мелі, які можуть виводити символи на переходах. Діяльність торгового автомата може бути краще змодельована одним із цих механізмів. Ванільний DFA приймає та відхиляє лише рядки ... Торговий автомат повинен "приймати" будь-яку "рядок" монет. Залежно від того, як ви моделюєте додаткові побічні ефекти внесення змін, необхідною пам'яттю подряпин може бути відсутність або нескінченний випадковий доступ.
Patrick87

Не бачачи вашого прикладу, я не можу бути повністю впевненим, але у мене є дві здогадки. Одне полягає в тому, що воно не знає, скільки є грошей: просто передбачається, що їх вистачає. Ви не хочете таким чином будувати справжній торговий автомат, але це все-таки корисний приклад концепції. Інша можливість полягає в тому, що це насправді не "чистий" FSA: він підключений до датчика, який може якось отримати ці дані з "зовнішньої" машини. Апарат не знає і не цікавить, звідки беруться дані, і він не може нічого зберігати в датчику (тому це насправді не "пам'ять"), але все одно може діяти на те, що там бачить.
Найгірший

16

Машини Тьюрінга описують набагато більший клас мов, клас рекурсивно перелічених мов. Машини кінцевого стану описують клас регулярних мов.

Машини кінцевого стану не мають "пам'яті", вона обмежена її станами.

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

Візьміть цю мову як приклад:

L={aibi| i>=0}

Оскільки машини з кінцевими станами обмежені в тому сенсі, що вони не мають пам'яті, FSM, який приймає L, не може бути побудований.

Узагальнити:

Машини кінцевого стану описують невеликий клас мов, де не потрібна пам'ять.

Машини Тьюрінга - це математичний опис комп’ютера, який приймає набагато більший клас мов, ніж FSM.

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


3

У мене були ті самі сумніви, і я побачив два дуже захоплюючі відео та одне пояснення щодо Quora:

Машина з кінцевим станом - це лише сукупність станів і переходів. Єдина пам'ять, яку він має, - це стан, в якому він знаходиться. Отже, кількість станів пам'яті є… кінцевим.

Машина Тьюрінга - це машина з кінцевим станом плюс пам'ять на стрічку. Кожен перехід може супроводжуватися операцією на стрічці (рухатися, читати, писати).

З цього я зрозумів, що машина Тьюрінга використовує / має машину кінцевого стану як частину своєї операційної процедури, а також додає до неї деяку редаговану пам'ять.

Перегляньте також ці два відео, вони радіють!

https://youtu.be/gJQTFhkhwPA

https://youtu.be/E3keLeMwfHY


2

Наскільки я розумію відмінності між (стандартна модель) Тьюрінга і (стандартна модель) Мелі Машинами:

  • Машини Тьюрінга читають і записують на одній стрічці порівняно з Мелі Машинами, які читають на одній вхідній стрічці і записують на іншій стрічці виводу
  • Машини Тьюрінга можуть змінювати "напрямок стрічки" (продовжувати вліво або вправо [або зупинятись)). У порівнянні з Mealy Machines можна рухатися лише праворуч (тому в функції переходу Mealy Machine не встановлено напрям {L, R, H} [це неявно {R}, що означає взагалі немає вибору])
  • Машини Тьюрінга можуть зупинятися на будь-якій клітинці стрічки порівняно з Мелі Машинами, читаючи повний ввід, а потім зупиняти його прийняття чи відхилення.

-3

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


5
Незрозуміло, що ви маєте на увазі під "це", але і машини Тьюрінга, і FSM можуть це зробити, тому це не має різниці.
Девід Річербі,

@DavidRicherby Але FSM може зберігати лише заздалегідь задану кількість, тоді як машини Тьюрінга можуть зберігати стільки, скільки вони хочуть. Те є принципова різниця.
Жил "ТАК - перестань бути злим"

1
@Gilles погодився, але це не те, що говорить відповідь.
Девід Річербі,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.