Хашин С.И., список студентов
Sergey Khashin's PhD and Master students
Back to the main page
      2024
      2023
      2022
      2021
      2020
      2019
      2018
      2017
      2016
      2015
      2014
      2013
      2012
      2011
      2010
      2009
      2008
      2007
      2006
      2005
      2004
      2003
      2002
      2001
      2000
      1999
      1998
      1997
      1996
      1995
      1993
Каждый год студенты, интересующиеся численными методами, теорией чисел, компьютерной графикой, анализом данных защидают под моим руководством дипломы и магистерские диссертации.
In 1997-2012 I have had 57 Master students, 2 PhD students.
2004 PhD student ASSUI Kouassi Richard from COTE d'IVOIRE: "Исследование и сравнение методов Рунге-Кутта высокого порядка" (pdf). (Study and Comparison of Runge-Kutta methods of High Orders(in Russian)
|
2001 Аспирант Гияс Мухаммед Хаммуд (Сирия): 2001 PhD student Giyas Mohhamed Hammud from Syria: Методы Рунге-Кутта высоких порядков (djvu), пакет для моделиирования уравнений Бутчера A package for Modeling of Butcher Equations for the Search of Runge-Kutta Methods of High Orders (in Russian). |
|
|
|
|
|
|
|
|
Complete List of My Students Since 1993
Всего за 1993-2024 гг. защищено 120 дипломных работ и магистерских диссертаций а также 2 диссертации кандидата физико-математических наук.
      2024
      2023
      2022
      2021
      2020
      2018
      2018
      2017
      2016
      2015
      2014
      2013
      2012
      2011
      2010
      2009
      2008
      2007
      2006
      2005
      2004
      2003
      2002
      2001
      2000
      1999
      1998
      1997
      1996
      1995
      1993
год | Фамилия | Тема работы |
---|---|---|
2024 | Иванов Ю.А. | Сравнение эффективности алгоритмов обучения нейросетей для классификации изображений. |
2024 | Калабин А.Н. | Тест производительности нейронных сетей на примере CIFAR–10 |
2024 | Китаев М.М. | Cжатие изображений с помощью нейронных сетей методом прогнозирования яркости точки через предыдущие. |
2024 | Корочкин Е.М. | Применение нейросети для прогноза яркости следующие точки изображения. |
2024 | Печерин П.А. | Разработка системы «Мемориальные объекты воинской славы» |
2023 | Аннаев Рустам. | Зависимость качества распознавания MNIST от архитектуры нейросети. |
2023 | Кошман Е.А. | Эффективность нейронной сети через коэффициенты Фурье для методов распознавания изображения. |
2023 | Обухов Л.К. | Интеллектуальный анализ векторов межкадрового движения для сжатия видеопотока. |
2023 | Устинова И.С. | Оптимальная архитектура нейросети для задачи «CIFAR-10». |
2022 | Галиев И.Р. | Моделирование объектов в четырехмерном пространстве. |
2022 | Козяр Б.В. | Распознавание через нейронную сеть в задаче о рекламе банка. |
2022 | Кузнецов С.С. | Нейронная сеть для прогноза яркости точки. |
2022 | Хвостов Н.С. | Распознавание данных о звездах, галактиках и квазарах. |
2022 | Щукин Р.И. | Расширение возможностей дата-центра. |
2021 | Громов Д.С. | Сравнительная эффективность различных архитектур нейронных сетей в пакете keras. |
2021 | Жилин Т.Д. | Сравнение эффективности нахождения обратной и псевдообратной матриц на языке программирования Python. |
2021 | Кошман Е.А. | Сравнение различных архитектур нейронных сетей. |
2021 | Обухов Л.К. | Сравнение видеокодека h265 с другими по качеству и размеру видеофайла. |
2020 | Белов К.В. | Минимизация архитектур нейронной сети для задачи прогноза яркости точки. |
2020 | Илюшин В.И. | Эффективность нейронной сети при различных функциях активации. |
2020 | Исай В.А. | Алгоритмы нахождения расстояния между строками. |
2020 | Карпычева И.В. | Итерации отображений конечных множеств. |
2020 | Мосолов Е.Д. | Оптимальные графы нейронных сетей в задаче прогноза яркости точки. |
2020 | Алеливи Алшантут Риман | Аналитическое решение уравнений Бутчера порядка 6 и 7. |
2019 | Работановова К.С. | Реализация алгоритма хэш-функции по ГОСТ Р 34.11-2012. |
2019 | Смирнова А.И. | Коды с минимальным расстоянием 5 малой длины. |
2019 | Ярашов Д.Д. | Сравнение эффективности генетических алгоритмов на языке ФОРТ. |
2018 | Голубев В.Д. | Псевдопростые числа Фробениуса без больших множителей. |
2018 | Горева Е.С. | Реализация и сравнение алгоритмов поиска проводов на изображении. |
2018 | Иваненко К.А. | Сравнения алгоритмов восстановления утраченной области на изображении. |
2018 | Исай В.А. | Проверка инвариантности алгоритмов поиска особых точек. |
2018 | Островчук В.Г. | Автоматизация работы страницы «В контакте». |
2018 | Рыжов А.С. | Распознавание образов с помощью нейронных сетей. |
2017 | Д.С.Русских. | Поиск отрезков на изображении. |
2017 | Четвериков Ю.А. | Вычисление длины дуги кривой эллипса. |
2017 | А.С.Солодков. | Игра "Русско-английский словарь". |
2016 | Галиаскаров А.Э. | Создание панорам на основе нескольких кадров |
2016 | Голубев В.Д. | Исследование метода Фробениуса |
2016 | Рыжов А.С. | Вычисления с полиноминальными матрицами в системе Sage |
2016 | Солодков А.С. | Разработка игры «Англо-русский словарь» на Java Script |
2015 | Юнякова Н.Л. | Алгоритм восстановления недостающих участков изображения |
2015 | Шкрябин Г.Д. | Сегментация изображений методом вписания окружности |
2015 | Жаренов А.В. | Динамическое построение и обработка панорам средствами GPU |
2014 | Загребина М.М. | Разработка и реализация алгоритма удаления царапин с изображения |
2014 | Голубев В.Д. | Решето Эратосфена |
2014 | Логинов Д.Е. | Сегментация изображения методом выращивания областей |
2013 | Шкрябин Г.Д. | Сегментация изображений методом вписания окружности |
2013 | Пучков В.Е. | Множество Мандельброта |
2012 | Арефьева С.П. | Методы Рунге-Кутты седьмого порядка |
2012 | Абалина Е.А. | Проверка чисел на простоту с помощью метода Лукаса-Лемера |
2012 | Виноградова Н.Н. | Алгебры Бутчера малых размерностией |
2012 | Зотикова Е.С. | Симметричные функции в Maple для латинских квадратов |
2012 | Овчинникова О.В. | Обработка изображений |
2012 | Павлычева Е.A. | Проверка чисел на простоту с помощью метода Миллера - Рабина |
2011 | Мартынова Е.А. | Методы Рунге-Кутты порядка 6 |
2011 | Бадалов А.Н. | Сегментация изображения |
2011 | Белкин Д.О. | Классификация ортогональных латинских квадратов порядка 7х7 |
2011 | Крюченкова Т.С. | Исследование множества Мандельброта с расширенной точностью |
2010 | Зуева В.Ю. | Обработка и кодирование черно-белых изображений |
2010 | Логинова М.Ф. | Поиск кратчайшей кривой фиксированного порядка, проходящей через данные точки. |
2010 | Пелевина С.С. | Многомерный метод секущих |
2010 | Погодаева Е.В. | Исследование вырожденности систем уравнений для нахождения методов Рунге-Кутты высоких порядков |
2010 | Забанова Е.В. | Вложенные формулы Рунге-Кутты |
2010 | Косоурова Ю.А. | Достаточные условия отсутствия минимумов биквадратичной функции на единичном квадрате |
2010 | Прохорова Н.Ю. | Двумерный метод секущих |
2010 | Шмыглёв П.В. | Линейные подсистемы систем уравнений |
2009 | Великодный В.В. | Исследование существования нулей бикубической функции на единичном квадрате |
2008 | Осина С.Г. | Нестандартные методы Рунге-Кутты порядка 5 |
2008 | Куриземба А.А. | Оценка погрешности методов Рунге - Кутта |
2008 | Куваев П.Е. | Разработка системы управления сайтом (CMS) |
2006 | Конопелько Е.А. | Минимум биквадратичной функции двух переменных |
2006 | Корникова А.А. | Интерполирование функции двух переменных с учётом границ объекта |
2006 | Колесова Н.Г. | Определение границ объектов на изображении |
2006 | Шастин В.Н. | Оптимизация восстановления изображения |
2005 | Галанина Е.Е. | Распознавание тематики текста |
2005 | Ремизова Е.В. | Преобразование изображений в черно-белый вид |
2005 | Митрофанова М.К. | Каноническая форма биквадратного многочлена |
2004 | Ассюй К.Р. | Исследование и сравнение методов Рунге-Кутта высокого порядка |
2004 | Тараканова Е.М. | Аналитическое исследование алгоритма Лукаса-Канады |
2004 | Петрова К.В. | Семишаговые методы Рунге-Кутта порядка 6 |
2004 | Корхов А.А. | Нахождение оптимальной коррекции цвета |
2004 | Устинова С.В. | Сравнение методов Рунге-Кутта |
2004 | Мухина А.Г. | Сходимость метода Ньютона в окрестности вырожденной точки |
2004 | Плохотнюк Н.А. | Исследование методов проверки числа на простоту |
2003 | Шашина О.А. | Псевдопростые числа, не являющиеся простыми |
2003 | Халистова О.В. | Нахождение длины дуги гладкой кривой |
2003 | Ларионова Е.А. | Неклассические методы Рунге-Кутта порядка 6 |
2003 | Щетникова Е.С. | Справочные материалы по элементарной математике для оn-line тестов на сайте математического факультета |
2003 | Смирнова С.М. | Каркас методов Рунге-Кутта порядка 7 |
2003 | Королькова Е.В. | Автоматическое определение тематики текста |
2003 | Виноградова И.В. | Неклассические методы Рунге-Кутта порядка 5 |
2002 | Пустакова Н.А. | Интерполяционные формулы от 2-х переменных |
2002 | Малышева И.В. | Оценка качества интерполяционных формул от 2-х переменных |
2001 | Коровкина Н.В. | Эвристическое сравнение текстов |
2001 | Сергеева С.Н. | 5-мерное семейство 6-ти шаговых методов Рунге-Кутта порядка 5 |
2001 | Замыслова С.В. | Размерности пространств Бутчера для 6-ти шаговых методов Рунге-Кутта порядка 5 |
2001 | Дюкова С.А. | Некоторые 7-ми шаговые методы Рунге-Кутты порядка 6 |
2001 | Хаммуд Гияс Мухаммед | Пакет программ моделирования уравнений Бутчера для поиска методов Рунге-Кутта высокого порядка |
2000 | Арюшина О.Н. | Решение уравнений для коэффициентов методов Рунге-Кутты порядка 4 |
2000 | Захарова Е.А. | Улучшение сходимости метода Ньютона для многомерных систем уравнений |
1999 | Тимошенко Е.Н. | Коды над алфавитом из 10 элементов максимальной мощности |
1998 | Тихомирова Е.А. | Разложение дзета-функции Римана в расходящийся ряд |
1998 | Абдеев Р.Л. | Методы Рунге-Кутты третьего, четвертого порядка наименьшего ранга |
1998 | Макарцева С.А. | Свойства ортогональных латинских квадратов 7*7 |
1998 | Смирнова О.И. | Алгоритмы вычисления функции Бесселя первого рода на языке Паскаль |
1998 | Тимеркаева И.Н. | Алгоритмы вычисления чисел Бернулли |
1998 | Заверячева С.Г. | Условия вырожденности метода Рунге-Кутты |
1997 | Банникова Г.В. | Классификация латинских квадратов размера 6*6 |
1997 | Кочеткова К.Э. | Слабая эквивалентность латинских квадратов |
1997 | Тимошенко Е.Н. | Об ортогональных парах латинских квадратов размера 10*10 |
1996 | Горбашева И.В. | Матричная формулировка условий порядка методов Рунге-Кутты. |
1995 | Котвин С.В. | Непрерывные расширения формул Рунге-Кутты. |
1995 | Тихомиpова Е.А. | Разложение дзета-функции Римана в расходящийся ряд. |
1995 | Балабанов Н.В. | Минимальная размерность систем дифференциальных уравнений, необходимая для вывода формул метода Рунге-Кутты. |
1993 | Балабанов Н.Б. | Case-система построения меню на С++. |
1993 | Родионов Е.Г. | Имитационная модель простейшего микрокомпьютера |
1993 | Тихомиpова Е.А. | Создание библиотеки функций теоpии веpоятности на Паскале. |
1993 | Уэдраого Доминик Тиугу | Автоматическая регистрация студентов и сотрудников министерства образования Буркина-Фасо. |
1993 | Волкова В.Б. | Создание библиотеки специальных функций. |
1993 | Зверев Д.В. | Программа поддержки комментариев к файлам. |
2024 год.
Типичная проблема при обучении нейронных сетей – недостаточное количество размеченных обучающих данных, особенно изображений. Кроме того, человеку, чтобы научиться отличать кошку от самолета не требуется много тысяч примеров. Один из наиболее естественных вариантов увеличить количество изображений – немного «пошевелить» их: сдвинуть на несколько пикселей и/или повернуть изображение.
Эффективность такого преобразования не вполне очевидна: «пошевеленное» изображение может быть заметно хуже исходного, особенно по краям. С другой стороны, в этом случае очень существенно возрастают требования к аппаратуре: из одного исходного изображения в принципе можно получить несколько сот новых.
Иванову Юрию была поставлена задача оценить эффективность такого увеличения обучающих матриц. Проведённые им исследования показали заметный прирост эффективности, хотя и ценой очень существенного увеличения времени обучения.
Калабин Александр в своей работе изучал влияние марки процессора, количества оперативной памяти компьютера на скорость решения базовой задачи нейронных сетей – их обучения. Для примера был взят датасет CIFAF-10 и три различных архитектуры нейросети.
Им были не только исследованы 14(!) различных конфигураций компьютера, но и был реализован специальный пакет для подобного тестирования.
Работа пользователя в этом пакете интуитивно понятна, не требуем каких-либо специальных знаний. Пакет реализован в виде готового дистрибутива. Для его построения был выбран пакет Flet Framework, который был самостоятельно освоен студентом.
Китаев Максим в своей работе с помощью нейронных сетей строит функцию, предсказывающую яркость следующей точки изображения на основе яркости предыдущих точек.
В алгоритмах сжатия изображений без потерь, например в png, mng, применяются достаточно простые функции, однако даже они позволяют добиться сильного сжатия изображения.
Студенту была поставлена задача: с помощью нейронных сетей найти более сложные функции, которым позволят достичь большего коэффициента сжатия. В результата на приведённых примерах, степень сжатия увеличилась на 10-15% по сравнению с png.
Студенту была поставлена задача построить максимально точный прогноз яркости точки изображения с нечетными координатами в зависимости от яркостей 16-ти соседних точке к четными координатами. Эта задача могла бы иметь применение для сжатия изображений с потерями, то есть при разработке алгоритма сжатия изображений, аналогичного jpeg-2000.
Некоторые результаты были получены. Была построена и обучена 4-слойная нейронная сеть с количествами нейронов (64,64,32,1). На мой взгляд, выбранное количество нейронов слишком велико. Однако, для корректного ответа на вопрос об оптимальном количестве слоев нейросети и количестве нейронов в слое надо провести большее количество экспериментов с различными архитектурами сетей и различными изображениями.
Перед студентом была поставлена очень интересная и практически важная задача, особенно в современных условиях. К сожалению, работы такого типа встречаются у нас не слишком часто.
Петр самостоятельно изучил платформу «Акцент», это отечественная цифровая платформа для конструирования информационных систем.
Работа состоит из введения, трех глав и заключения.
Во второй главе приводится подробное описание требований к системе, фактически весьма подробное техническое задание.
В следующей главе описывается работа с системой, подробно рассказывается о каждом из полей системы.
Затем приводятся достаточно интересные экономические расчёты. Наиболее существенная часть: 25 часов рабочего времени. Мне кажется, затраченное время гораздо больше. Хотя, если работа поставлена на поток с небольшими изменениями от одного заказчика к другому, то результат правдоподобен.
2023 год.
Аннаев Рустам в своей выпускной работе изучал влияние сокращения размерности исходных данных на эффективность обучения и работы нейронной сети на примере двух наиболее известных наборов данных – MNIST и CIFAR-10.
Полученые результаты достаточно интересные, в некоторой степени соответствуют ожиданиям, а в некоторых отношениях противоречат. То есть требуется дальнейшее осмысление полученных результатов.
Кошман Евгений в своей выпускной работе изучал возможности обучения нейронных сетей на примере набора данных «MNIST» при переходе от полного набора данных к их ограничению первыми коэффициентами Фурье.
Каждый обучающий вектор в наборе данных «MNIST» является чёрно-белым (в градациях серого) изображением размера 28*28. Применив двумерное дискретное косинус-преобразование Фурье, мы получим матрицу опять того же размера 28*28. Если вытянуть её в линию «зигзагом», то большая часть информации окажется в начальных координатах.
Это позволяет надеяться на то, что размеры нейронной сети при таком преобразовании данных можно очень существенно сократить, почти ничего не потеряв в точности распознавания.
Исследованию этой возможности и посвящена работа Евгения.
Обухов Лель в своей выпускной работе изучал возможность применения оптического потока для минимизации размера видеоданных.
Основная идея заключается в следующем. Имея три последовательных кадра из некоторой видеосцены, мы в начале находим оптический поток из 2-го кадра на первый, то есть в каждой точке 2-го кадра находим вектор движения на 1-й кадр. Если все найденные вектора движения умножить на -1, то мы получим прогноз образ каждой точки 2-го кадра на 3-м кадре.
Однако, полученные точки не будут равномерно расположены по всему 3-му кадру и для нахождения яркости каждой точки (пиксела) на 3-м кадре на придётся применить достаточно сложные методы. А именно, студент применил двумерную интерполяцию оп неравномерной сетке многочленами первой и второй степени.
Для повышения устойчивости интерполяционной формулы, она строилась не на минимально возможном числе соседних точек (3 для линейной интерполяции и 6 для квадратичной), а на несколько большем количестве. Нахождение наилучшего количества соседних точек также являлось одной из задач студента.
Устинов Илья в своей выпускной работе изучал сравнительную эффективность различных архитектур нейронных сетей в зависимости от выбранных параметров на примере одного из наиболее известных наборов CIFAR-10.
2022 год.
Множество Мандельброта – один из давних и популярных объектов компьютерной графики. Сравнительно простое математическое определение этого множества дает огромное количество сложных, «фрактальных» изображений, то есть таких, что после увеличения любой части этого изображения, мы получаем новое, аналогичное предыдущему. Но именно «аналогичное», в том же стиле, но другое.
Существенной проблемой при реализации множества Мандельброта является требуемая большая вычислительная мощность. Даже современным процессорам для построения одной картинки требуется несколько секунд.
Целью ВКР студента была реализация множества Мандельброта на связке HTML/JavaScript и новом языке программирования Rust. HTML/JavaScript используется для интерфейса, связи с пользователем. Rust – для быстрого расчета заданного участка множества Мандельброта.
Основной задачей, поставленной перед студентом, было изучение основ анализа данных, на примере регрессионного анализа и, по возможности, искусственных нейронных сетей.
Основным инструментом был выбран язык «Питон» и различные модули, в нём имеющиеся, предназначенные для анализа данных: numpy, pandas, mathplotlib и некоторые другие.
В качестве исходных данных была предложена задача распознавания эффективности рекламной кампании банка «Открытие», предложенная им несколько лет назад. В этой задаче представлены данные о 15 тысячах клиентов (в обезличенной форме) и о том, кто из них заинтересовался некоторой конкретной рекламной кампанией (примерно 10% от всех клиентов). Требовалось на основе анкетных данных клиентов максимально точно определить, кому из них эта реклама интересна.
Основными методами оказались различные варианты регрессионного анализа. Применение нейронных в данном случае оказалось малоэффективно.
Основной задачей, поставленной перед студентом было изучение способов построения искусственных нейронных сетей с помощью одного из наиболее востребованных на сегодня инструментов – библиотеки Keras/Python.
Более точно, была поставлена задача построить несколько различных архитектур нейронных сетей применительно к задаче прогнозирования яркости следующей точки через яркость нескольких предыдущих точек на произвольном изображении. Таким образом, для каждого отдельного изображения и для каждого набора изображений можно построить свою обучающую матрицу, с её помощью обучить нейронную сеть выбранной архитектуры и сравнить её результаты с теми, которые получены элементарными методами, например с помощью линейной регрессии.
Основной задачей, поставленной перед студентом было изучение способов построения искусственных нейронных сетей с помощью одного из наиболее востребованных на сегодня инструментов – библиотеки Keras/Python.
Студент в значительной мере самостоятельно освоил и язык программирования «Питон», и пакет «Keras», предназначенный для работы с нейронными сетями, и среду разработки «PyCharm».
На примере достаточно известного набора астрономических данных, Н.С.Хвостов реализовал несколько (восемь) различных трехслойных архитектур нейронных сетей, различающихся количеством нейронов в каждом слое, функциями активации, а так же 8 четырехслойных. Для каждой архитектуры рассматривались различные методы обучение, предусмотренные в пакете Keras, для каждого из них проверялись различные значения параметров, в основном LR (скорость обучения). Итоговые результаты оказались достаточно интересными и приведены в таблицах 19 и 20.
В последнее время многим организациям оказывается удобнее и выгоднее не приобретать свои достаточно мощные компьютеры, а просто арендовать вычислительные мощности и мощности по хранению/обработке данных у сторонних организаций, как пример – «облачные вычисления». Очень часто обращение к услугам профессиональной, сторонней организации оказывается дешевле, чем создание, поддержка и обновление своего парка компьютеров.
В своей выпускной работе Руслан описывает устройство ЦОД (Центр Обработки Данных). Описывает, как правильно и с минимальными затратами спланировать его основные функции: закупка оборудования и его размещение, способы охлаждения, обеспечение информационной и физической безопасности.
2021 год.
Нейронные сети в последние годы становятся всё более важным и эффективным инструментов в различных областях. В своей работе Д.С.Громов сравнивает эффективность различных архитектур и функций активации нейронов в нейронных сетях на примере задачи прогнозирования яркости следующей точки изображения через 4 предыдущие точки.
Студентом были рассмотрены различные архитектуры нейронных сетей, с количеством слоев до 4 и до 36 нейронов в каждом скрытом слое.
Работа выполнена на языке программирования «Питон» с помощью пакетов для работы с нейросетями «TensorFlow» и «Keras».
Язык «Питон» на сегодняшний день является одним из наиболее популярных языков программирования, особенно в области анализа данным, машинного обучения и нейронных сетей. Язык является интерпретируемым и, поэтому, довольно медленным. Например, простые задачи, типа нахождения суммы гармонического ряда вычисляются в 30-70 раз медленнее, чем на С. Однако при использовании сложных библиотек, например, numpy, многие алгоритмы становятся более эффективными, чем их простые версии, реализованные самостоятельно.
В своей работе Т.Д.Жилин сравнивает скорость реализации сравнительно сложных алгоритмов: вычисление обратной и псевдообратной матриц на языке Питон через библиотеку numpy, и прямое вычисление на языке С.
При больших размерах матриц (более 1000*1000) преимущества библиотеки numpy оказывается несомненным. Измерение требуемой памяти показало, что алгоритм требует примерно вдвое больше памяти, чем размер самих матриц.
Нейронные сети в последние годы становятся всё более важным и эффективным инструментов в различных областях. В своей работе Е.А.Кошман на примере классической задачи MNIST (распознавания рукописных цифр) проводит сравнения эффективности различных архитектур нейросетей.
Важной особенностью работы являются исходные данные. В классической задаче MNIST каждое изображение задается таблицей яркости, то есть матрицей 28*28, состоящей из чисел в промежутке [0,255]. Студент же брал не эту таблицу, а первые 36 коэффициентов её преобразования Фурье (точнее, дискретное косинус-преобразование Фурье).
Работа выполнена на языке программирования «Питон» с помощью пакета для работы с нейросетями «TensorFlow».
Компьютерное видео сегодня является общераспространённым и обычным, мы его используем постоянно. Однако мало кто знает подробности: как именно происходит кодирование видео информации и звука.
В своей работе Л.К.Обухов сравнивает несколько наиболее популярных методов сжатия видео данных: H.264/AVC, H.265/HEVC, VP9, AV1. Сравнение производится по погрешности сжатых данные (в метриках PSNR, SSIM), размеру полученного сжатого файла и времени сжатия.
Для сравнения студент применял несколько различных инструментов сжатия видео. Кроме того, для анализа результатов им были написаны три небольшие программы на языке Питон, включающие построение графиков и работу с файлами Excel.
2020 год.
Архитектура многослойной нейронной сети не является оптимальной: многие коэффициенты сети, полученные в результате её обучения, часто оказываются очень малы. Скорее всего, их можно заменить на 0, то есть просто удалить соответствующую связь, не ухудшив качество сети. Разумеется, можно искать и гораздо более сложные методы оптимизации архитектуры.
В своей работе К.В.Белов, используя программу zTeach6.exe, проводит большое количество численных экспериментов с заданной обучающей матрицей, построенной для задачи прогнозирования яркости следующей точки изображения через яркости предыдущих.
Важным элементом нейронной сети является её функция активации. Это просто монотонно возрастающая функция одной переменной. Например, в Википедии можно найти список из нескольких десятков используемых функций, хотя обычно выбирают из трёх-четырех. При выборе архитектуры нейронной сети чаще всего выбирают одну функцию для всех нейронов, или вообще не объясняя свой выбор, или говорят, что с другими функциями результат получается хуже. Хотелось бы иметь некоторые аргументы, объясняющие этот выбор.
Студенту была поставлена задача провести обучение нейронной сети с данной обучающей матрицей и с различными архитектурами, различающимися лишь функцией активации.
В процессе работы студенту пришлось ознакомиться с общей теорией нейронных сетей, изучить программу zTeach6.exe, провести большой объем численных экспериментов и проанализировать полученные результаты.
Задача приближённого сравнения строк довольно часто появляется в практических приложениях.
Первый алгоритм, который приходит в голову – взять самую длинную общую подстроку, затем общие подстроки справа и слева и так далее. В качестве меры сравнения взять суммарную длину найденных совпадающих подстрок.
Другой вариант – взять расстояние Левенштейна.
В своей магистерской диссертации студентка реализует эти два метода (C++, VisualStudio) и на ряде примеров сравнивает полученные результаты.
В практическом примере расстояние Левенштейна следует признать более адекватным, то есть более соответствующим нашим интуитивным представлениям о «похожести» строк.
Так же интересна оценка времени работы двух этих алгоритмах на строках длины L:
* «Наивный» алгоритм: ~3 L^2 тактов процессора,
* Расстояние Левенштейна: ~180 L^2 тактов процессора,
В современной криптографии для шифрования используются различные комбинации несколько различных отображений множества [0..2^{n-1}] в себя. Для получения эффективных криптографических преобразований надо иметь достаточно большой набор таких отображений, удовлетворяющий различным дополнительным условиям.
Одним из важнейших таких условий (помимо простоты и эффективности вычисления) является наличие достаточно больших предельных циклов.
В своей магистерской диссертации И.В.Карпычева изучает отображения конечных множеств в себя: строит граф отображения, находит его предельные циклы, их количество и длины.
В качестве основных примеров, были рассмотрены следующие отображения множества [0..255] в себя:
* x -> (x+a)|b
* x -> (x*x+a*x+b)
* x -> (x*x+a*x+b)|c
* x -> a1*x*x+a2*x+a3
* x -> a4^(a5*x)
* x -> a6^(a7*x+a8)
* x -> a9*x*x*x+a10*x+a10
Реализация выполнялась на языке С++ в оболочке Visual Studio.
Нейронные сети находят всё больше применений в современном мире. Чаще всего используются многослойные нейронные сети, графическое представление которых весьма просто. В последнее время всё больше начинают использоваться и сети с другой архитектурой. Наглядно, графически их изобразить довольно сложно.
В своей работе Е.Д.Мосолов приводит плоские графы нейронных сетей, построенных в результате процесса оптимизации архитектуры нескольких начальных сетей.
Построенные им изображения позволяют яснее понять архитектуру получающихся сетей, увидеть их максимальную глубину и точнее оценить дальнейшие направления оптимизации нейросетей.
Нахождение методов Рунге-Кутта высокого порядка – важная и интересная задача компьютерной алгебры. Получающиеся системы полиномиальных уравнений настолько велики, что даже современные системы компьютерной алгебры не в состоянии их решить в общем виде.
В своей магистерской диссертации студентка делает шаг в направлении нахождения всех методов Рунге-Кутта порядков 6 и 7. Хотя такие методы на сегодня уже известны, однако, не все.
Шаг, который реализует студентка – это нахождение решений каркасной системы уравнений. Для получения её мы делаем в исходной системе уравнений некоторую замену переменных, после чего часть уравнений оказывается зависит лишь от сравнительно небольшого числа переменных. Вот эту часть системы ми и будем называть каркасом. От решения каркасной системы можно сравнительно просто перейти к решению исходной системы.
В своей работе Алеливи А.Р. нашла многие решения каркасной системы для методов РК порядков 6 и 7. Некоторые найденные решения ранее были неизвестны.
2019 год.
В своей магистерской диссертации Ксения реализует два стандартных криптографических алгоритма: вычисление хеш-функции по ГОСТу Р 34.11-2012 и нахождение/проверка электронной подписи по ГОСТу Р 34.10-2012.
Реализация выполнялась на языке С++ в оболочке CodeBlocks.
Оба алгоритма хорошо изучены и для первого из них известна даже некоторая реализация, которую можно взять за основу.
Работа над первой задачей полностью завершена, программа отлажена и дает верный ответ на тестовых данных. Эффективность, скорость работы вполне достаточна для приложений.
Реализация второй задачи проводилась с использованием С++-библиотеки NTL для работы с длинными числами. К сожалению, из-за трудностей с подключением библиотеки, довести работу до полного завершения не удалось, некоторые функции работают не в полном обхёме.
Теория кодов, обнаруживающие и исправляющие ошибки – один из важных разделов теории информации. Практически важные коды являются двоичными, линейными и имеют сравнительно большую длину: десятки, сотни, тысячи битов. В связи с этим, коды малой длины остаются слабо изученными, особенно нелинейные.
В своей работе Смирнова А.И. находит коды небольшой длины (до 20), исправляющие 2,3,4 ошибки, максимально возможно мощности.
Наиболее интересные результаты:
* код длины 9, исправляющий 2 ошибки, мощность равна 6.
* код длины 10, исправляющий 2 ошибки, мощность равна 7.
Стоит отметить, что, начиная с некоторой длины, все найденные коды оказались нелинейными.
В своей работе Ярашов Д.Д. сравнивает эффективность различных методов нахождения алгоритмов на языке Форт, реализующих данный набор тестов. Нахождение алгоритмов выполнялось с помощью программы gene_03.exe.
Для выполнения работы студенту требовалось создать текстовый файл, содержащий несколько десятков тестовых элементов, построенных в соответствии с выбранным алгоритмом. После этого надо было запускать gene_03.exe в различных режимах работы, подбирать в случае необходимости «гены», то есть наиболее эффективные кусочки программ.
Всего были проверены следующие алгоритмы:
* Сумма четных цифр числа.
* Количество четных цифр числа.
* Комплексное умножение чисел.
* Поворот вектора на плоскости на 90 градусов.
* Нахождение ориентированной площади параллелограмма.
2018 год.
Целью работы является исследовать тест Фробениуса на наличие ошибок в определенных границах.
Проверены все составные числа с индексом Фробениуса равным -1, раскладывающиеся в произведение множителей, каждый из которых не превосходит 2707. Также проверены все составные числа с индексом Фробениуса от 2 до 127, раскладывающиеся в произведение множителей, каждый из которых не превосходит определенной верхней границы (см. таблицу 2.2.2). Количество таких чисел достаточно велико, но ни на одном из них тест Фробениуса не ошибается.
Таким образом, найден еще один факт, свидетельствующий в пользу гипотезы о том, что чисел, псевдопростых по Фробениусу, не существует.
Статья опубликована в "Вестнике ИвГУ".
Целью работы является поиск темных линий на изображении. Нами было разработано несколько алгоритмов. Таким образом, нашей основной задачей является поиск нужных элементов с использованием данного алгоритма, который давал бы лучший результат, а также его дальнейшее усовершенствования.
Разработанные нами алгоритмы в значительной мере удовлетворяют заданным требованиям.
На большом количестве примеров было показано, что в большинстве случаев алгоритм верно находит провода на фотографии.
В работе разрабатаны и реализованы алгоритмы восстановления черных областей на изображении на основе остальных точек.
Работа выполнена на языке C#.
Рассматриваются следующие 4 алгоритма:
1. Цвет восстанавливаемой точки равен цвету ближайшей ненулевой.
2. Цвет восстанавливаемой точки линейно интерполируется через цвет двух ближайших ненулевых точек, лежащих с разных сторон от восстанавливаемой.
3. Цвет восстанавливаемой точки билинейно интерполируется через цвет трёх ближайших ненулевых точек, лежащих с разных сторон от восстанавливаемой.
4. Цвет восстанавливаемой точки выражается через цвет 4-х ближайших ненулевых точек, лежащих с разных сторон от восстанавливаемой.
В работе исследованы два алгоритма нахождения особых точек изображения: SIFT и SURF.
В теоретической части описываются, помимо этих двух, ещё два других способа: Harris и BRISK.
В работе проверяется устойчивость методов относительно поворота на небольшой угол.
В работе разработан способ автоматизации страницы «В контакте». У нынешних школьников и студентов много времени отнимает работа в соцсетях. Согласно многочисленным отзывам особенно много времени отнимает необходимость одобрить («облайкать») многочиленные фотографии всех своих друзей. Предлагаемая работа позволяет выполнить всю эту большую работы в несколько нажатий кнопок.
Работа выполнена в виде браузерного расширения (Яндекс, Хром) на языке JavaScript на API «ВКонтакте».
В своей магистерской диссертации Александр разрабатывает и реализует два алгоритма распознавания:
1. Рукописных цифр
2. Тип изображения (человек, автомобиль, кошка и т.п.)
Работа выполнена на языке Pyton. Им были использованы две сторонних библиотеки: фреймворк TensorFlow и открытая нейросетевая библиотека Keras, представляющую собой надстройку над TensoFlow.
2017 год.
Для поиска отрезков на изображении чаще всего применяется алгоритм Хафа. Но он дает удовлетворительные результаты лишь в самых простейших случаях.
В работе студента применён гораздо более эффективный, но и более сложный метод.
Результаты работы этого алгоритма хорошо видны в приложении, алгоритм Хафа на этих примерах не смог найти никаких отрезков.
Программа реализована на языке С++ с использованием библиотеки OpenCV.
Длину дуги кривой произвольной кривой можно найти путем, например, аппроксимируя её длиной дуги некоторой ломаной или путем численного интегрирования дифференциала длины дуги. Если нам достаточно двух-трёх верных знаков, то такой подход успешно работает. Если же мы хотим получить, например, 14 верных знаков (стандарт точности функций double), то количество узлов придётся брать уже миллионами.
Путем простейших преобразований нахождение длины дуги любого эллипса можно свести к вычислению значений одной функции от двух действительных переменных, а саму функцию вычислять с помощью интерполяционных формул. Написана программа на языке С++, реализующая наиболее существенные части алгоритма.
Создано мобильное приложение в своем роде, так как его можно использовать на любых устройствах с выходом в интернет (предварительно загрузив на сервер).
Полноценное расширение для веб-браузера (в частности Google Chrome), которое доступно в интернет-магазине браузера.
2016 год.
В работе реализуется алгоритм склейки нескольких изображений, у которых есть общие области в одно «панорамное» изображение. Программа реализована на языке С++ с использованием графической библиотеки OpenCV.
Тест Фробениуса является простым и очень надежным методом проверки простоты натурального числа. Этот тест вероятностный, то есть в принципе, может выдавать ошибочный ответ, а именно признавать составное число простым, такие числа называются псевдопростыми по Фробениусу (Frobenius pseudo prime, FPP). На сегодняшний день не известно ни одного FPP числа. Есть гипотеза, что их вообще не существует, то есть тест Фробениуса является не вероятностным, а точным методом проверки простоты числа. Проверке этой гипотезы в отдельных случаях посвящена работа.
В ней доказывается отсутствие подобных примеров среди чисел вида n=3 mod 4 меньших 264. Такие числа должны быть представлены в виде произведения нечетного количества различных простых чисел, каждое из которых тоже сравнимо с 3 по модулю 4.
Сначала доказывается, что количество множителей не может быть больше 9, а затем проводится исследование каждого возможного количества множителей: 9, 7, 5 и 3, причем с уменьшением количества множителей объем вычислительной работы резко растет. Поэтому в случае 3-х множителей работу не удалось двести до конца, получена лишь оценка того, что наименьший простой множитель не превосходит 1 194 751.
Программа реализована на языке С++.
Перед студентом была поставлена задача реализовать в системе компьютерной алгебры «Sage» операции над матрицами, элементами которых являются не обычные числа, а более сложные объекты: элементы из некоторого алгебраического расширения поля рациональных чисел, а также многочлены.
Учитывает основные требования к таким разработкам, а именно: строки должны
подаваться испытуемому в случайном порядке; компьютерная игра должна быть
проста в использовании; на экране желательно иметь минимум управляющих
механизмов; необходимо включение оценки степени правильности ответов и
количества попыток. В качестве замечания надо отметить, что иногда на
экране возникают слова, не относящиеся к выбранной теме. В качестве
пожелания: если приложение задумывалось, как обучающий ресурс а не только
как контролирующий, то хорошо бы снабдить пользователя электронным
словарем или предусмотреть в игре несколько подсказок, помогающих запомнить
незнакомые пары слов.
Сама игра
2015 год.
Взглянув на многие фотографии городских пейзажей сразу можно понять
актуальность задачи удаления длинных черных полос.
С логической точки зрения задача распадается на две независимых подзадачи:
1. Нахождение черных полос на изображение
2. Заполнение недостающих участков на изображении на основе имеющихся частей.
Практическая часть работы выполнена на языке С++.
В работе изучаются методы равномерного распределения точек на n-мерной сфере. Если количество точек не более, чем на 1 превышает размерность пространства, то ответ более-менее очевиден. Если же количество точек достаточно велико, то ответы получаются интересные и иногда неожиданные, например, распределение 8 точек на 2-мерной сфере не совпадает с вершинами куба.
Изначально задача формулировалась с прицелом на использования в задачах многомерной оптимизации. Использования равномерно распределенных точек вместо случайных в методе Монте-Карло могло бы улучшить сходимость алгоритмов.
Алгоритм: начинаем со случайного расположения точек. На каждом шаге находится пара, расстояние между которой наименьшее и эти точки «отходят» друг от друга на некоторую величину eps. Это eps постепенно уменьшается. Алгоритм заканчивает работу, когда минимальное расстояние между точками перестает уменьшаться.
В работе предлагается алгоритм склейки нескольких изображений, у которых есть общие области в одно «панорамное» изображение, программа реализована на языке С++.
Основной особенностью работы является использование графических ускорителей для ускорения работы. Качественное построение панорам требует большого объема вычислений, поэтому использование ускорителей вполне оправдано.
2014 год.
В работe разрабатывается программа, удаляющая длинные тонкие темные полосы на изображении. Самый типичный пример таких полос – провода воздушных линий электропередач. На почти любой фотографии, сделанной в городе, таких линий очень много и они сильно портят впечатление. Естественно, от таких «царапин» хотелось бы избавиться. Причем сделать это по возможности незаметно. Для этого надо не только найти саму царапину, но и понять, что должно быть на её месте. То есть царапину надо не просто закрасить каким-то цветом, а сделать так, чтобы она сливалась с фоном. В общем случае это, конечно же, невозможно, но для достаточно тонких царапин можно попытаться.
Реализуем программу для работы с простыми числами на с++, в которой один байт будет хранить информацию о простоте 30 чисел.
В работе разрабатывается алгоритм сегментации изображений. Таких алгоритмов известно довольно много, и новый алгоритм должен в чем-то превосходить уже имеющиеся.
Алгоритм реализован на языке С++. Единственная из использованных внешних библиотек содержит два небольших класса matr и matr3, используемые для чтения/записи файлов формата bmp-24 и простейших операций с целочисленными матрицами.
2013 год.
Работа посвящена очень интересным математическим объектам – фракталам, в основном множеству Мандельброта. В работе приводятся основные сведения о фракталах и их применении. Студентом также разработана программа, реализующая множество Мандельброта.
В работе предлагается и реализуется на языке C++ некоторый алгоритм сегментации изображений.
Идея этого алгоритма полностью принадлежит студенту, хотя в литературе описываются алгоритмы, в чем-то похожие на предложенный.
Реализация выполнена на языке С++ таким образом, чтобы была возможна
автоматическая проверка качества алгоритма. Для качества алгоритма имеются
формализованные определения и его можно измерить численно. Результаты
измерения оказываются не так хороши, как хотелось бы. Однако, это
естественно для нового алгоритма, - для повышения его эффективности,
доведения его до приемлемого уровня требуется ещё достаточно много работы.
2012 год.
В последние годы для решения уравнений Бутчера появился новый метод, основанный на изучении цепочки подпространств (фильтрации) Lk, Mk в Rn+1 и изучении возникающих при этом алгебраических структур.
Эти подпространства могут быть определены для произвольной квадратной матрицы и их размерности могут быть весьма различны.
Магистерская диссертация Виноградовой Н.Н. посвящена изучению размерностей этих подпространств для исходной матрицы небольшого размера (до 4*4 включительно).
Дипломная работа Арефьевой С.П. посвящена решению одной конкретной системы полиномиальных уравнений – системе Бутчера для нахождения методов Рунге-Кутта порядка 7. Систем имеет очень большой размер (она полностью приведена в приложении, занимает несколько десятков страниц).
К сожалению, никакие стандартные методы решения систем полиномиальных уравнений для этой системы не подходят (в основном из-за её размера). Поэтому приходится изобретать какие-то нестандартные подходы. Именно этому и посвящена работа.
Переменные, от которых зависят уравнения естественным образом разбиваются на все группы: c[2],..c[8] и a[i,j] (28 штук) и b[i] (6 штук).
Основным результатом работы является доказательство того факта, что переменные c[i] связаны между собой некоторым полиномиальным соотношением. К сожалению, в явном виде его выписать пока не удалось, хотя препятствия к этому, на мой взгляд, вполне преодолимые.
Дипломная работа Абалиной Е.А. посвящена исследованию одного из методов вероятностной проверки чисел на простоту (метода Лукаса-Лемера). Этот метод используется, например, совместно с методом Миллера-Рабина в стандартной библиотеке языка Java (но, почему-то, лишь для чисел больших 2100).
Первая задача, стоявшая перед студенткой – разобраться в исходных кодах стандартной библиотеки языка Java, реализующих этот метод и реализовать его для автономной работы (не в составе других методов).
Вторая задача – получить достаточно обширный запас примеров, на которых этот метод дает ошибку, попытаться найти среди них закономерности.
И, наконец, убедиться, что среди всех рассмотренных примеров нет ни одного, на котором ошибались бы оба метода (Лукаса-Лемера и Миллера-Рабина).
В настоящее время существует несколько различных инвариантов латинских квадратов, то есть некоторых объектов, вычисляемых через элементы латинского квадрата и не меняющихся при перестановках строк, столбцов и перенумерации элемнтов.
Основным результатом дипломной работы Зотиковой Е.С. является построение и начальное изучение нового инварианта латинских квадратов, строящегося с помощью симметризации определителя некоторой матрицы.
Инвариант получается достаточно интересным. Например, для среди различных 20-ти неэквивалентных квадратов размера 6*6 для части из них он оказывается равным 0, а для остальных – отличен от нуля.
Дипломная работа Овчинниковой О.В. посвящена разработке и реализации алгоритма удаления темных линий (царапины, провода на фотографии) на изображении.
Работа содержит обширную обзорную часть, посвященную методам обработки изображений, используемым в разрабатываемом алгоритме. Эта часть работы представляем самостоятельный интерес.
Практическая часть работы представляет собой попытку реализации рассмотренного алгоритма на языке С++ (Dev C++).
Дипломная работа Павлычевой Е.А. посвящена исследованию наиболее распространенного метода вероятностной проверки чисел на простоту: метода Миллера-Рабина. Этот метод используется, например, в стандартной библиотеке языка Java. Хотя метод достаточно прост с математической точки зрения, нахождение составных чисел, на которых метод ошибается довольно трудоемко.
Перед студенткой была поставлена задача найти способ нахождения таких "ошибочных" чисел, существенно более быстрый, чем прямой перебор. Вторя задача –убедиться, что среди всех рассмотренных примеров нет ни одного, на котором ошибались бы оба метода (Лукаса-Лемера и Миллера-Рабина).
2011 год.
Методы Рунге-Кутты изучаются давно и вплоть до настоящего времени. Методы порядка 4 получены еще в начале 20 века, методы порядка 5 и 6 – в 60-х годах в основном в работах Дж.Бутчера. Им были найдены некоторые многообразия решений для этих порядков.
Но найденные им решения представлены не в виде явных формул, выражающих через свободные переменные все остальные, а в виде некоторых алгоритмов, включающих некоторые аналитические преобразования, решение определенных уравнений.
Доведение этих алгоритмов до вида, пригодного для реализации на компьютере (и сама реализация) для методов порядка 6 и являлась задачей студентки.
Работа посвящена разработке алгоритма сегментации, основанного на яркости точек изображения.
Сегментация изображений – важная задача компьютерной графики. Ей посвящено много статей. Разработано много различных алгоритмов. Однако реализация практически всех из них недоступна. Поэтому самостоятельная реализация студентом даже не очень сложного алгоритма представляем значительный интерес.
Студентом разработана и отлажена программа на языке С++ (Visual Studio Express - 2010) сегментирующая любое заданное изображение по описанному им алгоритму. Проведено численное сравнение качества этого алгоритма с другими алгоритмами сегментации.
Работа посвящена проблемам классификации латинских квадратов и пар ортогональных латинских квадратов.
Количество латинских квадратов (и, тем более пар) быстро растет с ростом их размера. Количество классов эквивалентности тоже растет, но гораздо медленнее.
Классы эквивалентности хорошо изучены при n <= 6. При n=7 и более имеются лишь частичные результаты.
В работе делается попытка изучить некоторый новый инвариант (по отношению эквивалентности) латинских квадратов, найти его свойства, проверить, насколько точно он описывает классы эквивалентности.
Множество Мандельброта – хорошо известный в компьютерной графике объект. Десятки, а может быть и сотни тысяч людей во всем мире реализовывали программы, рисующие эти картинки. Имеются реализации на всевозможных языках, однако, практически все они используют для расчетов встроенные типы плавающих чисел: float, double, extended. Задача является вычислительно очень громоздкой, требует очень большого объема вычислений. Поэтому даже со встроенными плавающими числами время построения одной картинки – секунды или десятки секунд. Но если мы попытаемся рассмотреть достаточно глубокие подробности, то точности обеспечиваемой встроенными числами будет недостаточно. Разумеется, мы можем обратиться к числам большой точности, реализованным программно (BigDecimal in Java, библиотека GMP в C++ и многие другие). Но скорость вычислений при этом радикально падает: время ожидание очередной картинки будет уже измеряться часами, что совершенно неприемлемо для интерактивной программы.
Можно уверенно предполагать, что большинство программистов, строивших множество Мандельброта (а это – тысячи людей!) хотели бы построить его с большой точностью за приемлемое время, но никто не смог. А мы смогли!
2010 год.
Зуевой В.Ю. была предложена для работы довольно сложная тема: разработка алгоритма сжатия двуцветных изображений. Общая цель – достигнуть, а если удастся, то и превзойти по уровню сжатия формат «CCITT Fax 4», применяемый, например, в стандарте TIFF.
Основное препятствие – логическая сложность алгоритма. При реализации потребовалось рассматривать отдельно несколько частных случаев, каждый из которых весьма запутанный. Тем не менее, студентке удалось в целом реализовать алгоритм, обеспечивающую кодирование входного изображения в и корректно декодировать его.
Программа может выдавать сжатый файл как в текстовом виде, так и в двоичном, так и путем сжатия с помощью библиотеки bzip2.
К сожалению, набранная статистика не позволяет однозначно сравнить рассматриваемый алгоритм с наилучшим на сегодняшний день в этой области: «CCITT Fax 4».
- Нахождение дуги гладкой кривой,
- Нахождение семейства кривых, проходящих через данные точки,
- Минимизация функции.
Реализован удобный графический интерфейс.
Для численного решения систем уравнений обычно применяется метод Ньютона. Однако, в одномерном случае можно воспользоваться и методом секущих. В многомерном случае этот метод практически не используется. Причина – в его неустойчивости.
Перед студенткой была поставлена задача: модифицировать метод секущих так, чтобы он стал устойчивым, а также сравнить результаты применения построенного метода с обычным методом Ньютона. Поскольку в случае невырожденного решения метод Ньютона сходится очень быстро, особе следует обратить внимание на сходимость в окрестности вырожденного решения.
В работе построена такая стабилизация, и проверены ее свойства на нескольких примерах. Для этого написана программа (на языке Паскаль), находящая решения системы двух уравнений от двух переменных модифицированным методом секущих.
При численном нахождении методов Рунге-Кутта высокого порядка возникает проблема, связанная с плохой и очень плохой сходимостью метода Ньютона для системы полиномиальных уравнений. Очевидно, причиной такой плохой сходимости является вырожденность искомых решений. В целом, понятно, что так должно быть, но так ли это на самом деле – пока не проверено.
Перед студенткой была поставлена задача проверить вырожденность (или невырожденность) некоторых известных семейств методов Рунге-Кутта.
До конца, в общем виде, это удалось проверить лишь для методов 4-го порядка, а в остальных случаях – лишь на примерах.
Результатом работы является не только доказательство вырожденности данных решений уравнений Бутчера, но и некоторое понимание того, как надо поступать для улучшения сходимости метода Ньютона для данных уравений.
В дипломной работе рассматривается важный класс методов Рунге-Кутты, а именно – вложенные формулы, позволяющие контролировать погрешность вычислений на текущем шаге. Полные вложенные формулы, позволяющие найти текущую погрешность с хорошей точностью удается построить в редких случаях. В настоящей же работе строятся примеры «ослабленных» вложенных формул для порядков 4 и 5, которые дают погрешность лишь «с точностью до умножения на константу». Однако, с точки зрения вычислений, и такие «ослабленные» формулы могут иметь практический смысл.
Формулы 4-го порядка были найдены еще на 4-м курсе и являются известными. Формулы же для метода 5-го порядка в таком виде в литературе не встречаются (хотя имеются некоторые их аналоги). К сожалению, не удалось получить формулы в общем виде, а найден лишь один конкретный пример, доведенный до конца и еще один пример, законченный лишь «в основном».
Фактически, работа состояла в решении довольно большой системы полиномиальных уравнений с параметрами с помощью системы компьютерной алгебры «Maple». Размеры системы таковы, что невозможно решить ее «автоматически», процесс решения оказывается достаточно сложным.
В работе рассматривается задача, появляющаяся в компьютерной графике: поиск достаточных условий отсутствия минимумов биквадратичной функции на единичном квадрате. Аналитически задача сводится к нахождению корней многочлена 5-й степени, но на практике обычно решается численными методами.
Поскольку задача – массовая (для одного изображения ее требуется решать сотни тысяч раз), и в подавляющем большинстве случаев ответ – отрицаетльный (нет минимумов) то проблема не только в поиске самих минимумов, но и в получении достаточно эффективных критериев их отсутствия.
Заслугой студентки является не только доказательство, но и точна формулировка самих критериев.
Студентка справилась с поставленной задачей, сформулировала несколько критериев, проверила их эффективность на конкретных примерах. К сожалению, критерии получились довольно громоздкие, но это уже свойство поставленной задачи.
Для численного решения систем уравнений обычно применяется метод Ньютона. Однако, в одномерном случае можно воспользоваться и методом секущих. В многомерном случае этот метод практически не используется. Причина – в его неустойчивости.
Перед студенткой была поставлена задача: убедиться в неустойчивости метода, найти причины этой неустойчивости, что может создать предпосылки для построения устойчивого, практически пригодного метода численного решения систем линейных уравнений.
В дипломной работе изучен двумерный метод секущих, разработан алгоритм и на его основе написана программа (на языке Паскаль), находящая решения системы двух уравнений от двух переменных.
Исследована сходимость метода в окрестности простого и вырожденного решений.
Разработанная программа наглядно демонстрирует недостаточную устойчивость метода.
2009 год.
Задача, рассматриваемая в магистерской диссертация Великодного В.В. возникла при решении ряда задач компьютерной графики, когда для каждого из нескольких миллионов пикселов изображения требуется найти нули некоторой бикубической функции на единичном квадрате. Задача может быть решена стандартными численными методами, хотя их применение оказывается в данном случае громоздким. Для подавляющего большинства пискелов таких нулей нет, но на проверку этого тратится слишком много времени.
Перед студентом была поставлена задача: найти легко проверяемый критерий отсутствия нулей бикубической функции на единичном квадрате.
2008 год.
Данная работа посвящена нахождению «вложенных» методов Рунге-Кутта для численного решения обыкновенных дифференциальных уравнений. Их отличие от обычных состоит в том, что они позволяют на каждом шагу контролировать текущую погрешность, что, в свою очередь позволяет оперативно управлять величиной шага. В реальных ситуациях величина шага может изменяться по ходу вычислений в десятки и даже сотни раз, что дает соответствующий выигрыш в объеме вычислений.
В этом направлении удалось сделать лишь самый первый шаг, а именно, для классических 4-х стадийных методов порядка 4 найти вложенную формулу, позволяющую оценить погрешность вычислений. К сожалению, оказалось, что порядок вложенной формулы не может быть 5 и даже 4, а только 3. Это несколько снижает точность оценки погрешности, но тем не менее полученные формулы можно использовать для автоматической коррекции величины шага по ходу расчетов.
Представленная дипломная работа посвящена очень интересной и практически важной теме – разработке систем построения сайтов.
Если я разрабатываю простейший и, главное, статический сайт, то такая система вообще не требуется. Но с усложнением сайта, его структуры и, главное, при необходимости его регулярного обновления, эта задача становится понятной и актуальной.
Магистерская диссертация Осиной С.Г. состоит из двух частей. В первой аналитически находится некоторое семейство методов Рунге-Кутты порядка 5. Совместная статья опубликована в журнале «Математика и ее приложения».
Во второй производится сравнение эффективности различных методов из одного семейства. Для этого была написана Паскаль-программа, находящая среднюю погрешность каждого метода на некотором, достаточно большом наборе примеров систем уравнений (несколько сотен примеров).
2006 год.
В магистерской диссертации делается первая попытка получить верхнюю границу для количества локальных минимумов биквадратичной функции от двух переменных.
Работа инспирирована некоторыми задачами компьютерной графики, в которых приходится находить минимумы большого количества биквадратичных функций. На сегодняшний день это реализуется некоторым численным методом, что не всегда эффективно.
Доказывается (теорема на стр.9), что количество локальных минимумов не превышает 3. На самом деле доказывается несколько более сильное утверждение, в котором количество локальных минимумов и максимумов ограничивается более точно, в зависимости от определенных соотношений между коэффициентами.
Большое количество рассмотренных численных примеров и более точный анализ позволяют теперь высказать гипотезу, что на самом деле, количество локальных минимумов не должно превышать 2. Однако доказать это утверждение не удалось.
Повышение точности интерполяционных формул – важная задача компьютерной графики. Интерполяционный формулы можно разбить на два класса: линейные и нелинейные. В линейных формулах вряд ли можно ожидать существенного улучшения качества. А в нелинейных – прогресс вполне возможен.
Для построения нелинейных формул требуется разбить исходное изображение некоторыми линиями («границами») на отдельные области. При интерполяции должны учитываться не все точки из выбранной окрестности, а лишь те, что не выходят за границы области. Поэтому первая цель при построении интерполяционной формулы – определение границ объектов на изображении. На самом деле, границы у нас должны состоять не из отдельных точек («дискретная граница»), а быть непрерывными линиями.
В процессе работы над магистерской диссертацией студенте пришлось самостоятельно ознакомиться с большим количеством литературы о выделении границ на изображении. К сожалению, подходящего алгоритма нахождения границ найти не удалось и такой алгоритм пришлось разрабатывать самостоятельно.
Центральным результатом работы является построение линейной 16-точечной интерполяционной формулы, дающей результат класса C2, то функция имеет непрерывные вторые производные (§5). Благодаря этому, оказалось возможным определить понятие «границы» в виде непрерывной линии.
В прошлом году была защищена магистерская диссертация (Ремизовой Е.А.) на родственную тему.
В диссертации Ремизовой были рассмотрены различные методы преобразования серого текста к черно-белому виду. Но некоторые подходы остались не исследованными. Дипломная работа Колесовой Н.В. как раз и исследует возможности одного их этих подходов, а именно – метод, основанный на выделении границ на изображении.
Полученные результаты показывают, что в этой области возможно существенное улучшение алгоритмов, которое, в конечном итоге, может привести к улучшению качества распознавания текста в трудных случаях.
Программа, описанная в работе реализована в системе программирования Delphi.
Работа выполнена самостоятельно. При реализации данной работы студентке пришлось не только освоить систему Delphi, но и некоторые пакеты работы с компьютерной графикой.
Если мы уменьшим изображение в два раза, а потом увеличим до исходного размера, мы получим изображение, несколько отличающееся от исходного. Если алгоритм уменьшения особых вопросов не вызывает, то для увеличения существует много различных алгоритмов. Расстояние (обычно, в метрике L2) восстановленного изображения от исходного (шум) является мерой качества алгоритма увеличения размера.
Проблема заключается в том, что это расстояние в гораздо большей степени зависит от исходного изображения, чем от алгоритма увеличения размера. Поэтому для оценки алгоритма логичнее рассматривать не абсолютную величину шума, а относительную, в процентах к некоторому простейшему (базовому) алгоритму.
Перед студентом была поставлена задача – исследовать устойчивость введенного таким образом показателя качества алгоритма на максимальном широком классе изображений.
Работа выполнена с использованием среды программирования Delphi.
Основными результаты, полученные в работе следующие.
1. Предложен свой алгоритм увеличения изображения: комбинация базового алгоритма с некоторым вариантом фильтра повышения резкости, качество алгоритма = 90.59±1.46%. Хотя в чистом виде он вряд ли сможет конкури-ровать с наиболее сложными алгоритмами, но методы, в нем применен-ные могут служить хорошим дополнением к другим алгоритмам.
2. На основе проведенных экспериментов сделан вывод, что качество алгоритма может быть измерено с точность 1..1.5%.
К недостаткам работы можно отнести то, что численная оценка качества проведена только для самых простых методов: базового, различных вариантов четырехточечной интерполяции и своего собственного метода
Не все предложенные методы оказались эффективными. Например, алгоритма, названный автором «secondStep» оказался даже заметно хуже базового. Но отрицательный результат – то же результат.
2005 год.
Основная цель, поставленная перед студенткой – исследование различных эвристических алгоритмов распознавания тематики текста. Базовый метод – сравнение со словарем, построенным в процессе обучения системы. То, что метод «базовый», предполагает, что у него имеется большое число модификаций, влияющих на его работу и конечный результат. Работа как раз и должна была показать эффективность (или неэффективность) различных модификаций.
Для реализации алгоритма была выбрана нейронная модель. Рассмотренный метод распознавания представляет из себя трехуровневую нейронную сеть (количество нейронов в слоях {12,132,12}).
В процессе работы Галаниной Е.Е. пришлось изучить общие прин-ципы работы нейронных сетей а так же некоторые конкретный алгоритмы родственной тематики (проект «проекта SemLP», диссертация на тему «Модель структурного представления текстовой информации и метод ее тематического анализа на основе частотно-контекстной классификации» (С.-Пб. Ун-т),.а также дипломную работу Корольковой Е.В. (ИвГУ, 2003 г.).
Для сравнение различных модификаций алгоритма, была предложена количественная оценка качества его работы. Результаты оказались довольно неожиданными, многие из предложенных ранее улучшений и модификаций алгоритма себя не оправдали. Некоторые обнаруженные статистические закономерности в частотном словаре показали возмож-ность значительного сокращения его объема (сейчас размер словаря составляет десятки мегабайт).
Преобразование из изображения из 24-битного цвета в 1-битовый формат – часто встречающаяся задача. Разумеется, применять ее надо не к произвольным изображениям а, чаще всего, - к отсканированным (или сфотографированным) текстам.
Если изображение высокого качества, то для этого достаточно просто повысить контрастность до предела в любом графическом редакторе. Однако, если качество чуть ниже, то сразу появляются проблемы, например, неравномерная яркость текста в разных частях изображения (в основном, для текстов, сфотографированных фотоаппаратом), большое количество мелких пятен по тексту. Многие из этих проблем можно решить с помощью более сложных фильтров, имеющихся в мощных графических редакторах (типа PhotoShop). Однако, правильный подбор параметров фильтров индивидуален для каждой страницы и требует большого количества ручного труда. Да и результат не всегда получает-ся оптимальным.
В магистерской диссертации предложен алгоритм, успешно справляющийся с этими проблемами. Кроме того, рассмотрены (и решены) некоторые чисто математические проблемы, появляющиеся при по-строении алгоритма (теорема о несуществовании интерполяционной формулы определенного вида, и теорема о свойствах другой интерполяционной формулы.
При решении некоторых задач компьютерной графики возникает задача минимизации функции, являющейся биквадратичной по своим аргументам (x,y). Полностью аналитического решения эта задача не имеет. Для эффективного численного решения требуется более детальное исследование минимизируемой функции, в частности приведение ее к простейшему виду путем подходящего выбора системы координат. Эта задача и была решена дипломницей.
Одной из существенных проблем, с которой пришлось столкнуться – большое количество различных частных случаев (свыше 20). Многие из них сравнительно простые, однако для полного, строго решения поставленной задачи их так же необходимо было рассмотрет.
2004 год.
Сейчас он - профессор математики в Университете в Кот-д’Ивуаре (Prof. ASSUI Kouassi Richard Maitre de Conferences Departement Mathematiques et Informatique Institut National Polytechnique FHB BP 1093 Yamoussoukro, COTE D'IVOIRE)
Цель работы построение методов типа Рунге-Кутта высоких (6, 7, 8) порядков. Разработка как аналитических, так и численных методов их получения. Исследование точности найденных методов, сравнение различных методов между собой, нахождение локальной размерности многообразия решений.
Методы исследований основываются на преобразовании уравнений Бутчера, позволяющем выделить такую часть переменных и уравнений, которая может быть решена независимо от остальной системы.
Для проведения численных расчетов разработана программа, позволяющая численно находить методы Рунге-Кутта. Хотя для нахождения методов высоких порядков она требует много процессорного времени (часы и даже десятки часов), она позволила получить интересные результаты.
Представленная магистерская диссертация состоит из теоретической и практической частей. В теоретической части описываются алгоритм Лукаса-Канады, предназначенный для нахождения векторного поля движения между двумя похожими кадрами.
Во втором параграфе работы рассматривается большое количество вариантов метода, предназначенных для использования в различных ситуациях.
В третьем параграфе работы рассматривается практическая реали-зация одного из рассмотренных алгоритмов, а именно - пирамидальная реализация.
В п.3.9 работы доказывается теорема, в принципе, позволяющая аналитически находить поле движения в единичном квадрате, точнее говоря сводящая задачу к решению уравнения 5-й степени от одной переменной.
Магистерская диссертация Петровой К.В. состоит из введения, трех глав, заключения и приложений. В первой главе приводятся основные сведения о методах Рунге-Кутта, вводятся обозначения. Во второй главе рассматриваются уравнения Бутчера для коэффициентов метода Рунге-Кутта. Наконец, в третьей главе рассматривается «каркас» уравнений Бутчера как в общем виде, так и для 7-стадийных методов 6-го порядка.
Основные результаты, полученные в работе изложены в §3.4. «Выбор свободных переменных для решения каркасной системы». Здесь рассматривается несколько вариантов выбора свободных переменных для данной системы, часть из них оказывается неудобной для получения аналитического решения. Среди нескольких оставшихся вариантов один обладает дополнительной симметрией, он и признается оптимальным.
В магистерской диссертации Корхова А.Е. решается задача коррекции цвета изображения. Соответствующие функции имеются в каждом графическом редакторе, но, судя по всему, их недостаточно. В рецензи-руемой работе предлагается другой подход к этой проблеме.
В главе 2 «Решение», предлагаются 10 различных методов цветовой коррекции. Среди них есть и совсем простые (растяжение или сдвиг), и более сложные, типа метода, основанного на интерполяционных многочленах Лагранжа или на кусочно-аффинных преобразованиях. В главе 3 (одна страница) еще раз перечисляются эти методы и делается попытка охарактеризовать их качество.
В главе 4 делается попытка математически обосновать применимость метода наименьших квадратов для «ограниченно-линейных» функций. Доказывается, что в некотором классе задач стандартный метод наименьших квадратов применим и к рассматриваемой задаче.
На сегодняшний день известно большое количество методов Рунге-Кутта, полученных как аналитически, то есть точно, и численно, то есть приближенно. Их практическая ценность весьма различна. В дипломной работе Устиновой С.В. предпринята попытка сравнить между собой эффективность различных методов.
Дипломницей была реализована программа решения системы диф-ференциальных уравнений методом Рунге-Кутта. Основное отличие от других аналогичных программ состоит в том, что используемый метод не является частью программы, а берется из внешнего (текстового) файла. Таким образом, эту программу можно использовать для сравнения между собой эффективности различных методов Рунге-Кутта, что и про-делано в дипломной работе.
Невырожденные корни как одного уравнения, так и системы уравнений с помощью метода Ньютона находятся сравнительно просто, ко-личество требуемых шагов минимально: 2-3 шага после попадания в окрестность корня. Переход от точного значения производной к приближенному практически ничего не меняет – процесс сходится так же быстро.
В окрестности вырожденного корня ситуация совершенно другая. Метод Ньютона сходится уже значительно медленнее, со скоростью геометрической прогрессии. Тем не менее приемлемой точности можно достичь за несколько десятков шагов. Если же заменить точное значение производной, то сходимость еще больше ухудшается.
Целью дипломной работы и являлось проверка сходимости метода в этом случае.
Проверка натуральных чисел на простоту в последнее время стала весьма актуальной задачей. Все наиболее эффективные способы такой проверки на сегодняшний день основаны на малой теореме Ферма и проверяют простоту числа лишь с некоторой вероятностью. В функции IsProbablePrime, встроенной в язык Java, реализованы некоторые наиболее сложные и эффективные из этих алгоритмов. Перед дипломницей была поставлена задача: исследовать указанную функцию на надежность, то есть определить вероятность ее ошибки в зависимости от заданного уровня надежности и размера числа. Основная проблема состоит в том, что функция ошибается очень редко, поэтому прямой перебор различных чисел практически всегда даст вероятность ошибки равную 0.
Для реализации поставленной задачи пришлось не только изучить язык Java и написать на нем программу, но и разобраться в достаточно сложных математических методах, используемых для проверки чисел на простоту. Кроме этого, пришлось разработать эффективный способ получения чисел Кармайка размером до 25-27 десятичных знаков.
2003 год.
Проверка натуральных чисел на простоту в последнее время стала весьма актуальной задачей. Все наиболее эффективные способы такой проверки на сегодняшний день основаны на малой теореме Ферма и проверяют простоту числа лишь с некоторой вероятностью.
Перед Шашиной О.А. была поставлена задача - найти минимальные числа, на которых некоторые алгоритмы проверки числа на простоту дают ошибочный ответ.
В процессе работы были получены определенные продвижения в этом направлении, хотя и не все поставленные цели достигнуты.
Задачу, решаемую в магистерской диссертации можно сформулировать так: найти кратчайшую кривую из некоторого семейства, проходящую через несколько заданных точек. На практике для этого обычно используются кривые Безье. Они обладают рядом свойств, делающих их удобными для вычислений, в частности, эти кривые задаются параметрически, и, следовательно, рациональны.
В тоже время кривые Безье имеют и некоторые недостатки, один из которых - через чур большая степень получающейся кривой.
В рассматриваемой работе делается попытка перейти от кривых Безье к произвольным алгебраическим кривым заданной степени.
Для нахождения методов Рунге-Кутта высокого порядка требуется решить очень громоздкую систему уравнений Бутчера, в общем виде эта проблема не решена до сих пор.
В диссертации Ларионовой Е.А находится для некоторых наиболее важных случаев решение "каркаса" системы Бутчера для методов Рунге-Кутта порядка 6. Решению системы Бутчера для этого порядка посвящено много работ. Поэтому решения, найденные в дипломной работе могут быть проверены с разных точек зрения, а так же использованы для нахождения решений полной системы Бутчера.
В процессе подготовки работы автору пришлось освоить не только способы нахождения методов Рунге-Кутта, но и систему компьютерной алгебры Maple.
В дипломной работе Щетниковой Е.С. сделана попытка разработать справочную систему по некоторым разделам по элементарной математики. Система предназначалась для включения в on-line тесты, расположенные на сайте факультета.
В процессе работы студентке пришлось освоить язык гипертекстовой разметки HTML и JavaScript. Кроме того был сделан большой обзор сайтов в интернете, содержащих родственную информацию. К сожалению, этот обзор в саму дипломную работу не вошел.
Для нахождения методов Рунге-Кутта высокого порядка требуется решить очень громоздкую систему уравнений Бутчера, в общем виде эта проблема не решена до сих пор.
В диссертации Смирновой С.М. исследуется в отдельных случаях каркас системы уравнений Бутчера для методов Рунге-Кутта порядка 7. А именно, предполагается, что как можно большее количество коэффициентов среди bi равно 0. Оказывается, что двух ненулевых коэффициентов недостаточно, для того, чтобы каркас системы имел решение. Трех же ненулевых коэффициентов уже достаточно.
Таким образом, основным содержанием работы является решение каркаса системы Бутчера для методов Рунге-Кутта порядка 7, в случае трех ненулевых коэффициентов bi. Аналитически решение удалось продвинуть довольно далеко, но не до самого конца. Однако, окончательные решения удалось все-таки получить приближенно (с любым количеством знаков после запятой).
Учитывая все возрастающий поток поступающей к нам информации, ее систематизация становится все более актуальной задачей. Обычно такая процедура выполняется вручную — мы просто смотрим каждый имеющийся текст и сами определяем, в какой каталог его положить. Конечно, обработать 2-3 или даже 10-15 текстов не так уж сложно. Но разложить по каталогам 10-15 тысяч различных файлов уже не просто. Естественно, хотелось бы автоматизировать этот процесс.
В полном объеме это, разумеется, не возможно, но в отдельных ситуациях можно надеяться на успех.
В рассматриваемой дипломной работе как раз и предпринята такая попытка.
В качестве обучающего материала были взяты тексты известной коллекции "Библиотека в кармане" 15 выпуск — свыше 10 тысяч текстов общим объемом почти 1.5Г байт.
Задача нахождения методов Рунге-Кутта высокого порядка до сих пор не имеет удовлетворительного решения, даже в численном виде. В связи с этим можно попытаться найти решение системы уравнений Бутчера в двух (или более) ступенчатом виде, а именно - выделить некоторую часть переменных и уравнений ("каркас" системы) и на первом этапе решить эту упрощенную систему уравнений.
В дипломной работе Виноградовой И. эта задача полностью решена для случая методов Рунге-Кутта порядка 5. Основным результатом работы является установление того факта, что каждому решению каркасной системы соответствует ровно одно решение полной системы уравнений Бутчера, что служит подтверждением обоснованности введения понятия "каркаса".
2002 год.
В настоящее время интерполяционные формулы для двух переменных - важный инструмент компьютерной графики. Особенно они важны при сжатии графической информации.
На сегодняшний день для двух переменных используются в основном "прямоугольные" интерполяционные формулы, то есть декартово произведение интерполяционных формул от 1-й переменной - билинейная, биквадратная и бикубическая интерполяция. В литературе можно найти упоминание "треугольных" интерполяционных формул.
Есть основания полагать, что оба этих типа интерполяционных формул не являются оптимальными при использовании в компьютерной графике. Дипломная работа Пустаковой Н.А. посвящена нахождению трех новых интерполяционных формул, построенных на 12, 16 и 24 точках.
В настоящее время интерполяционные формулы для двух переменных - важный инструмент компьютерной графики. Особенно они важны при сжатии графической информации.
На сегодняшний день существует довольно много таких формул. Выбор той или иной формулы в каждом конкретном случае основывается на общих соображениях (более высокий порядок формулы обеспечивает большую точность, но черезчур высокий порядок лишь ухудшает результат) и вкусах разработчика. В дипломной работе делается попытка найти объективные критерии сравнения различных интерполяционных формул для таблично заданных функций от двух переменных.
В работе представлена программа, которая на заданном множестве изображений выдает сравнительную таблицу погрешности каждой из заданных интерполяционных формул.
2001 год.
Эвристическими называются алгоритмы, не имеющие законченной формулировки, чаще всего даже сама цель не может быть сформулирована в точном математическом смысле. В данной работе как раз и рассматривается такой алгоритм. Наша цель - проверить, не содержат ли два файла один и тот же текст, различающийся лишь несущественными деталями.
Работа носит исследовательский характер, то есть изначально не ставилась цель написать законченную программу (для рассматриваемой цели это вообще вряд ли возможно). Была поставлена цель - исследовать один из алгоритмов, оценить насколько он способен справиться с поставленной задачей.
Методы Рунге-Кутты - один из наиболее эффективных методов численного решения обыкновенных дифференциальных уравнений. С ними конкурируют методы Адамса, но в случае использования переменного шага использование методов Адамса весьма неэффективно и методы Рунге-Кутты остаются практические единственным эффективным методом.
Нахождение конкретных методов РК сводится к решению большой системы полиномиальных уравнений, решить которую в общем виде не удается до сих пор.
6-ти шаговые методы Рунге-Кутта порядка 5 полностью описаны в "общем виде" то есть выбраны некоторые "свободные" переменные и имеется способ выразить все остальные через них. В "общем виде" означает, что этот спсоб работает не для всех возможных значений свободных переменных для для некоторых "вырожденных" комбинаций свободных переменных он неприменим. Дипломная работа Сергеевой С.Н. как раз и посвящена изучению одного из таких "вырожденных" случаев (c3=1).
Основным результатом работы является нахождение нового 5-мерного семейства методов РК.
Некоторые громоздкие вычисления первоначально были проделаны с помощью системы компьютерной алгебры "Maple". Однако в дальнейшем вычисления удалось в достаточной степени упростить и в окончательном виде уже можно обойтись без примения компьютеров, хотя их применение и позволит ускорить некотрые вычисления.
Методы Рунге-Кутты - один из наиболее эффективных методов численного решения обыкновенных дифференциальных уравнений. С ними конкурируют методы Адамса, но в случае использования переменного шага использование методов Адамса весьма неэффективно и методы Рунге-Кутты остаются практические единственным эффективным методом.
Нахождение конкретных методов РК сводится к решению большой системы полиномиальных уравнений, решить которую в общем виде не удается до сих пор. Поэтому большое значение имеет любая информация, проясняющая структуру этих уравнений.
К такой информации относятся сведения о так называемых "пространствах Бутчера" и особенно об их размерности. Следует отметить, что объяснение роли этих пространств выходит далеко за рамки данной дипломной работы. В классическом случае 4-х шаговых методов 4-го порядка эти размерности для всех методов одинаковы. Поэтому первым нетривиальным случаем как раз и являются методы порядка 5.
Основным результатом работы (глава IV) является нахождение размерности пространства Бутчера L3. Как оказалось, в общем случае она равна 4 и для некоторых специальных случаев (найдены примеры) размерность может быть равна 3.
Весьма интересный результат. Несколько лет назад была написана программа для численного нахождения методов Рунге-Кутта. В результате довольно долгих расчетов были найдено несколько десятков методов порядка 6. У части из них значения сразу трех коэффициентов b2, b3, b4 оказались очень близкими к 0 (10^(-10)..10^(-13)). Посколькку вычисления были приближенными, естественно было бы предположить, что в точном решении все три коэффициента обратятся в 0. Другими словами, должно существовать семейство методов РК, удовлетворяющее условию b2=b3=b4=0.
Была предпринята попытка найти такое семейство решений аналитически. Она оказалась удачной. В представленной дипломной работе как раз и описываются основные этапы решения задачи.
Некоторые громоздкие вычисления были проделаны с помощью системы компьютерной алгебры "Maple".
Целью работы является построение методов типа Рунге-Кутта высоких (6, 7, 8) порядков, разработка как аналитических, так и численных методов их получения, исследование найденных методов, в частности нахождение локальной размерности многообразия решений.
Аналитические решения уравнений Батчера (Butcher) находятся путем максимально полного применения так называемых "упрощающих предположений".
Для численного решения используется многомерная версия метода Ньютона. Основной проблемой при этом является большая размерность решаемых систем линейных уравнений (до 200 уравнений и до более, чем 100 переменных).
Для нахождения размерности многообразия решений применяется довольно сложная техника. Привлекаются самые различные вычислительные методы линейной алгебры (метод Якоби приведения квадратичной формы к диагональному виду и др.)
Для проведения численных расчетов разработана программа, работа которой управляется большим количеством параметров. Хотя для нахождения методов высоких порядков она требует много процессорного времени (часы и даже десятки часов), она позволила получить интересные результаты.
2000 год.
Методы Рунге-Кутты - один из наиболее эффективных методов численного решения обыкновенных дифференциальных уравнений. С ними конкурируют методы Адамса, но в случае использования переменного шага использование методов Адамса весьма неэффективно и методы Рунге-Кутты остаются практические единственным эффективным методом.
Естественно, хотелось бы как можно более сократить объем вычислений. Для этого надо применить методы возможно более высокого порядка (высокой точности). Нахождение таких методов сводится к решению большой системы нелинейных полиномиальных уравнений на коэффициенты метода. Явно решить эту систему удается только для методов порядка не выше 6. Для методов более высокого порядка приходится искать другие подходы.
Один из таких подходов связан с переходом в новую систему координат (нелинейно связанную с исходной).
В дипломной работе Арюшиной О.Н. проделан полный цикл вычислений по этой схеме для методов 4-го порядка (8 уравнений от 10 переменных):
- выписаны формулы, связывающие исходные и новые координаты,
- выписана система уравнений в новых координатах,
- получено ее решение (2 свободные переменные v34, v44),
- выведены формулы, выражающие исходные переменные, через свободные.
Все громоздкие вычисления были проделаны с помощью системы компьютерной алгебры "Maple". Уровень сложности рассматриваемых систем уравнений не позволил просто использовать команду "Solve" (решить). Поэтому пришлось проявить изобретальность для получения решения в явном виде.
Методы Рунге-Кутты - один из наиболее эффективных методов численного решения обыкновенных дифференциальных уравнений. С ними конкурируют методы Адамса, но в случае использования переменного шага использование методов Адамса весьма неэффективно и методы Рунге-Кутты остаются практические единственным эффективным методом.
Естественно, хотелось бы как можно более сократить объем вычислений. Для этого надо применить методы возможно более высокого порядка (высокой точности). Нахождение таких методов сводится к решению большой системы нелинейных полиномиальных уравнений на коэффициенты метода. Явно решить эту систему удается только для методов порядка не выше 6. Для методов более высокого порядка приходится искать другие подходы.
Один из таких подходов связан с численным решением полученной системы уравнений. Естественно попытаться применить для решения задачи метод Ньютона (многомерный). Оказывается, однако, что в наиболее интересных случаях (порядок >=7) метод практически перестает сходится. Связано это с сильной вырожденностью исходной системы уравнений.
Каким же образом можно улучшить его сходимость? Все известные универсальные методы не дают никакого эффекта. Возможно, стоит попробовать использовать какие-то особенности исходной системы полиномиальных уравнений. Сразу видно, что относительно многих переменных система является линейной. Но из-за большого количества уравнений и переменных (более 100 в интересных случаях) использовать полностью это особенность не так-то просто.
Решению этой проблемы и посвящена диссертация Захаровой Е.А.
1999 год.
Получены новые математические результаты. Наиболее существенные из них - построение кода над алфавитом из 10 элементов исправляющий одну ошибку длины 5<=n<=12 мощности 0.82*10^(n-2). Причем при n=12 построенный код оказался совершенным, то есть его мощность достигает предела, заданного границей Хемминга. По всей видимости это первый пример совершенного нелинейного кода.
1998 год.
Дзета-функция Римана является одной из наиболее интересных и сложных функций в математике. Поэтому, естественно, хочется иметь алгоритм ее вычисления в комплексной области с любой наперед заданной точностью. В процессе работы над литературой подобного алгоритма обнаружить не удалось. Все имеющиеся алгоритмы сходятся черезчур медленно: за приемлемое время (секунды или даже минуты) получить результат с хорошей точностью (хотя бы 10-12 знаков) при Re(z)=1/2 оказывалось совершенно невозможно.
Автором был предложен свой метод вычисления дзета-функции. Суть его сводится к тому, что мы вычисляем первые N членов исходного ряда непосредственно, а для вычисления остатка находим первые M членов некоторого другого ряда [формула (10), стр.9]. Основная трудность состоит в том, что второй ряд расходится: члены его сначала убывают, а начиная с некоторого места начинают расти. Однако в диссертации Тихомировой Е.А. доказано, что при достаточно большом N (зависящем от аргумента z) и подходящем M частичная сумма ряда сколь угодно точно приближает дзета-функцию. При этом предложенный алгоритм достаточно эффективен: в самом сложном случае (Re z = 1/2) при не слишком большом |z| ( < 1000) для получения точности 1e-15 достаточно взять несколько десятков членов первого ряда и не более 20 - второго.
Полученный алгоритм, оформленный в виде модуля на языке Turbo Pascal будет включен в разрабатываемую математическую библиотеку. В настоящее время она уже содержит набор функций теории вероятности, разработанный Тихомировой Е.А. в качестве дипломной работы,набор основных математических функций (гамма, бета, Si, Ci и др.) (Волкова В.Б.) и пакет современных высокоэффективных численных методов решения ОДУ (Балабанов Н.Б.) и некоторые другие алгоритмы.
Методы Рунге-Кутты - один из наиболее эффективных методов xисленного решения обыкновенных дифференциальных уравнений. С ними конкурируют методы Адамса, но в случае использования переменного шага использование методов Адамса весьма неэффективно и методы Рунге-Кутты остаются практические единственным эффективным методом.
Естественно, хотелось бы как можно более сократить объем вычислений. Для этого надо применить методы возможно более высокого порядка (высокой точности). Нахождение таких методов сводится к решению большой системы нелинейных полиномиальных уравнений на коэффициенты метода. Явно решить эту систему удается только для методов порядка не выше 5. Для методов более высокого порядка приходится искать другие подходы.
Один из таких подходов связан с использованием некоторых подпространств L, зависящих от матрицы коэффициентов метода. Большое значение имеет размерность этих подпространств. Методы, матрица которых обладает таким свойством будем называть вырожденными.
В дипломной работе Абдеева Р.Л. исследуются методы Рунге-Кутта порядка 3 и 4, для которых размерность этих подпространств наименьшая возможная (теоремы 1 и 2).
В современном виде теория латинских квадратов оказывается связанной с теорией кодирования, точнее - с кодами обнаруживающими и исправляющими ошибки. Так каждому латинскому квадрату размера n*n соответствует код над алфавитом из n элементов длины 3, обнаруживающий любую одиночную ошибку, паре ортогональных квадратов - код длины 4, исправляющий любую одиночную ошибку. Наиболее мощные методы, разработанные в теории кодирования применимы лишь в случае, когда алфавит является полем, что возможно лишь тогда, когда n является степенью простого числа. Поэтому один из самых важных с практической точки зрения случаев - n=10, не может быть рассмотрен этими методами. В этой ситуации помощь может оказать теория латинских квадратов.
Список неэквивалентных квадратов 7*7 имеется - их 564 штуки. В то же время ортогональные дополнения имеют среди них лишь 15.
В дипломной работе Макарцевой С.А. исследуются ортогональные пары латинских квадратов размера 7*7, делается попытка выделить свойства тех квадаратов, которые имеют ортогональные дополнения.
Вводятся интересные инварианты латинского квадрата - его характеристический многочлен и расширенный характеристический многочлен. Латинские квадраты, имеющие ортогональные дополнения, удалось выделить именно в терминах этих многочленов.
Изучение специальных функций всегда было важнейшей задачей математического анализа. Одна из наиболее важных специальных математических функций - функция Бесселя.
В дипломной работе студентки Смирновой О.И. изучены основные методы вычисления функций Бесселя. Приведена их реализация на языке Паскаль. Выполнено сравнение результатов вычислений при различных значениях аргумента.
В сущности, методов вычисления приведено два. Один - разложение в степенной ряд по степеням x, другой - разложение в ряд по степеням 1/x. Естественно, при малом значении аргумента лучше применять первый метод, при большом - второй.
Числа Бернулли так часто встречаются в математическом анализе, что их можно отнести к важнейшим последовательностям чисел. Известно множество их свойств и несколько методов их вычисления.
В дипломной работе студентки Тимеркаевой И.Н. изучены основные методы вычисления чисел Бернулли. Приведена их реализация на языке Паскаль. Выполнено сравнение результатов вычислений при различных значениях аргумента.
Реально применимых методов вычисления оказалось два. Один - рекуррентная формула, с помощью которой следующее число выражается через предыдущие. На первом этапе работы казалось, что другого метода и не потребуется. Но при проверке указанного алгоритма оказалось, что метод неустойчив - погрешность весьма быстро растет. В результате, при n>50 вычисление чисел Бернулли этим методом оказалось невозможным.
После этого Тимеркаевой И.Н. был найден и реализован еще один метод - разложение в бесконечный ряд. Оказалось, что при n>10 этот ряд сходится очень быстро и дает значение числа Бернулли с очень хорошей точностью.
Методы Рунге-Кутты - один из наиболее эффективных методов численного решения обыкновенных дифференциальных уравнений. С ними конкурируют методы Адамса, но в случае использования переменного шага использование методов Адамса весьма неэффективно и методы Рунге-Кутты остаются практические единственным эффективным методом.
Естественно, хотелось бы как можно более сократить объем вычислений. Для этого надо применить методы возможно более высокого порядка (высокой точности). Нахождение таких методов сводится к решению большой системы нелинейных полиномиальных уравнений на коэффициенты метода. Явно решить эту систему удается только для методов порядка не выше 5. Для методов более высокого порядка приходится искать другие подходы.
Один из таких подходов связан с использованием некоторых подпространств L, зависящих от матрицы коэффициентов метода. Большое значение имеет размерность этих подпространств, особенно те случаи, когда она оказывается меньше максимальной. Методы, матрица которых обладает таким свойством будем называть вырожденными.
В дипломной работе Заверячевой С.Г. исследуются условия на матрицу коэффициентов метода Рунге-Кутта порядка 3 и 4, при которых метод окажется вырожденным.
1997 год.
Латинские квадраты представляют собой частный случай кодов, обнаруживающих (исправляющих) ошибки. Если A(ij) - латинский квадрат, то множество троек (i,j,A(ij) с двумя информационным символами, одним контрольным, обнаруживающий одну ошибку. Теория кодирования является прекрасно разработанной наукой, построено множество кодов с очень хорошими характеристиками. Но практически все результаты относятся к случаю, когда на исходном алфавите можно ввести структуру поля, что возможно лишь в случае, когда количество элементов является степенью простого числа. Поэтому один из важнейших с практической точки зрения случаев - коды над алфавитом из 10 элементов, не может быть исследован обычными методами теории кодирования. Сюда же относится и случай алфавита из 6 элементов.
Поэтому есть смысл подойти к теории кодирования с другой стороны - рассмотреть коды длины 3 как латинские квадраты. В связи с этим было бы интересно получить полную классификацию таких кодов (квадратов). Сделать это можно не всегда, а лишь при n<8, так как при большем n количество типов квадратов становится черезчур велико для осмысленной классификации.
При n=2,3,4,5 количество типов не превышает 2 и их легко описать вручную. n=6 - фактически, первый нетривиальный случай. Мы имеем 22 различных типа квадрата. (Известно, что при n=7 будет 564 различных типа). Вряд ли можно получить все эти квадраты без помощи компьютера.
Основной сложностью при классификации квадратов является требуемый объем вычислений. Если их перебирать напрямую, "в лоб", то объем работы будет непреимлимо велик. Его требуется сократить не на проценты и не в разы, а на много порядков. Именно поиск и реализация такого алгоритма и составляют содержание данной работы.
В современном виде теория латинских квадратов оказывается связанной с теорией кодирования, точнее - с кодами обнаруживающими и исправляющими ошибки. Так каждому латинскому квадрату размера n*n соответствует код над алфавитом из n элементов длины 3, обнаруживающий любую одиночную ошибку, паре ортогональных квадратов - код длины 4, исправляющий любую одиночную ошибку. Наиболее мощные методы, разработанные в теории кодирования применимы лишь в случае, когда алфавит является полем, что возможно лишь тогда, когда n является степенью простого числа. Поэтому один из самых важных с практической точки зрения случаев - n=10, не может быть рассмотрен этими методами. В этой ситуации помощь может оказать теория латинских квадратов.
В дипломной работе Кочетковой К.Э. исследуется понятия слабой
эквивалентности латинских квадратов, - расширение понятия обычной
эквивалентности (перестановки строк, столбцов и перенумерация элементов).
Предлагается инструмент для описания классов слабой эквивалентности
(теорема 4.6) и доказывается, что при n<6 слабая эквивалентность
совпадает с обычной. Можно привести пример пары слабо эквивалентных
латинских квадратов размера 6*6, которые не будут эквивалентны, поэтому
теорему нельзя распространить на большие n.
1996 год.
Дипломная работа посвящена изучению системы нелинейных полиномиальных уравнений, возникающих при нахождении методов типа Рунге-Кутты. Неизвестными в этих уравнениях являются коэффициенты некоторой нижнетреугольной матрицы и вектор. В практически важных случаях размер матрицы должен быть не меньше, чем 10*10, а количество уравнений - несколько сотен.
В работе предлагается матричный способ записи этой системы уравнений.
Достаточно интересным является введенное в п.4 понятие k-полной матрицы.
В дипломной работе это сделано для матриц размера 2*2, 3*3 и 4*4.
1995 год.
При численном решении обыкновенных дифференциальных уравнений методами типа Рунге-Кутты в современной вычислительной практике общепринятым является использование методов автоматического выбора шага. Этот прием обеспечивает ускорение вычислений примерно на порядок. Вместе с тем, результаты вычислений обычно требуются с постоянным шагом. Это вынуждает комбинировать такие методы Рунге-Кутты с интерполяционными формулами, что значительно усложняет вычисления.
Непрерывные методы Рунге-Кутты являются, фактически комбинацией обычных методов Рунге-Кутты с чем-то типа интерполяционной формулы. Эту формулу хотелось бы подобрать так, что бы получать ответ без дополнительных вычислений функции. К сожалению, это возможно не всегда.
В диссертации Котвина С.В. найдены непрерывные расширения некоторых формул Рунге-Кутты (включая классические 3-го и 4-го порядка точности) и доказано, что для методов Бутчера 6-го порядка и Мерсона 5-го порядка такие формулы не существуют.
Дзета-функция Римана является одной из наиболее интересных и сложных функций в математике. Поэтому, естественно, хочется иметь алгоритм ее вычисления в комплексной области с любой наперед заданной точностью. В процессе работы над литературой подобного алгоритма обнаружить не удалось. Все имеющиеся алгоритмы сходятся черезчур медленно: за приемлемое время (секунды или даже минуты) получить результат с хорошей точностью (хотя бы 10-12 знаков) при Re(z)=1/2 оказывалось совершенно невозможно.
Балабанов Н.В. Минимальная размерность систем дифференциальных уравнений, необходимая для вывода формул метода Рунге-Кутты.
Классические формулы Рунге-Кутты выводятся для уравнения вида y'=f(x,y), где x,y - действительные переменные. Затем эти же формулы применяются для численного решения векторной системы ОДУ Y'=F(x,Y), где Y - n-мерный вектор. Такой подход не вполне правомерен: формулы, справедливые в одномерном случае, не обязаны быть верными и в общем. Однако более сложный вывод многомерных формул Рунге-Кутты четвертого порядка дает в точности ту же самую матрицу коэффициентов.
В диссертации Балабанова Н.В. рассмотрен круг вопросов, касающихся
распространения формул Рунге-Кутты, выведенных для n-мерных систем
обыкновенных дифференциальных уравнений на уравнения большей размерности.
1993 год.
Case-системы уже существуют (Menu Maker из пакета Object Professional и др.). Естественно, при разработке новой системы была поставлена цель существенно превзойти их, по крайней мере в некоторых областях. В результате очень большой и профессиональной работы поставленная цель была достигнута. Конечно, дипломной работе невозможно соревноваться с вышеупомянутыми аналогами по широте охвата и разнообразию предоставляемых возможностей. Однако в своей области - построении системы иерархических меню представленная система намного компактнее и значительно удобнее в работе.
Система разработана для объктно-ориентированного языка С++, активно использует понятие классов, сам текст диплома можно рассматривать как весьма подробную документацию по представленному пакету.
Кубическая форма (однородный многчлен степени 3) в пространстве Rn называется разложимой, если она являвется произведением линейной и квадратичной форм. Важным инвариантом кубической формы является ее гессиан и отношение эквивалентности на множестве кубических форм (см.стр.1)
В дипломной работе Евсеевой О.А. находится гессиан произвольной разложимой кубической формы и вычисляется отношение эквивалентности на нем.
В кчестве промежуточного результата получен весьма интересный факт - описание всех разложимых кубических форм над полем комплексных чисел.
Дипломная работа Родионова Е.Г. была задумана в виде исследование языка REDCODE и в частности для моделирования игры, известной под названием "бой в памяти". Сущность ее заключается в том, что в памяти компьютера одновременно (параллельно) выполняются сразу две программы, каждая из которых, вообще говоря, может мешать нормальной работе другой. Разумеется, для подобного моделирования необходим некоторый монитор, управляющий работой обоих программ. Однако в процессе работы над этой темой выяснилось, что для проведения сколько-нибудь серьезных исследований требуются и другие, достаточно мощные инструменты, а именно транслятор с языка REDCODE и отладчик. Работа без этих инструментов оказалась практически невозможной, а из написание весьма трудоемким. Создание этих инструментов и составило содержание дипломной работы.
Созданный транслятор, несмотря на простоту языка, содержит все основные элементы, имеющиеся и в трансляторах с других языков программирования. А ввиду его небольшого (по сравнению с другими трансляторами) объема и доступности исходного текста, к тому же написанного на языке высокого уровня (Turbo Pascal), его вполне можно использовать для демонстрации общих принципов работы подобных программ.
Язык REDCODE, о котором идет речь в рецензируемой работе, известен среди программистов-профессионалов как простейший язык низкого уровня, на котором можно реализовать практически любую программу. Поэтому язык представляет интерес и с точки зрения обучения, и с точки зрения исследования общих свойств машинных языков.
В дипломной работе Родионова Е.Г. представлен набор программ для IBM-совместимого компьтера, реализующих полный цикл работ на языке REDCODE: транслятор, отладчик и управляющая программа.
Программы написаны грамотно, структурно, имеют объем около 50 страниц. Но количество комменариев в тексте явно недостаточно, что затрудняет чтение и понимание программы. В некоторой степени это искупается текстом самого диплома, который можно рассматривать как один большой комментарий к программам.
При решении задач теории вероятностей и статистики, часто требуется вычислять функции распределения той или иной случайной величины. В дипломной работе Тихомировой Е.А. предлагается достаточно полная и тщательно проверенная библиотека функций распределения случайных величин, распределенных по наиболее часто встречающимся законам.
В процессе работы автору, помимо чисто программистских задач, пришлось собрать воедино большое количество методов из самых разных источников, сравнить их между собой, подобрать для каждого метода оптимальную область его применения. В результате все функции работают достаточно быстро и дают хорошую точность (10-16 верных знаков).
Определенные проблемы возникли в связи с оценкой точности полученных результатов, особенно в комплексной области. Найти подходящие данные для сравнения оказалось сложно.
Вычисление функции распределения нормальной случайной величины - достаточно простая и широко известная задача. Потребность в функциях распределения других случайных величин встречается гораздо реже. Но если возникнет такая необходимость, то найти подходящий метод вычисления окажется довольно сложно. В такой ситуации пакет функций, предложенный в рассматриваемой работе окажется весьма полезным.
Дипломную работу Тихомировой Е.А. можно использовать так же и для построения случайных величин, распределенных по законам Фишера, Стьюдента и пр., для чего требуется вычисление функций, обратных к функциям распределения указанных случайных величин. Для этого можно в принципе воспользоваться известным пакетом "Numerical Methods" фирмы Turbo Power Software, но было бы весьма желательно включение соответствующих функций в сам пакет.
Следует отметить высокую точность применяемых методов: погрешность, в зависимости от функции лежит в пределах от 10 до 16 знаков. Сам текст диплома, после разумного сокращения может служить прекрасной документацией по предлагаемым функциям.
В настоящыее время к наиболее распространенным типами программ для ПЭВМ относятся различные текстовые редакторы и базы данных. Они предполагают ввод и вывод больших обьемов информации, активный диалог с пользователем. Реализация подобных программ на любом языке программирования не представляет принципиальных сложностей, но практически весьма тяжела из-за очень большого объема получающегося текста программы.
Работа представляет собой программу ведения базы данных,реализованную на языке Clarion, которая состоит из 9 файлов данных и 37 различных меню, таблиц и форм. Еще несколько лет назад создание подобной программы было бы весьма сложным и дорогим делом и было бы одному человеку почти не под силу за разумный срок. Однако в связи с последними достижениями в области программых технологий (CASE-система DISIGNER) разработку этой системы оказалось возможным поместить в рамки дипломной работы.
Первоначально тема дипломной работы планировалась иная - разработка базы данных по олимпиадным задачам по математике. Однако в начеле текущего учебного года министерство высшего образования Буркина-Фасо преложило разработать программу, в которой у них ощущалась практическая потребность - базу данных об студентах, обучающихся за пределами страны а так же сотрудниках. В результате соображения практической применимости перевесили потребность в базе данных по олимпиадным задачам. Система программирования "Clarion" была признана наиболее подходящей для решения. Целью дипломной работы как раз и является разработка этой системы.
Практически в любом языке программирования имеются способы вычисления основных элементарных функций. Однако найти хоть сколько-нибудь полную библиотеку для вычисления специальных функций трудно, тем более для комплекснозначных функций комлексного аргумента.
Предлагаемая работа, конечно, не решает полностью эту проблему, но закладывает хорошие основы для построения такой библиотеки на языке Паскаль.
Хотя для языка Паскаль pазpаботано огpомное количество пpогpамм, pеализующих pазличные методы вычислительной математики, лишь немногие из них pаботают с комплексными числами, и редко встречаются вычислении значений специальных функций в комплексной области.
Следует отметить, что Волкова В.Б. успешно спpавилась с этой, достаточно нетpивиальной задачей. Вместе с тем, хотелось бы иметь более подpобные сведения, как о точности вычисления pассматpиваемых функций для pазличных значений действительного и комплексного аpгумента, так и о вpемени их вычисления.
При активной работе на персональном компьютере обычно накапливается множество самых разнообразных файлов, назначение которых через несколько месяцев вспомнить довольно трудно. Например, при разработке более-менее содержательной программы на С, С++ в текущем каталоге обычно накапливается до сотни файлов только с текстами программам (*.c, *.cpp, *.h). Если компьютер испльзуется для обработки текстов (письма, приказы, отчеты и пр.) то количество файлов в каталоге оказывается еще большим, причем в этом случае, как показывает практика, имена файлов (типа TANYA.4) практически ни о чем не говорят.
Конечно, хотелось бы иметь программу, которая могла бы автоматически создавать описание каждого файла в каталоге. Для этого, в принципе, есть два пути. Один - попыталься найти осмысленное описание файла в нем самом. Другой путь - потребовать от пользователя ввести комментарии к вновь появившимся файлам в каталоге с клавиатуры.
В дипломной работе Зверева Д.В. было решено выбрать смешанную стратегию
- для файлов с расширениями *.PAS, *.C, *.CPP, *.H выбирать комментарии к
файлам из них самих - просто первый нетривиальный комментарий к
программе, найденный в соответсвии с правилами соответствующего языка
программирования (С, С++ или Паскаля). Для остальных типов файлов
пользователь должен вводить комментарий с клавиатуры.