Индуктивные функции на пространстве последовательностей
В первом параграфе данной главы мы уже познакомились с индуктивными функциями и даже рассмотрели простейшую программу, написанную с помощью применения схемы вычисления индуктивной функции — программу вычисления значения многочлена (см. решение задачи 7.6 "Базисные схемы обработки информации" ). К сожалению, подавляющее большинство функций на пространстве последовательностей индуктивными не являются, что требует дальнейшего развития теории.
Весьма подробное рассмотрение вопросов, связанных с индуктивными функциями, и большое число задач на их применение содержатся в книге [9].
Критерий индуктивности и стационарные значения
Напомним основное определение.
Функция называется индуктивной, если можно вычислить, зная и , т.е. если такое, что .
Доказательство индуктивности функции обычно проводят конструктивно, предъявляя требуемую функцию . Именно она позволяет написать программу, реализующую схему вычисления индуктивной функции. Для доказательства же того факта, что заданная функция не является индуктивной, применяют следующий критерий индуктивности (точнее его отрицание ).
Теорема 9.1. Критерий индуктивности. индуктивна .
Теорема утверждает, что индуктивна тогда и только тогда, когда из равенства значений на последовательностях и следует равенство значений на любых одинаково удлиненных последовательностях и .
Доказательство Необходимость сформулированного в критерии условия немедленно следует из определения индуктивности. Если — индуктивна, то .
Для доказательства достаточности построим требуемое отображение такое, что . Зададим это отображение формулой
Корректность этого определения вытекает из заданного в условии теоремы свойства функции . В самом деле, пусть найдутся две различные цепочки и такие, что . Тогда можно гарантировать, что , что и доказывает корректность определения отображения , ибо действительно не зависит от выбора конкретного прообраза элемента .
Так как для построенного отображения , то теорема полностью доказана.
В качестве примера использования критерия индуктивности докажем, что функция количество максимальных элементов последовательности целых чисел не является индуктивной. Возьмем , , . Тогда , но .
Схема вычисления индуктивной функции, приведенная в "Базисные схемы обработки информации" , может быть несколько упрощена при условии наличия у функции так называемых стационарных значений.
Определение 9.1. Значение индуктивной функции называется стационарным, если .
Так, например, для функции все элементы цепочки равны нулю значение является стационарным.
В том случае, если индуктивная функция определена только на для , ее вычисление может начинаться не с пустой, a с одноэлементной или даже более длинной цепочки. Это, однако, приводит к более сложной программе, чего можно иногда избежать, доопределяя исходную функцию.
Индуктивную функцию произведение элементов числовой последовательности можно доопределить с сохранением функции следующим образом: .
Для того чтобы расширить сферу применимости схемы вычисления индуктивной функции вводится понятие индуктивного расширения.
Индуктивные расширения
Определение 9.2. Функция называется индуктивным расширением функции , если
1) индуктивна,
2) такое, что .
Рассмотрим функцию среднее арифметическое элементов последовательности, которая не является индуктивной. Тогда функция , определенная по формуле , где , , а , является индуктивным расширением исходной функции , и .
Для вычисления значения не являющейся индуктивной функции на цепочке применяется следующая обобщенная схема.
Обобщенная схема вычисления индуктивной функции. Строится индуктивное расширение исходной функции, которое позволяет ценой увеличения запоминаемой информации о цепочке (в информации больше, чем в ) применить схему вычисления индуктивной функции к , а затем просто найти .
Пусть и — два индуктивных расширения функции . Будем говорить, что , если такое, что .
Определение 9.3. Минимальным индуктивным расширением функции называется индуктивное расширение такое, что
1) — сюръективно);
2) для любого индуктивного расширения функции выполнено
.
Минимальные индуктивные расширения хороши тем, что уменьшают количество дополнительной информации, которая должна быть запомнена на каждом шаге для обеспечения возможности перевычисления функции на удлиненной цепочке.
Для любой функции на пространстве последовательностей существует и единственно (в определенном смысле), ее минимальное индуктивное расширение. Доказательство этого факта проведем в два этапа, сначала убедившись в единственности расширения.
Теорема 9.2. Минимальное индуктивное расширение любой функции единственно с точностью до изоморфизма.
Доказательство Пусть для функции существуют два минимальных индуктивных расширения и . Тогда в силу их минимальности имеем и .
Так как (ибо — минимально), то такое, что . С другой стороны, и такое, что . Для доказательства теоремы нужно показать, что отображения и биективны. Рассмотрим композиции этих отображений и и докажем, что они являются тождественными отображениями множеств и соответственно (из этого и следует биективность отображений и ).
Возьмем произвольный элемент . Из сюръективности следует, что найдется цепочка , такая что и поэтому . Полученное равенство показывает, что — тождественное отображение. Рассматривая произвольный элемент , аналогично получаем, что , что и завершает доказательство теоремы.