Информационно-образовательный портал СОДРУЖЕСТВА НЕЗАВИСИМЫХ ГОСУДАРСТВ
ИНФОРМАТИЗАЦИЯ ОБРАЗОВАНИЯ
И ДИСТАНЦИОННОЕ ОБУЧЕНИЕ В СНГ
Информационно-образовательный портал СОДРУЖЕСТВА НЕЗАВИСИМЫХ ГОСУДАРСТВ  

Страны
Азербайджанская Республика
Республика Армения
Республика Беларусь
Республика Казахстан
Кыргызская Республика
Республика Молдова
Российская Федерация
Республика Таджикистан
Туркменистан
Республика Узбекистан
Украина

Типы материала
Информационно-коммуникационные технологии
Дополнительные информационные материалы
Нормативно-правовое обеспечение
Организация и методики обучения
Экономика образования
Межгосударственное сотрудничество
Образовательные центры
Методики обучения
Межвузовское сотрудничество
Повышение квалификации
Международные проекты и гранты, конкурсы
Конференции, симпозиумы, семинары и др.
Библиотека
 
Журнал «Вестник РУДН» серия «Информатизация образования»
 
2014, №4
2014, №3
2014, №2
2014, №1
2013, №4
2013, №3
2013, №2
2013, №1
2012, №4
2012, №3
2012, №2
2012, №1
2011, №4
2011, №3
2011, №2
2011, №1
2010, №4
2010, №3
2010, №2
2010, №1
2009, №4
2009, №3
2009, №2
2009, №1
2008, №4
2008, №3
2008, №2
2008, №1
2007, №4
2007, №3
2007, №2-3
2007, №1
2006, №1(3)
2005, №1(2)
2004, №1
Научные и специальные электронные ресурсы
Учебная, научная и специальная литература
Комиссия по дистанционному обучению совета по сотрудничеству в области образования государств-участников СНГ
Новости

О некоторых особых случаях использования численных методов в решении математических задач применительно к реализации обучающих программных продуктов по математике


Аннотация
Рассмотрены особые случаи использования численных методов в разработке обучающих программных продуктов: модификация или компиляция известных методов, привлечение статистических методов в качестве альтернативы аналитическим формулам, дискретизация значений функции; приведены примеры использования, описаны алгоритмы и математические модели.

Текст документа

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

Программная реализация подобных моделей позволяет не только решать математические задачи учебного назначения, но и автоматизировать процесс исследования решений, динамически визуализировать объекты, а также прогнозировать их поведение. Это позволяет пользователю (обучающемуся) приобрести некоторые базовые навыки работы с объектами изучения: вычисление значений, построение графиков, определение характеристик, исследование влияния параметров и т.п. Реализация автоматического решения задач по конкретной теме предоставляет также возможность организации модулей самопроверки и тестиро­вания путем генерации задач со случайными значениями параметров из предусмотренного множества их значений и последующей автоматической проверкой ответов [1].

Очевидно, что подобные разработки требуют привлечения математического аппарата, несколько более сложного, чем тот, который используется в рамках изучаемой дисциплины при решении задач вручную. Опыт разработки обучающих программных продуктов поддержки учебного процесса по дисциплинам «Математический анализ» и «Высшая математика» позволяет выделить в программной реализации отдельных приложений некоторые особые случаи использования чис­ленных методов, которые описаны ниже.

Модификация или компиляция известных методов. Теоретически извест­ный численный метод решения задачи часто требует адаптации к предметной области. Такая адаптация может повлечь за собой как обобщение метода, так и его функциональное ограничение. Возможны случаи объединения нескольких методов, т.е. компиляция.

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

Таким образом, можно предположить следующий алгоритм нахождения нулей функции на заданном отрезке:

1)  задается функция f (x), концы отрезка а и b, точность вычислений e и шаг дискретизации h для значений аргумента x;

2)  вычисляются значения функции f (x) в каждом узле одномерной сетки, покрывающей отрезок [a, b];

3)  при смене знака функции (при выполнении условия  используются текущее x и предыдущее (xh) значения аргумента как исходные данные для применения классического численного метода нахождения нуля на промежутке (xh, x) с заданной точностью e. Отметим, что одним из универсальных в этом случае является метод половинного деления промежутка (метод бисекции) как обладающий свойством глобальной сходимости;

4)  в случае близости значения функции f (x) к нулю с заданной точностью (при выполнении условия ) запомнить позицию;

5)  если для следующих n вычисленных значений функции f (x + h), f (x + 2h), ... , выполняется то же условие  то считать функ­цию f (x) близкой к нулю на данном промежутке  в случае невыполнения этого условия считать первую точку x нулем функции.

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

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

Привлечение статистических методов в качестве альтернативы анали­тическим формулам. Анализ некоторых характеристик объекта предполагает исследование этого объекта в целом, при любых значениях его параметров. Автоматизация подобного анализа невозможна, если исходить из неопределенности понятий «бесконечность» и «любой» относительно программной реализации про­верки некоторых определений или свойств. Однако установить различие или отсутствие определенного свойства объекта возможно вероятностным обобщением характеристик объекта, полученных для некоторой случайной выборки значений его параметров. Разумеется, такой подход не является математически строгим, но вполне оправдывает себя при автоматизации решений некоторых учебных задач.

Примером реализации этого подхода может быть определение аналитических характеристик функции в исследовании ее свойств. Так, четность (или нечетность) функции предполагает выполнение условия f (x) = f (–x) (или f (x) = –f (x)) для всех точек множества задания функции, симметричного относительно нуля. При достаточно большом объеме выборки случайных значений аргумента вероятность того, что условие четности (или нечетности) выполнится также для любых других точек, близка к единице. Аналогично можно установить свойство однородности функции нескольких переменных , проверив выполнение этого условия для двумерной выборки, сформированной случайным образом из точек заданной области.

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

В рамках программной реализации учебных задач, связанных с вычислением кратных интегралов, эффективным оказалось использование метода Монте-Кар­ло. Применение этого метода для вычисления определенного интеграла приведено в работе [2].

Рассматривается функция g(x), непрерывная на промежутке [a, b]. Требуется приближенно вычислить значение определенного интеграла:

                                                                                                           (1)

Вводится непрерывная случайная величина ?, определенная на промежутке [a, b] плотностью распределения p(x), причем функция p(x) может быть выбрана произвольно с обычными для плотности распределения условиями:  при  и . Если ввести еще одну непрерывную случайную величину , то ее математическое ожидание совпадает со значением искомого интеграла (1):

                                                                                       (2)

Далее рассматриваются N одинаковых случайных величин , которые являются реализациями случайной величины  в N независимых испытаниях и имеют такие же математическое ожидание и дисперсию, как и случайная вели­чина . Если число N достаточно велико, то, согласно центральной предельной теореме, распределение суммы  является близким к нормальному с параметрами , . В соответствии с правилом «трех сигм» для нормального распределения имеем

                                                                         (3)

Это соотношение означает, что при достаточно большом значении N верно приближенное равенство:

                                                                                                           (4)

где

Соотношение (3) показывает также, что с вероятностью  ошибка приближения (4) не превосходит , т.е. обратно пропорциональна . Для расчета можно использовать любую случайную величину ?, определенную на про­межутке [a, b], однако дисперсия , а с ней и оценка погрешности метода зависят от того, какая случайная величина ? будет использована.

Исходя из того, что задача является учебной и реализуется программно, целесообразно ограничиться для всех случаев одной и той же равномерно распределенной псевдослучайной величиной ?, которую можно получить в любой современной среде программирования без привлечения дополнительных алгоритмов генерации псевдослучайных чисел. Такой подход существенно упрощает программную реализацию вычислений.

Для равномерного распределения  формула (4) имеет вид:

                                                                                      (5)

Видоизменим формулу (5), разделив обе части приближенного равенства на

                                                                                   (6)

Здесь левая часть содержит формулу для вычисления среднего значения подынтегральной функции g(x), непрерывной на отрезке [a, b], а правая часть эмпирически определяет среднее значение той же функции. Следовательно, можно утверждать, что значение определенного интеграла от функции g(x) по отрезку [a, b] приближенно равно среднему эмпирическому значению функции g(x) на отрезке [a, b], умноженному на длину этого отрезка .

                                                                                     (7)

Расширим это утверждение для кратных интегралов: значение кратного интеграла от функции g(M) по области D приближенно равно среднему эмпирическому значению функции g(M) в области D, умноженному на меру этой области (D — конечная область в пространстве ; M — точка в области D). Для двойных и тройных интегралов получим формулы:

                                                                       (8)

                                                           (9)

Если область D задается в декартовы?? координатах системой неравенств, то мера этой области вычисляется так:

                                                                                      (10)

                                                                      (11)

Для вычисления интегралов (10) и (11) также может использоваться метод Монте-Карло.

Алгоритм генерации псевдослучайных точек , равномерно распределенных в области D, легко реализуется стандартной функцией Random при условии, что известны наибольшие и наименьшие значения независимых переменных: , , :

1)  получить случайную точку  на отрезке [a, b];

2)  получить случайную точку  на отрезке [c, d];

3)  получить случайную точку  на отрезке [e, f];

4)  если  вычислить в ней значение функции

5)  подсчитать количество точек  попавших в область D и положить в формулах (8) и (9)

Приближенные наибольшее и наименьшее значения y и z могут быть получены перебором значений функций, ограничивающих область D, с заданным шагом h.

Серия вычислительных экспериментов на примерах из сборника задач по кур­су математического анализа [3] показала, что относительная погрешность  не превышает 1% при , вне зависимости от вида функции g(M) и области интегрирования D. Эмпирически установлено, что вычисление меры области D точным методом (вручную) не оказывает существенного влияния на погрешность результатов, но усложняет алгоритмизацию метода. Результаты вычислительных экспериментов приведены в таблицах 1 и 2.

Таблица 1

Кол-во

точек N

Приближенное

значение I

Абсолютная
погрешность

Относительная
погрешность

4 975

–2,0098

0,0098252

0,49126%

4 955

–2,0101

0,0101044

0,50522%

5 011

–2,0015

0,0014862

0,07431%

 

Таблица 2

Кол-во

точек N??

Приближенное

значение I

Абсолютная
погрешность

Относительная
погрешность

5 021

0,034185

0,000104592

0,306958%

4 992

0,034212

0,000065919

0,193463%

4 983

0,034291

0,000048584

0,142587%

 

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

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

Общий подход заключается в следующем: имеется некоторая двумерная область, отображаемая на экране дискретным двумерным множеством пикселей. Каждый пиксель можно считать узлом сетки, покрывающей данную область. Шаг сетки соответствует изменению экранной координаты на один пиксель монитора. Требуется проверить в каждом узле сетки некую характеристику функции, заданной на этой области и графически отобразить эту характеристику на экране. Последовательный перебор всех узлов сетки с вычислением требуемой характеристики в каждом узле и закрашиванием соответствующего узлу пикселя даст искомое графическое решение.

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

Другим примером использования дискретизации может служить построение линии уровня функции f (x, y) в заданной двумерной области D, также основанное на последовательном вычислении значения функции в каждом из узлов сетки, покрывающей область D. Если в некоторой точке  значение функции  отличается от заданного значения уровня  не более, чем на ?, то точку  считать принадлежащей линии уровня и закрашивать цветом. Следует отметить, что величина e будет прямо пропорционально влиять на толщину линии уровня. Кроме того, толщина линии уровня будет одинаковой только на тех участках, где значения частных производных функции f (x, y) будут мало отличаться по значению, что обеспечивает примерно одинаковую скорость изменения функции. Это значит, что в общем случае построенная таким способом линия уровня будет неравномерной толщины, что нежелательно в научных или про­изводственных целях, но вполне приемлемо в учебных.

Еще одним примером использования дискретизации может служить цветовое представление значений функции в некоторой одномерной, двумерной или трехмерной области, т.е. цветомодуляция функции. Можно рассматривать цветомодуляцию как некий оператор отображения численного значения функции f (x,) в вектор  компонентами которого являются цветовые составляющие пикселя:

                                                                                            (12)

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

Для построения оператора цветомодуляции достаточно определить верхнюю и нижнюю границы значений функции в представляемой области. Обозначим их как  и  соответственно. Каждый из компонентов вектора  принимает значения в отрезке [0; 1]. Задача построения оператора цветомодуляции сводится к построению линейного отображения отрезка  в отрезок [0; 1]:

                                                                                                (13)

В качестве примера рассмотрим цветомодуляцию от синего цвета к красному, где чистый синий цвет (0, 0, 1) означает наименьшее, а чистый красный (1, 0, 0) — наибольшее значения функции:

                                                                             (14)

Цветомодуляция дает возможность визуально охарактеризовать поведение функции в области — увидеть направления и скорость ее возрастания и убывания, зоны ее экстремальных значений и т.п. Эффективным оказалось применение данного подхода к визуализации механической трактовки кратных интегралов. Например, визуализация двойного интеграла как массы тонкой пластинки с неравномерно распределенной плотностью, при этом значение подынтегральной функ­ции представлялось с помощью цветомодуляции.

В заключение следует отметить, что перечисленные случаи использования известных численных методов в решении математических задач применительно к реализации обучающих программных продуктов по математике являются обобщением существующих разработок, апробированных в учебном процессе и подтвердивших эффективность их использования для упрощения, наглядности и до­ступности изучаемого материала.

ЛИТЕРАТУРА

  [1]  Возженников А.П. Разработка тестирующего программного обеспечения на базе автоматического решения задач высшей математики // XVI конференция-выставка «Информационные технологии в образовании»: Сборник трудов участников конференции. Часть III. — М.: БИТ про, 2006. — C. 21—23.

  [2]  Соболь И.М. Метод Монте-Карло. — М.: Наука, 1968.

  [3]  Бергман Г.Н. Сборник задач по курсу математического анализа. — М.: Наука, 1985.


Автор оригинала: Возженников А.П.
Источник оригинала: Журнал «Вестник РУДН» серия «Информатизация образования», 2009, №1

Новости
16.06.2017

Российский университет дружбы народов объявляет о проведение первой волны вступительных испытаний среди иностранных граждан для обучения на программах магистратуры на контрактной основе. Первая ...

13.10.2016

26 октября-27 октября 2016 года Российский университет дружбы народов проводит Международную конференцию «Сетевые университеты и международный рынок труда (пространства БРИКС, СНГ, ШОС)».

19.05.2016

The Peoples’ Friendship University of Russia (PFUR) announces the beginning of admission of foreign citizens who graduated from Bachelor and Specialist Degree programs of PFUR and other Russian and ...

19.05.2016

Российский университет дружбы народов (РУДН) объявляет о наборе иностранных граждан -выпускников бакалавриата и специалитета РУДН и других российских и зарубежных ВУЗов на программы магистратуры на ...

11.12.2015

Проект рекомендаций Семинара-совещания научной общественности по проблемам международного научно-технического и образовательного сотрудничества