О.В. Казарин, В.Ю. Скиба
6
Кроме того, имеют место следующие тождества для гиперболи-
ческих функций, которые могут использоваться при создании само-
тестирующихся/самокорректирующихся программных пар:
2 2 ( ) ( );
sh
sh сh
2
2
(2 )
( )
( );
ch
ch
sh
(0) 1.
ch
Исходя из основного тождества гиперболической геометрии:
2
2
( )
( ) 1
ch
sh
можно получить аналогичные вышеприведенным
самотестирующиеся/самокорректирующиеся программы для вычис-
ления гиперболических синуса, косинуса, тангенса и котангенса.
Вычисления над матрицами.
Автором одной из первых работ
в области вероятностных алгоритмов, написанной еще в 1979 г., ко-
торая стала основополагающей в области методологии самотестиро-
вания, был Р. Фрейвалдс. Он предложил простой и элегантный чекер
для задачи умножения матриц [11]. Используя чекер Фрейвалдса,
можно достаточно просто построить самотестирующуюся/самокор-
ректирующуюся программную пару для умножения матриц [9]. Ана-
логичным образом строятся самотестирующиеся/самокорректирую-
щиеся программные пары для других операций над матрицами:
определения детерминанта, инверсии и транспонирования матриц,
определения ранга матрицы [3].
Аппроксимирующие функции.
Пусть для данной функции
f
и
границы ошибки
, входа
x
программа
P
(
x
), вычисляющая функцию
f
, приблизительно корректна, если
P
(
x
) —
f
(
x
)
. Будем также счи-
тать, что
Р
(
,
) аппроксимирует функцию
f
на области
D
, если
P — f
на более чем 1 –
элементах области
D
. Исходя из работ
[12, 13] можно показать, как выполнить аппроксимирующие провер-
ку, самотестирование и самокоррекцию полиномов и функциональ-
ных уравнений.
Кроме того, в ряде работ показано, как строить аппроксимирую-
щие чекеры для ряда модулярных и логарифмических функций,
а также для умножения и инверсии матриц, решения систем линей-
ных уравнений и определения детерминантов. Также исследованы
задачи аппроксимирующего самотестирования операций деления с
плавающей точкой, одномерных полиномов степени до 9 включи-
тельно и многомерных полиномов, а также для тригонометрических
и гиперболических функций [3].
Другие самотестирующиеся/самокорректирующиеся прими-
тивы.
В работе [3] приведен большой набор чекеров самотестирую-
щихся/самокорректирующихся программ для: