2.2.4. Программная адаптация вычислительной системы
Программная адаптация связана с манипулированием отдельными программами и выбором той, которая работает наилучшим образом в смысле заданного критерия. Алгоритмически программная адаптация реализуется в виде альтернативного варианта структурной адаптации. Формализуем эту задачу.
Пусть имеются альтернативные программы
решающие определенный класс задач (2.2.2) в ВС. Как и выше, определен критерий эффективности решения конкретной задачи с помощью программы:
Это означает, что, решив задачу, всегда можно оценить критерий апостериорно; априорных соображений обычно не имеется.
Задача состоит в том, чтобы для имеющегося потока задач Р выбрать программу, минимизирующую интегральный критерий
т. е. решить задачу
используя только наблюдения значений критерия (2.2.6).
Эту задачу следует решать методами альтернативной адаптации, т. е. так переходить от одной программы (2.2.5) к другой, чтобы процесс привел к программе оптимальной по выбранному критерию (2.2.7) в сложившейся ситуации.
Рассмотрим в качестве примеров две конкретные задачи программной адаптации.
2.2.4.1. Адаптивный выбор программы сортировки массивов
Задача сортировки поступающего массива, т. е. упорядочения его элементов, является одной из наиболее распространенных задач в ВС. Существует несколько методов сортировки, реализованных в виде программ (2.2.5), которыми располагает ВС. Критерием эффективности (2.2.6) сортировки массива Р, с помощью алгоритма является, например, время сортировки. Если поток поступающих на сортировку массивов имеет некоторую статистическую устойчивость в виде плотности распределения и для этого распределения имеется наилучший метод А сортировки, то естественно найти такой метод, используя альтернативную адаптацию.
Более того, если плотность распределения массивов изменилась, что повлекло за собой изменение оптимальной программы А, то необходимо в процессе адаптации найти новую программу и перейти к ней. Решение этой задачи рассмотрено в пятой главе (§ 5.5).
2.2.4.2. Адаптация способов кодирования информации в канале передачи данных вычислительной системы
Известно, что выбор оптимального метода (программы) кодирования по заданному критерию зависит от статистических свойств состояния канала. Пусть Р — это состояние. Располагая информацией о т. е. о статистических свойствах состояния канала связи, можно по заданному критерию (например, среднее время передачи одного бита информации, вероятность ошибки и т. д.) выбрать код А, наилучший из альтернативных . Так и поступают в теории оптимального кодирования.
Однако свойства реального канала связи изменяются во времени непредвиденным образом и в широких пределах. Поэтому необходимо эксплуатировать в канале ту программу кодирования, которая экстремизирует выбранный критерий эффективности для имеющегося состояния Р канала, и переходить к другой, оптимальной при изменении состояния канала связи. Эта задача решается методами альтернативной адаптации и рассмотрена в пятой главе (§ 5.4).
Рассмотрим теперь системный уровень адаптации в ВС.