Але у будь-якому випадку складність НАМ для U1(n) більше складності Машини Тюрінга для цієї ж функції, яка дорівнювала k+1.
Зверніть увагу, що у НАМ порядок проходження правил підстановки в схемі алгоритму істотно впливає на результат, тоді як для МТ він не существенен.
Побудуємо НАМ для прикладу 2 з лекції 2:
побудувати алгоритм для обчислення
U2((n) 1) =(n-1) 1
Отже, S={|}; W=S; V=Æ, тобто порожньо.
| a
Складність цього алгоритму рівна 1, тоді як складність алгоритму для Машини Тюрінга дорівнювала n.
Тепер побудуємо НАМ:
побудувати алгоритм для обчислення
U3((n) 1) =(n) 10
S={|}; W={0,1,2,3,4,5,6,7,8,9}; V=Æ
Схема цього алгоритму приведена на малюнку 3.2
1|®2
2|®3
3|®4
4|®5
5|®6
6|®7
7|®8
8|®9
9|®|0
|0®10
0|®1
|®0|
Мал.1.2 Схема НАМ для обчислення U3((n) 1) =(n) 10.
Складність цього НАМ буде n+ [log10n], що істотно менше за складність для Машини Тюрінга, що обчислює цю функцію, яка дорівнювала n2+ [log10n(log10n+1)].
Реалізацію функції U4 порівняння двох цілих чисел залишаємо читачу як вправа.
Зауваження: початкове слово треба задати у формі
*Для нормальних алгоритмів Маркова справедлива теза, аналогічна тезі Тюрінга.
Теза Маркова: Для будь-якої інтуїтивно обчислюваної функції існує алгоритм, що її обчислює.
1. Джон Хопкрофт, Раджів Мотані, Джеффрі Ульман РОЗДІЛ 8. Введення в теорію машин Тюрінга // Введення в теорію автоматів, мов і обчислень. – М., 2002. – С528.