ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ
УДК 518.5 Г.С.ТЕСЛЕР
ОБОБЩЕННЫЕ АДАПТИВНЫЕ АППРОКСИМАЦИИ ФУНКЦИЙ
Важность аппроксимаций при решении научных и прикладных задач связана с необходимостью замены сложных объектов исследования на более простые. Поэтому отнюдь не кажутся странными слова Нобелевского лауреата Б.Рассела: "Хотя это может показаться парадоксальным, вся наука подчинена идее аппроксимации" [1]. Появление ЭВМ потребовало большого разнообразия различных методов аппроксимации функций, способных адаптироваться к внутренним и внешним условиям применения (используемых вычислительных средств, решаемых задач, оптимизации погрешности счета, а также учет различных критериев сложности). Потребность в использовании новых эффективных алгоритмов постоянно возрастает. Это связано с тем, что "...эффект, достигаемый за счет совершенствования численных методов, по порядку сравним с эффектом, достигаемым за счет повышения производительности ЭВМ" [2]. Этого эффекта можно добиться за счет совершенствования наиболее массовых алгоритмов. В частности, для класса научнотехнических задач к таким массовым алгоритмам относятся алгоритмы вычисления математических функций.
Используемый в настоящее время алгоритмический базис в основном образован множеством конкурирующих алгоритмов. В связи с этим алгоритмический базис обладает сравнительно малой мощностью. Для увеличения его мощности необходимо более широко использовать аппарат порождения, адаптации и различных видов обобщения [3].
Для ускорения вычислений в этом базисе используются следующие средства: уменьшение исходного интервала изменения аргумента, распараллеливание вычислений и обеспечение соответствия алгоритма используемым вычислительным средствам. В настоящей работе рассматривается широкий спектр методов, имеющих общую направленность: уменьшение исходного интервала изменения аргумента, включение различных механизмов адаптации и порождения, а также, в ряде случаев, - механизмы распараллеливания вычислений. При этом используется и обобщается широкий спектр базовых методов аппроксимации функций: разложение функций в ряд Тейлора-Маклорена [4], двухточечная формула Тейлора [5], разложение по ортогональным многочленам [9], минимаксные аппроксимации [10], сегментные (сплайн) аппроксимации [11], методы экономизации (Ланцоша [12], Мелли [13], Дзядыка [14]), итерационные методы [15], методы "цифра за цифрой" [16], методы табулирования функций [17], таблично - алгоритмические методы [18], методы интерполирования [19], экономичные методы аппроксимации [20-24], методы рекуррентных соотношений [2123], методы вычисления обратных функций [21-23] и др.
Основная направленность разрабатываемых автором методов и алгоритмов состоит в получении адаптивных по времени, данным и точности аппроксимаций в виде обобщенных и специальных методов, а также алгоритмов вычисления математических функций. Адаптивность к внутренним и внешним условиям применения позволяет распараллеливание и мультиконверизацию вычислений, использование предыдущих вычислений, работу с инкрементной ("укороченной") информацией, порождать специализированные алгоритмы, обладающие конкретными свойствами; уменьшать погрешность метода; контролировать точность вычислений; уменьшать исходный интервал изменения аргумента; уменьшать время вычислений за счет использования асинхронности вычислений; оптимизировать начальные (завершающие) приближения и используемую итерационную формулу (ИФ) либо рекуррентное соотношение; обеспечивать счет с произвольной разрядностью; согласовывать алгоритм со структурой используемых вычислительных средств и т.д.
Это достигается путем использования статической и динамической адаптации к условиям применения, введения новых норм погрешности, использования невязки уравнения, использования обобщенных функциональных уравнений и получения обобщенных эффективных методов.
Обобщение полученных автором методов основывается на получении общих адаптивных аппроксимаций, включающих исходные базовые методы как частные случаи; обобщенных методов для различных применений (прямые вычисления, итерационные формулы произвольного порядка сходимости, табулирование и интерполирование функций, таблично - алгоритмические методы, методы сегментной аппроксимации, методы динамических вычислений), использование обобщенных функциональных уравнений; введение дополнительных параметров в функциональные уравнения, которые обеспечивают ускорение сходимости и устойчивости счета.
Основу большинства таких обобщенных методов составляют разложение функций по невязкам [21-23] и обобщенные рекуррентные соотношения для счета с переменной точностью [21-23].
© Г.С.Теслер, 1998
ISSN 1028-9763. Математические машины и системы, 1998, №2
I. Адаптивные аппроксимации, основанные на разложении функций по невязкам
Разложение функций по невязкам идейно близко к получению базовых последовательностей итерационных функций (ИФ), изложенных в работе [15]. Так, одноточечная ИФ может быть записана в виде xi+1 = ф(х^. Следуя [15], базовая последовательность итерационных функций (БПИФ) - бесконечная последовательность ИФ {ф p}p=1, р-й член которой имеет порядок р. При разложении в ряд невязок под БПИФ будем
понимать одноциклическую бесконечную либо конечную последовательность {ф р^0)}р=1П , где
^ = *,(ХУ0) - невязка уравнения Р(х,у)=0; У0 - начальное приближение; X Е М] - аргумент искомой функции.
В тех случаях, когда существует ИФ для искомой функции, то разложение по невязкам эквивалентно БПИФ, если сделать соответствующие замены ^0 = Zi, у=Уi+1, У0 = Уi). Но и тогда, когда процесс
итерирования невозможен либо нерационален, то разложение искомой функции по невязкам при соответствующих условиях пригодно для прямого вычисления данной функции. При этом невязка и начальное приближение выступают в виде адаптивных элементов. Понятие невязки в численных методах используется достаточно широко. В общем случае под невязкой приближенного решения понимается характеристика качества приближенного решения х уравнения Р(х)=0, которая определяется величиной Р(х) или некоторым функционалом Р( Р,х).
Введение в рассмотрение невязки позволило естественным образом получить обобщение известных базовых методов аппроксимации функций. Ввиду того, что для одной и той же функции невязка может быть получена различными способами, это позволяет получить различные адаптивные аппроксимации, включая ИФ произвольных порядков сходимости с различными константами асимптотики погрешности.
Еще одним важным свойством разложения функций по невязкам является возможность естественным образом распараллеливать итеративный процесс как во времени, так и в пространстве. Помимо этого введение невязки в процесс аппроксимации позволило получить [21-23] формулы для табулирования функций, организацию статического и динамического режимов счета, оптимизировать системы "начальное приближение + ИФ", "начальное приближение + разложение функции по невязкам", адаптивные сегментные аппроксимации и т.д.
Важной особенностью невязки является и ее использование для получения новых норм погрешности и создания специальных метрик при вычислении функций [21-23].
Благодаря перечисленным выше свойствам, рассмотрение невязок уравнения неявной функции и получение разложений функций по ним позволило получить адаптивные аппроксимации для трех уровней адаптации алгоритмов [3]: соответствовать конкретному применению, использовать адаптивный элемент внутри алгоритма и возможность порождения широкого спектра алгоритмов, обладающих различными свойствами приспособления к условиям применения. Последний уровень адаптации позволяет по-новому взглянуть на развитие баз знаний, т.е. создание базы знаний конкретной предметной области, основанной на порождающих и конкурирующих алгоритмах [25].
Еще одно обобщение, связанное с разложением функций по невязкам, состоит в том, что разложения функций действительной скалярной переменной по невязкам при соответствующих условиях могут сохранять свой вид для матричных и комплексных значений аргумента.
Перечисленные выше свойства разложения функций по невязкам позволяют выступать им в качестве сильнодействующего фактора интенсификации процесса вычислений.
Важнейшим источником получения разложений функций по невязкам и БПИФ являются методы решения уравнения
z=F(x,y)=0, (1)
которому удовлетворяет функция у=1(х). Это следует из того, что функция № ——Y задана уравнением F(x,y) = Zo , где F:X—— Z , XЕX , У еУ , E ^ X . Если Х,У,7 - некоторые множества топологического пространства и для некоторой точки (х0,у0) Е X Г У выполняется условие F(Xo,Уo) = Zo, то при выполнении условий теоремы о существовании, непрерывности и дифференцируемости неявной функции в некоторой окрестности точки (Х0,У0) уравнение
F (х,у) = Zo однозначно разрешимо относительно одной из переменных. Если полученная функция
бесконечно дифференцируема, что свойственно большинству элементарных и некоторым специальным функциям, то имеется возможность получить широкий спектр БПИФ. В общем случае такие БПИФ, использующие разложение функции по невязкам, основываются на последовательностях коэффициентов
{ак },{Ь[} с использованием базиса {§к } и могут быть представлены одним из следующих видов:
Дх) = у (У0)® ^к^к^
либо
Дх) = ^(У0) ® Ф(bk,gk(zo)),
где Ф(ak,gk(Zo)) может принимать один из следующих видов:
П
Ф(ak,gk(zo)) = Е^ •gk(zo),
k=0
П У<»
Е ak
=Й---------------,
Е bk •gk(zo)
k=0
П У<»
= Z gk(zo)/ak- (цепная др°бьХ
k=0 П У^
= П gk(zo)/ak,
k=0
где у=1(х); ® - знак операции сложения/вычитания либо умножения;
У - знак "исключающего ИЛИ";
- невязка уравнения Р(х,у) = 0; У0 - начальное приближение функции у=1(х);
gk(z0) = zo У Tk(zo/ в) У Uk(zo/в) V Н^/ в) V Lk(zo/РК- ,
Tk, Uk - многочлены Чебышева; Hk - многочлены Эрмита; Lk - многочлены Лагерра; Zo /Р = И , где
Zo Е [-Р,РМ0,Р]; иЕ [- 1,1]у[0,1], XЕ^Ь];
Ъ - знак цепной дроби.
Существуют различные подходы получения разложений функций по невязкам [23]:
1. Разрешение уравнения Zo = F(x,Уo) относительно х, где У0 - начальное приближение функции у=1(х) на заданном интервале, и получение функционального соотношения в виде суперпозиции функций ф (У0) и g ^0) . Затем g (Zo) аппроксимируется одним из базовых методов.
2. Разрешение уравнения (1) относительно у. Произведя замены у на У0 и т на Zo , можем получить,
аналогично первому подходу, функциональные соотношения (но вид невязки, в основном, отличен от первого подхода).
3. Использование обобщенных функциональных уравнений относительно аргументов Х0 , Zo .
4. Получение разложений обратных функций на основе обращения ряда невязок разложения прямой функции.
5. Получение разложений по невязкам на основе прямых методов аппроксимации искомой функции.
6. Получение нелинейных разложений по невязкам на основе функциональных преобразований.
7. Получение разложений функций по невязкам на основе методов экономизации Ланцоша, Мелли, аппроксимационного метода Дзядыка и др. для уменьшения констант асимптотики погрешности.
Адаптивные аппроксимации, основанные на разложении функций по невязкам, могут быть использованы для широкого спектра приложений и видов СВТ, обеспечивая интенсификацию процесса вычислений и ресурсосбережение. Наиболее простое получение разложений функций по невязкам дают подходы 1, 3, а наиболее сложное - 2, 5.
Рассмотрим более подробно важный для практики подход 3.
В работе [23] сформулированы три утверждения относительно обобщенных функциональных уравнений, которые позволяют осуществлять разложение функций по невязкам. На основе этих обобщенных функциональных уравнений получены эффективные специализированные адаптивные методы для вычисления степенных, тригонометрических, логарифмических, экспоненциальных и некоторых
интегральных специальных функций [21-23].
Пусть функция у=1(х) задана в неявном виде:
F (х,у) = 0 . (2) Рассмотрим
невязку уравнения (2) :
го = Р(х,Уо)
(3) где
у0 - приближение функции на заданном интервале [а,Ь] и 20 = 0 ■ Величина погрешности невязки
У^Уо
может быть оценена путем подстановки в выражение (2) величины Уо = у(1+5 о) либо Уо = у+А о, где 5 о, А о - соответственно относительная и абсолютная погрешности величины у о ■
В качестве примера обобщенного функционального уравнения приведем уравнение для функции
Методы разложения функции по невязкам путем простых преобразований могут быть использованы для непосредственного счета, получения БПИФ, табулирования и интерполирования функций для сегментной аппроксимации и т.д.
Пример: у=ха, х е[а,Ь].
Для прямого счета:
Для вычисления обратных функций достаточно обратить БПИФ на основе обращения степенных рядов.
аппроксимации. Таким образом, видно, что на основе обобщенной аппроксимации можно получать
аппроксимации различных видов и применений, чем исходные базовые методы не обладают. При уо, равным
обычно нулю либо 1, получают исходные базовые методы. Аналогично вышеизложенному можно получить базовые последовательности рекуррентных формул (БПРФ), используемые для счета с переменной либо произвольной разрядностью [21-23].
На основе предложенных подходов разложения функций по невязкам в работах [21-23] рассмотрены следующие обобщенные адаптивные методы и средства: обобщенные функциональные преобразования для получения специализированных эффективных методов, прямые методы, итерационные методы, методы
Уравнение имеет вид:
/ 1 / а 1 1/а / а
где 2о = х/ уо — 1 либо 7о =1-уо /X , уо - начальное приближение к функции у = X ,
го е[а,Ь], |р-а|<|Ь—а.
Положив у=у;+1, уо = у; и го = , получим БПИФ.
Относительная погрешность приближения за счет усечения до т членов будет:
либо
На основе полученного обобщенного функционального уравнения при а = —1 можно записать:
к=0
к=1
где ио = го/ Р, |Р|=тах|2о| ■ 2о є [-Р>Р] ■ и0 3-1,1], 2о =1-Уох
хє[а,Ь ]
Для а=1/п можно записать обобщенную цепную дробь:
Для табулирования и интерполирования функции в БПИФ записываем = Х;/х;+1 —1 либо
+1 = Х;+1/х; —1. Аналогично этому можно получать специализированные формулы для сегментной
табулирования и интерполирования, таблично-алгоритмические методы, методы сегментной аппроксимации, методы, основанные на разложении в ряд Тейлора-Маклорена (одноточечная и многоточечная формулы), разложения по многочленам Чебышева, обобщенный метод Паде, приближение обобщенными цепными дробями, экономизация разложений в ряд невязок методом Ланцоша, Мелли, Дзядыка и другие.
II. Адаптивные по точности аппроксимации функций
Важность адаптивной по точности аппроксимации функций основана на том, что, наряду с тенденцией увеличения производительности вычислительных средств, существует тенденция увеличения разрядности обрабатываемых данных. Это прежде всего связано с компенсацией накопления погрешности округления и обеспечения устойчивости счета. Помимо этого необходимость оперировать сверхбольшими числами возникает при решении задач астрофизики и других новейших научно-технических задач. Однако имеется ряд особенностей алгоритмов, которые предназначены для вычислений математических функций с произвольной разрядностью. Перечислим основные требования к таким алгоритмам:
- используемые алгоритмы должны обеспечивать рекуррентную запись;
- используемые в алгоритмах константы должны быть достаточно простыми и точными либо легко вычисляемыми;
- используемые алгоритмы должны обладать устойчивостью счета и малым (контролируемым) накоплением погрешности;
- обладать малой арифметической сложностью;
- иметь адаптивные элементы для варьирования начальными (завершающими) преобразованиями.
Для получения необходимых рекуррентных соотношений либо базовых последовательностей
рекуррентных формул (БПРФ) используется метод гт -аппроксимаций [21]. При этом под базовой
последовательностью рекуррентных формул понимается последовательность рекуррентных формул, из которых можно получить соответствующую рекуррентную формулу для использования.
В основу такого типа рекуррентных соотношений для вычисления прямых функций может быть положено функциональное уравнение:
2(пхт) = Д^тУ ,
где хт = х/пт .
Так, для функций у=Б1п(х) имеем следующее функциональное уравнение:
БШ(2п —1)х=(—1)п Т2п+1(БШх) , где Т2п +1 - многочлен Чебышева.
На основе этого функционального уравнения можно записать:
г,,—,=Х(—1)1с2к Х“+1(1—/т)"—2к,
к=о
где гт = Бт(х/(2п +1)т), т = то, то —1,о.
Откуда получаем: 7о = БШх.
Рекуррентное соотношение позволяет многократно уменьшать интервал изменения аргумента. Для вычисления по рекуррентным формулам необходимо задаваться начальным (завершающим) приближением
гто в виде отрезка легко вычисляемого степенного ряда, цепной дроби и т.д. Аналогично рассматривается
функциональное уравнение для обратных рекуррентных соотношений [21].
Модель погрешности такого типа рекуррентных формул имеет вид:
А«Сп(х/пт)1 «х/пт1+1,
где С1 - константа, зависящая от параметра 1;
п - число, определяющее величину уменьшения интервала (в некоторых случаях основание степени системы счисления);
т - количество итераций используемой рекуррентной формулы;
1 - порядок обрабатываемого члена отрезка начального (завершающего) приближения.
Увеличение параметра т приводит к увеличению числа итераций по рекуррентной формуле, а увеличение параметра 1 приводит к увеличению сложности начального приближения. В общем случае
ищется компромисс. На практике близко к оптимальному решение, когда т ~ 1.
В работах [21-23] приведены различные функциональные уравнения для ряда математических функций и доказаны соответствующие теоремы. Подобные подходы рассматриваются также при создании экономичных адаптивных методов "цифра за цифрой" [24].
Дальнейшее развитие представленных в настоящей работе подходов к получению адаптивных аппроксимаций функций связано с распространением их на комплексную область изменения аргумента и использованием в качестве аргумента матриц, а также получением функциональных уравнений на основе интегральных и дифференциальных уравнений.
Практическое использование адаптивных аппроксимаций функций приводит, с одной стороны, к получению эффективных специализированных методов вычисления функций на ЭВМ, а, с другой стороны, получению обобщенных аппроксимаций, обладающих свойством порождения целого класса алгоритмов с заданными свойствами. Последнее обстоятельство чрезвычайно важно при построении баз знаний конкретной предметной области [25].
Выводы
Таким образом, в работе показано, как на основе теории аппроксимации функций и различных механизмов адаптации к внутренним и внешним условиям применения получены обобщенные адаптивные аппроксимации функций. Это позволяет получать алгоритмы, которые обеспечивают адаптацию к данным, точности и времени счета, благодаря чему имеется возможность интенсифицировать процесс вычислений и осуществлять порождение необходимых эффективных методов для конкретного применения.
С П И С О К Л И Т Е Р А Т У Р Ы
1. Корнейчук Н.П., Лигун А.А., Доронин В.В. Аппроксимация с ограничениями. - Киев:Наук.думка, 1982. -252 с.
2. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы.-М.: Наука, 1987. - 600с.
3.Теслер Г.С. Место и роль алгоритмического базиса в решении проблемы производительности // Математические машины и системы. -1997.-№ 1.-С.25-33.
4. Математический анализ. Функции, пределы, ряды, цепные дроби/Авт. В.Л.Данилов, А.Н.Иванова, Е.К.Исакова и др.- М.:ГИФМЛ, 1961. - 440 с.
5. Литвин О.М., Рвачов В.Л. Класична формула Тейлора, узагальнення та застосування.-Кшв: Наук.думка, 1973.-122с.
6. Бейкер Дж., Грейвс - Моррис П. Аппроксимации Паде: Пер. с англ. - М.: Мир, 1986. - 502 с.
7. Джоунс У, Трон В. Непрерывные дроби. Аналитическая теория и приложения: Пер. с англ. - М.:Мир, 1985. -414 с.
8. Градштейн И.С., Рыжик И.М. Таблицы интегралов, сумм, рядов и произведений. -М.: ГИФМЛ, 1963. - 1100 с.
9. Пашковский С. Вычислительные применения многочленов и рядов Чебышева: Пер. с польского. -М.:Наука, 1983. -384 с.
10. Ремез Е.Я. Основы численных методов чебышевского приближения. -Киев: Наук.думка, 1969.-623с.
11. Корнейчук Н.П. Сплайны в теории приближений -М.:Наука, 1984.-352с.
12. Ланцош К.Практические методы прикладного анализа: Пер. с англ. -М.: ГИФМЛ, 1961. -524 с.
13. Fike C.T. Computer evalution of mathematical function.- New Jersey: Prentice - Hall, 1968. -228 p.
14. Дзядык В.К. Аппроксимационные методы решения дифференциальных и интегральных уравнений. -Киев: Наук.думка, 1988.-304 с.
15. Трауб Дж. Итерационные методы решения уравнений: Пер. с англ. -М.: Мир, 1985. - 264 с.
16. Байков В.Д., Смолов В.Б. Специализированные процессоры: итерационные алгоритмы и структуры.-М.: Радио и связь,1985. -288 с.
17. Иванов В.В. Методы вычислений на ЭВМ: Справочное пособие. - Киев: Наук. думка, 1986. - 584 с.
18. Функционально-ориентированные процессоры / Авт. А.И.Водяхо, В.Б.Смолов, В.У.Плюснин, Д.В.Пузанков. -Л.:Машиностроение, 1988. -224 с.
19. Гончаров В.Л. Теория интерполирования и приближения функций.-М.: Гостехиздат,1954.-316 с.
20. Попов Б. А. Равномерное приближение сплайнами. -Киев: Наук. думка, 1989. -272 с.
21. Благовещенский Ю.В., Теслер Г.С. Вычисление элементарных функций на ЭВМ. - Киев: Техшка, 1977. - 208 с.
22. Попов Б.А., Теслер Г.С. Приближение функций для технических приложений. - Киев: Наукова думка, 1980.
- 352 с.
23. Попов Б.А., Теслер Г.С. Вычисление функций на ЭВМ. Справочник. - Киев: Наукова думка, 1984. - 600 с.
24. Теслер Г.С. Организация параллельных вычислений элементарных функций с использованием экономичных алгоритмов// Тезисы докладов Всесоюзной школы-семинара "Распараллеливание обработки информации". - Львов: -1985. -кн.1. С.95-97.
25. Теслер Г.С. Построение базы знаний на основе порождающих алгоритмов // Разработка и внедрение цифровых вычислительных комплексов и систем распределенной обработки данных. Сб. научн. трудов. -Киев: Ин-т кибернетики АН УССР, 1986. - С. 21-27.
8
№2