P(l(z)).
Пусть n= l(z), T=P(n), ячейки ленты занумерованы числами
…,-2,-1,0,1,2,… , а исходные данные z размещены в ячейках 1,…,n. В
этом случае вычисление R(z,y) для любого y происходит в зоне ячеек
–T,…,T за время, не превышающее T тактов.
Машина начинает работу в конфигурации q
1
z*y и завершает ее
в конфигурации q
0
1, если свойство R(z,y) выполнено, и в
конфигурации q
0
0 в противном случае. Для удобства изложения
модифицируем машину M так, чтобы при попадании в состояние q
0
она работала вечно: тогда в момент T машина будет в состоянии q
.
0
Доказательство основано на том, что работы машины
Тьюринга, вычисляющей R(z,y), может быть описана с помощью
формулы, имеющей вид к.н.ф.
Φ=B&C&D&E&F&G,
которая выполняется только тогда, когда R(z,y)=1, причем
B,C,D – условия того, что ДМТ работает правильно;
E - условие того, что начальная конфигурация есть q
z*y;
1
F - условия того, что ДМТ работает в соответствии с
программой;
G - условие того, что заключительная конфигурация есть q
1.
0
Сложность формулы Φ будем оценивать числом булевых
переменных, использованных в записи формулы, и обозначать через
compl(Φ).
,a ,…,a
Пусть машина использует ленточный алфавит A={a
k-10 1
}
и алфавит состояний Q={q
,q ,…,q
r-10 1
}. Введем булевы переменные
u
i j
, v
s,t t
и w (0≤i≤k-1, 0≤j≤r-1, -T≤s≤T, 0≤t≤T):
s,t
i
u
s,t
=1 тогда и только тогда, когда на шаге t ячейка s содержит
символ a
i
;
j
v
t
= 1 тогда и только тогда, когда на шаге t машина находится в
состоянии j;
w
s,t
= 1 тогда и только тогда, когда на шаге t головка обозревает
ячейку s.
Высказывание B обозначает, что на каждом такте t (0≤t≤T)
обозревается ровно одна ячейка:
174