5.1 Машина Тьюринга
Определение. Многоленточной машиной Тьбринга (МТ) называется свертка: Q, T, I, q0, qend. В этом наборе:
Q –множество состояний;
T – множество символов на лентах (алфавит);
I – множество входных символов, I⊆T (входной алфавит);
δ – функция перевода.
δ(q,a1,a2,…,ak) =(q’,(a1’,m1),( a2’,m2),…,( ak’,mk))
a1,a2,…,ak - обозреваемые символы на лентах
a1’,a2’,…,ak’ – новые символы которые записывают вместо a1,a2,…,ak
m1,m2,…,mk – команды перехода к соседней клетке, т. е. либо L (сдвиг в лево ) , либо R (сдвиг вправо), либо S (остановка на месте).
Все символы на лентах – буквы некоторого заранее зафиксированного алфавита
b – специальный выделенный пустой символ (служит для разделения слов)
q0 – начальное состояние
qend – конечное состояние машины, попав в которое она останавливается.
С помощью МТ можно реализовать любые програмы написаные на языке высокого уровня.
Входное слово w допускается машиной Тьюринга (ТМ) М, если машина Тьюринга, начав работу из состояния q0 имея слово w ? записанное на нашей ленте, рано или поздно закончит работу, т.е . попадет в состояние qend. При этом обычно в ячейках ленты записывается в закодированном виде ответ (см. пример выше).
Определение. Мгновенное описание МТ М – полная информация о МТ в некоторый момент времени t, оно состоит из :
текущего состояния q1 ;
содержимого всех лент;
номеров обозреваемых ячеек.
Зная мгновенное описание Сt, т.е. всю информацию, мы можем смоделировать по функции переходов δ последующие мгновенное описание Сt+1 и т. д.
Можно придумать МТ, которая складывает, вычитает, возводит в степень,находит минимальный остов, т. е. выполняет любые операции.
Тезис Черча. Все что можно числить с помощью некоторого алгоритма (понятие алгоритма не формализируется) может быть описано на языке МТ.
- Основные понятия. Справочный материал
- Основные понятия
- 1.2. Справочный материал. Сравнение скорости роста основных функций
- 2 Новые быстрые версии старых алгоритмов
- 2.1. Сортировки массивов
- 2.1.1 Метод прямого выбора (SelectSort)
- 2.1.2 Быстрая сортировка методом двоичных вставок (MergeSort)
- 2.2. Преобразование Фурье (бпф)
- 2.2.1. Дискретное преобразование Фурье
- 2.2.2. Полубыстрое преобразование Фурье (ппф)
- 2.2.3. Быстрое преобразование Фурье (бпф)
- 2.3. Быстрая свертка
- 2.3.1. Понятие свертки
- 2.3.2. Обычный и быстрый алгоритм свертки
- 2.4. Быстрое умножение
- 2.4.1. Быстрое умножение чисел
- 1 Суммирование
- 4 Произведения чисел вдвое меньшей
- 2.4.2. Быстрое умножение матриц
- 2.4.3. Очень быстрое умножение числе (алгоритм Шенхаге – Штрассена)
- 3. Задачи на графах
- 3.1. Справочный материал
- 3.2. Поиск минимального остова в связном неориентированном взвешенном графе
- 3.3. Нахождение кратчайшего расстояния
- 3.3.1. Алгоритм Форда – Беллмана
- 3.3.2. Алгоритм Дейкстры
- 3.4. Нахождение диаметра, радиуса и центра графа
- 3.5. Задача об изоморфизме графов
- 3.6. Задача коммивояжера. Её решение методом ветвей и границ.
- Задачи динамического программирования
- Задачи динамического программирования. Её решение методом динамического программирования.
- 4.2. Задача об оптимальном наборе самолетом скорости и высоты
- 4.3. Задача грабителя (задача о рюкзаке)
- 4.4. Задача о перемножении матриц
- 5 Классы p и np
- 5.1 Машина Тьюринга
- 5.2 Недетерменированные машины Тьюринга(ндмт)
- 5.3 Сводимость. Np-полнота.
- 5.4 Иерархия по сложности. Труднорешаемые задачи.
- Классы сложности.
- 6 Неразрешимые задачи
- 6.1 Новая модель алгоритма вычислений.
- 6.2 Нумерация программ
- 6.3 Неразрешимые проблемы
- 6.4 Теорема об ускорении
- Лабораторные работы
- Расчетно-графическое задание
- Ответы к домашним заданиям