
теория вычислительной сложности / up6
.pdfЗадание 6.1:
Алгоритм Маркова - это тройка M = (Σ, R, E), где Σ - алфавит, R = {r1, r2, . . . , rn} - конечное и упорядоченное множество правил вывода, E R - множество финальных правил. Правило вывода имеет форму X → Y , где X, Y Σ . Шаг алгоритма Маркова переводит слово w в слово w0 следующим образом:
1.Находим в R первое правило ri = X → Y такое, что X - подслово w.
2.Находим в w самое левое X, т.е. w = w1Xw2 и X входит в w1X ровно 1 раз.
3.Заменим этот X в w через Y , после чего получаем w0 = w1Y w2.
Вычисление алгоритма Маркова - это преобразование слова w путем применения правил вывода до тех пор, пока на каком-то шаге не будет применено финальное правило из E. Результат обозначим через M(w). M(w) - неопределено, если при преобразовании w не используется правило из
E.
Функция f : Σ → Σ Марков-вычислима, если существует алгоритм Маркова M такой, что для любого w Σ верно: f(w) = M(w).
Пример: алгоритм Маркова M = (Σ, R, E), где
•Σ = {0, 1, a, b},
•R = {a1 → 1a, a0 → 0a, a → b, 0b → 1, 1b → b0, b → 1, 1 → a1, 0 → a0} и
•E = {0b → 1, b → 1}.
Bычисление M на 101:
101, a101, 1a01, 10a1, 101a, 101b, 10b0, 110.
Тавим образом M(101) = 110. Какую функцию вычтсляет M ? Задайте алгоритм Маркова для следующих функций {0, 1} → {0, 1}
:
1.f(x) = y : bin(y) = bin(x) −· 1 .
2.f(x) = xR .
1
Задание 6.2:
Покажите
1.Каждая Марков-вычислимая функция Σ → Σ ТМ-вычислима.
2.Каждая ТМ-вычислимая функция Σ → Σ Марков-вычислима.
Задание 6.3:
Рассмотрим одно-ленточную машину Тьюринга со входным алфавитом Σ = {0, 1}, алфавитом ленты = {2, 0, 1}. Оцените сверху следующие числа.
•Число машин Тьюринга с n состояниями.
•Чмсло функций Σ → Σ , вычислимых машинами Тьюринга с n состояниями.
•Максимальную длину самого короткого слова {0, 1} , невыдаваемое никакой машиной Тьюринга с ≤ n состояниями при вводе пустого слова (т.е. машина Тьюринга стартует с лентой, содержащей во всех ячейках 2 ).
Пусть c : {0, 1} → {0, 1} - функция, для которой c(x) - слово wx {0, 1} со следующими свойствами:
•wx - слово, невыдаваемое никакой машиной Тьюринга с ≤ x10 состояниями при вводе пустого слова (здесь bin(x10) = x),
•каждое слово v длиной |v| < |wx| вычислимо машиной Тьюринга с ≤ x10 состояниями при вводе пустого слова.
Покажите, что такая всюду определенная функция c существует и что она не вычислима никакой машиной Тьюринга.
2