Машина Тьюринга и идея

Я много читал о машине Тьюринга и понимаю, как она работает, но чего я не могу понять (и чему ни одна из книг, кажется, не пытается научить), так это как мне подходить к проблеме, которую мне поручено решить? Я имею в виду: например, проверка того, является ли слово палиндромом, состоит из 11 состояний в книге, по которой я учусь. Для моего нынешнего уровня знаний просто сидеть над пустым листом бумаги и придумывать все эти состояния кажется почти невозможным, если не сказать больше. Когда я пытаюсь сделать что-то подобное, я сразу же застреваю, так как не знаю, что мне делать, чтобы эти состояния работали как-то «вместе». У меня нет таких проблем при программировании, но здесь я просто не могу понять, как мне подойти к чему-то, состоящему из каких-то n-teen состояний. Не могли бы вы указать мне направление, чтобы узнать об этом?


person Straightfw    schedule 02.01.2013    source источник
comment
Я думаю, что это лучше подходит для сайта CS, так как это не связано с программированием.   -  person templatetypedef    schedule 03.01.2013
comment
Ты совершенно прав. Не знал, что он существует, сразу же выложу, извините и спасибо :)   -  person Straightfw    schedule 03.01.2013


Ответы (1)


Машины Тьюринга — это архитектурная модель, не очень далекая от машины фон Неймана. Итак, это очень низкоуровневая модель вычислений, и лучший способ решения проблемы программирования с их помощью — это тот же метод, который мы использовали бы для традиционного оборудования, а именно с помощью абстракций.

Считается, что машины Тьюринга не композиционны, но это не совсем так. Несложно совместить функцию перехода машин Тьюринга, реализующую последовательную композицию, условные операторы и циклы. Затем, начиная с небольшой библиотеки базовых машин, выполняющих сравнение символов, замену символов и подобные операции, вы можете создавать очень сложные программы.

Мы использовали этот метод, чтобы написать универсальную машину Тьюринга и подтвердить ее правильность в помощнике по проверке доказательств Matita (система, аналогичная Coq). Ссылка:

Асперти, Риччиотти «Формализация многоленточных машин Тьюринга», TCS 603, 2015.

person Andrea Asperti    schedule 01.02.2017
comment
Я бы сказал, что машины Тьюринга — это скорее вычислительная модель, чем архитектурная, поскольку их простота позволяет нам доказывать невозможность результатов, что является основной причиной введения концепции машины Тьюринга. На самом деле они не предназначены и, вероятно, никогда не предназначались для практической архитектуры. - person blazs; 01.02.2017
comment
Что отличает машины Тьюринга от предыдущих моделей вычислений, так это тот факт, что, хотя все предыдущие модели обращались к проблеме выражения вычислимых функций, Тьюринг пытался уловить основные черты, лежащие в основе идеи вычислений: память, считывающая\записывающая конечную ее часть, реагирующая через конечный автомат, перемещающаяся на конечное пространство. - person Andrea Asperti; 01.02.2017