Почему-то никак не удавалось найти какую-нибудь машину Тьюринга, для которой можно было бы удобно составлять программы. Пришлось набросать самому:
Машина Тьюринга
С полубесконечной лентой. Всё по канону - каретка считывает символ, берёт своё текущее состояние и на основе этой пары делает работу: пишет новый символ, меняет своё состояние и сдвигается влево/вправо или остаётся на месте. Для решения учебных задачек - типа, "заменить в строке все символы b на c" - вполне подходит.
Пусть лежит для коллекции.
Если что, там же болтаются худо-бедно работающие эмуляторы нормального алгоритма Маркова и машины с неограниченными регистрами.
Показаны сообщения с ярлыком математика. Показать все сообщения
Показаны сообщения с ярлыком математика. Показать все сообщения
среда, 4 марта 2020 г.
воскресенье, 16 июня 2013 г.
Нормальный алгоритм Маркова
В общем, помыкавшись по интернету, обнаружил поразительную вещь: нечасто встречаются реализации нормального алгоритма Маркова, у которых корректно отрабатывает правило:
$0->0$$$$$$$$$$
Не знаю уж, почему так. Точнее, выяснилось, что как-то хитро себя ведет джаваскриптовская функция string.replace(), но дальше разбираться лень. Поэтому накидал свой собственный велосипед.
Введите начальную последовательность символов:
Нормальный алгоритм Маркова (например, a->b):
$0->0$$$$$$$$$$
Не знаю уж, почему так. Точнее, выяснилось, что как-то хитро себя ведет джаваскриптовская функция string.replace(), но дальше разбираться лень. Поэтому накидал свой собственный велосипед.
Введите начальную последовательность символов:
Нормальный алгоритм Маркова (например, a->b):
Подписаться на:
Сообщения (Atom)