Научная статья на тему 'Нахождение минимумов двумерных функций при компенсации областей отрицательности плотности вероятностей'

Нахождение минимумов двумерных функций при компенсации областей отрицательности плотности вероятностей Текст научной статьи по специальности «Математика»

CC BY
112
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Нахождение минимумов двумерных функций при компенсации областей отрицательности плотности вероятностей»

Лёзин И.А. , Лёзина И.В.

НАХОЖДЕНИЕ МИНИМУМОВ ДВУМЕРНЫХ ФУНКЦИЙ ПРИ КОМПЕНСАЦИИ ОБЛАСТЕЙ ОТРИЦАТЕЛЬНОСТИ ПЛОТНОСТИ ВЕРОЯТНОСТЕЙ

В статье рассматривается проблема нахождения экстремумов функций двух переменных, являющихся произведением полинома и положительно определенной функции, через вычисление их производных и решение систем двух полиномиальных уравнений произвольной степени с двумя неизвестными. Для решения системы предлагается подход, основанный на нахождении базиса Грёбнера и нахождения корней системы через решение системы уравнений, составленных полиномами из вычисленного базиса. Базис Грёбнера находится с помощью нового предложенного алгоритма, ускоренного относительно классического алгоритма Бухбергера. Для решения полученных полиномиальных уравнений произвольной степени с одним неизвестным предлагается численный метод Дюрана-Кернера.

При нахождении аппроксимирующих выражений для двумерных функций плотности вероятностей в ортогональных базисах Лежандра, Чебышёва, Лагерра и Эрмита, аппроксимирующее выражение представлено в общем виде следующим образом:

N М

У ( - У ) = 22 ( Х)Фу (у ) (1)

п = 0 т=0

где упт - коэффициенты мономов, а Фх (х) Фу ( У ) - некоторые положительно определенные функции.

Для поиска областей отрицательной определенности плотности вероятностей необходимо найти все экстремумы аппроксимирующего выражения, что сводится к решению системы вида:

* М ,(х)

/ \ / у

ё (ту) = 22 уПт) х" ут=0

п= 0 т= 0 N М'

(у),

(2)

к (ху) = 22 тту) хпут = °-

п=0 т=0

Системы полиномиальных уравнений в общем случае решаются построением базиса Грёбнера из базиса, составленного многочленами рассматриваемой системы, и решением системы уравнений, левые части которых являются многочленами, составляющими базис Грёбнера. Одними из самых широко распространенных методов для построения базиса Грёбнера являются алгоритм Бухбергера и алгоритм Фужера Е5. Однако оба способа при относительной простоте выполняемых преобразований обладают очень высокой операционной сложностью, что затрудняет, а зачастую и делает невозможным из-за слишком высоких требований к операционным ресурсам, вычисление базиса для систем вида (2) высокой степени.

Требуется найти алгоритм, позволяющий построить базис Грёбнера с меньшей вычислительной сложностью, чем имеющиеся алгоритмы, а также позволяющий работать с иррациональными коэффициентами. За основу данного метода берутся уже упомянутые алгоритмы Бухбергера и Фужера.

Итак, пусть К - поле вещественных чисел, К [х,у] - кольцо многочленов от двух переменных с коэф-

фициентами из К . Рассмотрим некоторый идеал I над кольцом многочленов, в который входят полиномы из системы (2). Множество является базисом идеала I . Зададим лексикографическое упорядоче-

ние мономов в многочленах:

тРхуРу > т4худу т (Рт > Чт ) ^ (Рт = Чт ) ^ (Ру > Чу )

"У ' Чу)

Используя операции сложения и умножения над многочленами, входящими в базис Н , требуется редуцировать его так, чтобы построить базис Грёбнера идеала I .

Введем понятие S-полинома:

г\ - ЬСМ(У’УЬ ЬСМУ’У) ,

(у,л) ІГ(у) у ІГ(у) У (4)

ьт (У) представляет старший терм многочлена У (т, у ) , а ЬСМ (у, у ) равен наименьшему моному, который делится на старшие мономы многочленов Л (т у) и Ъ (X у) • Операцией редуцирования произвольного

полинома Л (т, у) из К [ т, у] относительно Н является нахождение такого минимального многочлена г (т, у)

, который выражается в виде:

У(ту)^Н г(ту) = у(х,у)-2аі(ту)л(ту) (5)

і

где а (х,у) є К[х,у] и Уі (х,у)є Н .

Базис Н можно назвать базисом Грёбнера, если для любых двух полиномов Л(X у ) и У ( x, у ) из Н выполняется условие:

$ (У, У )^Н о (6)

При заданном лексикографическом упорядочении (3) базис Грёбнера будет составлен парой многочленов, удовлетворяющих условию (6), вида:

М-х Мху

у, ( х, у )=2*П Х)хп+24ту) ут,

п=1 т=0

Му ( )

Уу (т, у ) = 2 к{ту) ут

т=0

Множество решений системы, составленной из полиномов (7), будет соответствовать множеству решений системы (2).

Алгоритм нахождения базиса Грёбнера представлен в виде блок-схемы (Рисунок 1) .

На вход алгоритма редукции подается базис Н идеала I , составленный из множества полиномов системы уравнений (2).

Каждая итерация алгоритма редуцирования базиса начинается с того, что в базисе н ищется полином / (х, у) с минимальным старшим мономом, который может быть редуцирован относительно множества полиномов, состоящего из всех полиномов базиса, кроме выбранного полинома. Дальнейшее выполнение алгоритма разбивается на две ветви.

Рисунок 1 - Блок-схема алгоритма редукции системы уравнений

Если такой полином найден, то он исключается из базиса и находится остаток г (х, у) от редукции

этого полинома. Произвольный полином является редуцируемым относительно некоторого множества полиномов, если в этом множестве существуют многочлены, старшие мономы которых являются делителями старшего монома редуцируемого полинома. Редукция полинома - итеративный процесс. Если перед редукцией

остаток г(х,у) положить равным исходному редуцируемому полиному / (х,у) , то на каждом шаге уменьшения остатка проводится поиск максимального полинома / (х,у) в множестве Н , который может редуцировать остаток г(х,у) , и проводится редукция:

ЬСМ ( г, / )

г (х, у) = г (х, у) - ЬС (г) • ^ (х, у) • ^ ^ (8)

где ЬС (г) - коэффициент перед старшим мономом многочлена г (х,у) .

Редуцирование по формуле (8) следует продолжать до тех пор, пока остаток г(х,у) не станет нереду-цируемым. Когда редуцирование завершено и если остаток г (х, у) не является нулевым полиномом, то он добавляется в базис Н .

Перед добавлением остатка в базис требуется провести корректировку коэффициентов для г(х,у) . В кольце К[х,у] необходимо найти такие многочлены а ■(х,у) , аЛ/(х,у) , а г(х,у) и акг (х,у) , чтобы можно было представить полиномы 8(х,у) и к(х,у) в базисе Н + {г} :

8 (x, у) = 2 ag, ■ (x, у) /< (x, у)+ag, г (x, у)г (x, у),

' (9)

к (x, у) = 2 ак, <■ (у) /1 (у)+ак г (у)г (у )■ I

Если решение системы (9) не находится, это значит, что при вычислениях в значениях коэффициентов остатка накопилась методическая погрешность, вызванная способом представления вещественных чисел в памяти ЭВМ. Так как уже имеющиеся в базисе полиномы имеют правильные значения коэффициентов, в таком

случае необходимо откорректировать коэффициенты остатка г(х, у) в соответствии со значениями погрешности для каждого из коэффициентов в системе (9). Эта задача решается схоже с задачей редуцирования.

Сначала определяются значения коэффициентов для полиномов а / (х,у) и ан у (х,у) . Затем вычисляются разности:

гв (л, у) = ё (л, у) - Е ав, і (лУ) ^ (лУ)= ав, г (лУ)г (лУ)’

гн(лУ) = Ь(лУ)-Еак,і(лУ) А (л,У) = аь,г (лУ)г(л,У)■ ( )

і

Если разности представляют собой нулевые полиномы, то одну или несколько базисных функций /(л, У) нужно выкинуть из суммы и повторить операцию. По оставшимся разностям вычисляются коэффициенты полиномов а (л,У) и акг (л,У) , и корректируются при необходимости коэффициенты г(л,у) . После этого г(л,у)

добавляется в базис Н , и алгоритм редуцирования базиса идет на очередную итерацию.

По второй ветви алгоритм редуцирования базиса развивается, если в базисе Н не найден полином, который может быть редуцирован. В таком случае набор базисных функций должен быть расширен для продолжения редукции. Из всех возможных пар полиномов базиса /(л, у) и / (л, У) , для которых не выполняется условие (6), нужно найти пару с минимальным ьсм (/і, ^ ) .

Если такая пара найдена, то редуцированный остаток Б-полинома этой пары включается в базис Н , предварительно пройдя корректировку коэффициентов, как это было описано ранее.

Если же такой пары многочленов в базисе Н нет, то этот базис полностью редуцирован и является базисом Грёбнера.

Таким образом, алгоритм на выходе вернет базис, составленный из пары многочленов (7). Теперь для решения исходной системы нужно вычислить все корни у. полиномиального уравнения одной переменной

/ (л,у) = 0 вида (11), подставить по очереди эти значения в многочлен /л (л,у) , превращая его в полином

одной переменной, и рассчитать соответствующие корни хг- • уравнения

Мх’Уі)=° ■

Е = 0 (11)

т=0

Сравнительный анализ данного алгоритма с алгоритмом Бухбергера показал, что новый алгоритм на одинаковых примерах завершает свою работу с меньшим числом шагов и требует в несколько раз меньше времени.

Согласно теореме Абеля-Руффини, уравнение вида (11) при степени Муу >4 неразрешимо в радикалах, то есть для такого уравнения невозможно указать закрытую формулу для решений, содержащую только

арифметические операции и корни произвольной степени. Полином произвольного вида степени 5 , применяя преобразования Чирнхауса, можно привести к нормальной форме Бринга-Жерара в терминах разрешимых полиномиальных уравнений, при этом используются полиномиальные преобразования, включающие выражения в корнях не выше четвёртой степени. Эта процедура порождает лишние решения, но если отсечь их численными методами, то получим выражение для корней уравнения пятой степени через квадратные, кубические корни и радикалы Бринга. Однако для многочленов более высоких степеней не существует аналитических способов определения всех корней.

В таком случае следует воспользоваться одним из известных численных методов для решения полиномиальных уравнений общего вида с одной неизвестной, например, методом Дюрана-Кернера.

Для этого необходимо представить полином из уравнения (11) в нормированном виде:

г/ \ Мт ^Муу-1 щ-\ 4 ^

/(у) = у Х'+~77ГУ +- + 7іуГ (12)

к(у) к(у)

кМуу кМуу

Полином вида (12) имеет А/ комплексных корней ут , поэтому может быть представлен как произведение:

Муу

1{У) = ШУ-Ут) (13)

т=1

Для запуска алгоритма необходимо задать начальные комплексные значения корней уравнения, например:

Уш)=( 0-4+ 0.9/)" (14)

Уточнение корней уравнения на очередном шаге к проводится по следующей формуле:

/(А*"1)

пМы,)п М1-")

у(к) _ у(к !)-----------------------------;---------/-----------------

Ут Ут , М ^ 1

I=1 I=т+1

Когда требуемая точность будет достигнута, алгоритм следует остановить и отбросить все комплексные корни, оставив только вещественные значения у( . Эти значения по очереди подставляются в уравне-

/л (л У ) = 0 :

Мл Млу

+ о (16)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Эти уравнения, как правило, являются линейными, поэтому не составляет труда найти соответствующие корни х- . Таким образом, мы получаем набор точек {ху,^} , подозрительных на экстремум. Их дальнейший анализ позволяет определить, в каких точках функция (1) принимает отрицательные значения.

Литература

1. Фихтенгольц Г. М. Курс дифференциального и интегрального исчисления. В 3 т. Т. I / Пред. и прим. А.А. Флоринского. - 8-е изд. - М.: ФИЗМАТЛИТ, 2003.

2. Buchberger B. Grobner Bases: an Algorithmic Method in Polynomial Ideal Theory. In Recent

trends in multidimensional system theory, Reidel, Ed. Bose, 1985.

3. Durand, E. "Equations du type F(x) = 0: Racines d'un polynome". Solutions numeriques des equations algebriques, vol. 1. 1960.

4. Faugere, J.-C. (July 2002). "A new efficient algorithm for computing Grobner bases without reduction to zero (F5)". Proceedings of the 2002 international symposium on Symbolic and algebraic computation (ISSAC) (ACM Press).

i Надоели баннеры? Вы всегда можете отключить рекламу.