Модифікації машини Тюрінга

Машина Тюрінга (МТ) може мати різні модифікації:

Еквівалентні звичайній МТ

ред.

Недетермінована МТ

ред.

Може перебувати в кількох конфігураціях одночасно. Еквівалентна звичайній МТ.

Стрічка обмежена зліва

ред.

Читаюча голівка не може переміщуватись лівіше початкового символу. Еквівалентна звичайній МТ.

k-доріжкова машина

ред.

Голівка може змінювати символ на певній доріжці окремо. Моделюється звичайною МТ, якщо брати алфавіт звичайної як k-ту степінь алфавіту k-доріжкової.

k-стрічкова машина

ред.

На відміну від k-доріжкової, тут кожна стрічка має свою головку, які можуть рухатись окремо. Моделюється 2k стрічковою машиною, тому теж еквівалентна звичайній МТ.

k-голівкова машина

ред.

Машина яка має k-голівок, і одну стрічку.

Машина з k-вимірною стрічкою

ред.

Обмежені МТ

ред.

Машина без запису на вхідну стрічку (off-line)

ред.

Такі машини поділяються на односторонні (голівка може рухатись в обидві сторони), та двосторонні (тільки в одну). Наприклад скінченний автомат є односторонньою off-line МТ.

Лінійно обмежений автомат (ЛОА)

ред.

МТ з стрічкою що обмежена розмірами вхідного слова

Магазинний автомат (МА)

ред.

Такий автомат має обмежений набір операцій зі стрічкою, а саме:

  1. Дописати символ   в кінці робочої зони, і пересунутись вправо.
  2. Пересунутись вліво, і витерти символ під голівкою (замінити на  ).

За допомогою автомата з двома магазинами[de] (англ. TPDA, 2-PDA) можна промоделювати роботу машини Тьюрінга.[1]

Магазин з унарним алфавітом називається лічильником. Два лічильники можуть промоделювати роботу магазину.

Стековий автомат (СА)

ред.

Аналогічний МА, але крім цього вміє читати символи з середини стрічки.

Автомат з гніздовою стековою пам'яттю

ред.

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

  1. @MISC {2833, TITLE = {Is a push-down automaton with two stacks equivalent to a turing machine?}, AUTHOR = {Luke Mathieson (https://cs.stackexchange.com/users/1636/luke-mathieson)}, HOWPUBLISHED = {Computer Science Stack Exchange}, NOTE = {URL:https://cs.stackexchange.com/q/2833 (version: 2019-02-18)}, EPRINT = {https://cs.stackexchange.com/q/2833}, URL = {https://cs.stackexchange.com/q/2833} }