2.6. Заключение
Отметим, что
несуществование алгоритма того или
иного класса задач не означает
неразрешимости
вообще; это означает лишь, что
рассматриваемый класс задач настолько
широк, что единного эффективного метода
для решения всех задач данного класса
не существует.
Для некоторых
проблем мы располагаем сравнительно
простыми и короткими алгоритмами, однако
фактически их применение требует очень
больших вычислений, связанных с перебором
астрономического числа вариантов. С
другой стороны, встречаются довольно
громоздкие инструкции в алгоритмах,
которые сравнительно быстро приводят
к цели.
Исчисление -
определенный набор операций над
совокупностью математически однородных
объектов; с другой стороны, исчисление
- это процедуры преобразования этих
объектов с использованием данных
операций.
Примером исчисления,
которым широко пользуются в процессе
синтеза логических схем, является
преобразования выражений алгебры
логики. Набор правил (аксиом, законов,
тождеств) говорит лишь о том, как можно
преобразовать исходное булево выражение,
но ничего не говорит о том, как надо
его преобразовать, (в какой последовательности
и что делать на каждом шаге
последовательности), чтобы, например,
на заданном логическом базисе получить
минимальную задержку схемы. Таким
образом, исчисление, в отличие от
алгоритма, не содержит указаний, куда
нужно идти, чтобы получить результат.
2.7. Контрольные вопросы. Упражнения
1. Определить
примитивно-рекурсивные функции j(y,
x), заданные
своими схемами вычислений и начальными
значениями:
а) j(x¢)=j(x)x¢,
j(0)=1;
б) j(y¢,
x)=j(y,
x)+x, j(0,
x)=0;
в)
j(y¢,
x)=j(y,
x)+x, j(0,
x)=x;
г) j(y¢,
x)=j(y,
x)x, j(0,
x)=1;
д) j(y¢,
x)=j(y,
x)x, j(0,
x)=x;
е) j(y¢,
x)=j¢(y,
x)x, j(0,
x)=x;
ж) j(y¢,
x)=j¢(y,
x)+x, j(0,
x)=0;
з) j(y¢,
x)=(j(y,
x)+x)¢,
j(0,
x)=x;
и) j(y¢,
x)=(j(y,
x)+x), j(0,
x)=0.