- •«Санкт-Петербургский государственный электротехнический университет «лэти» им. В.И.Ульянова (Ленина)» (сПбГэту «лэти»)
- •Выпускная квалификационная работа бакалавра Тема: решение тропических линейных уравнений с трехдиагональными матрицами
- •Санкт-Петербургский государственный электротехнический университет
- •(СПбГэту “лэти”)
- •Задание на выпускную квалификационную работу
- •Реферат
- •Определения, обозначения и сокращения
- •Введение
- •1 Тропические системы линейных уравнений
- •Определение тропической математики
- •Тропические многочлены и матрицы
- •1.3 Решение тропической системы линейных уравнений
- •1.4 Описание алгоритма Григорьева
- •1.5 Пример работы алгоритма Григорьева
- •1.6 Тропические рекуррентные последовательности
- •2 Алгоритм гаусса и трёхдиагональные матрицы
- •2.1 Метод Гаусса-Жордана
- •2.2 Алгоритм Гаусса
- •2.3 Схема выбора главного элемента
- •Трёхдиагональные матрицы и метод прогонки
- •Сравнение алгоритмов гаусса и григорьева
- •3.1 Сравнение шагов алгоритма Гаусса и алгоритма Григорьева
- •3.2 Переупорядочивание строк и столбцов
- •Модификация алгоритма григорьева для трёхдиагональных матриц
- •4.1 Идеи модификации алгоритма Григорьева
- •4.2 Модификация программы
- •5 Экономическое обоснование
- •5.1 Обоснование целесообразности исследования
- •5.2 Трудоёмкость и календарный план
- •5.3 Оценка величины заработной платы и социальных отчислений участников исследования и разработки
- •5.4 Расчёт амортизации
- •5.5 Расчёт себестоимости разработки системы
- •Заключение
- •Список литературы
- •Приложение а
- •Приложение б
4.2 Модификация программы
Перейдём к программным изменениям. За основу возьмём программу, написанную Александром Побежимовым [12].
В неё нужно внести незначительные изменения: заменить тропическое сложение всех элементов строки на тропическое сложение трёх элементов. Для строки с номером i будет рассчитываться сумма элементов i-1, i, i+1. Это должно быть внесено во все части программы, где идёт работа с конкретной строкой. Код новых функций приведён в приложении А.
П осмотрим, как меняется фактическое время работы.
Рисунок 4.1 – Результат работы преобразованной программы
На основе рис. 4.1 построим графики для наглядности сравнения времени: логарифмическое представление (рис. 4.2) и нелогарифмическое (рис. 4.3).
Р исунок 4.2 – Сравнение времени работы, логарифмическая шкала
Рисунок 4.3 – Сравнение времени работы
Видно, что модификация заметно повышает скорость работы алгоритма. Далее попробуем оптимизировать проверку совместности системы. Как уже говорилось в разделе 4.1, формула 4.1 позволяет только вычислить минимум, а на существование решения влияет, строгим он является или нет. В связи с этим был реализован следующий алгоритм проверки системы на наличие решений: в цикле по всем возможным перестановкам чисел от 0 до m-1 используем текущую перестановку как номера столбцов элементов соответствующих строк, тропическое произведение которых мы и будем искать – это определение тропического перманента, представленное в формулах (1.2) и (1.3). Далее для каждого набора элементов будет найдено тропическое произведение – сумма, затем эта сумма будет сравниваться с минимумом по всем предыдущим перестановкам. Параллельно будет осуществлён подсчёт количества равных ему сумм. При этом, если будет найдено значение, меньшее локального минимума, имеющегося на i-ой итерации, счётчик обнулится и минимум будет переопределён.
Особенность для трёхдиагональных матриц заключается только в том, что при поиске значения тропического произведения для каждой перестановки будет учитываться модуль разности значения элемента перестановки с его индексом. Если они различаются на единицу, то в матрице системы этот элемент равен тропическому нулю – бесконечности, что следует из определения трёхдиагональной матрицы. Такие перестановки сразу удаляются из рассмотрения (расчёты для них не производятся до конца), что даёт некоторый выигрыш во времени.
Код с проверкой системы на решаемость представлен в приложении Б.
Вывод
Удалось реализовать спецификацию алгоритма Григорьева для трёхдиагональных матриц, которая работает эффективно по времени и по памяти. В качестве дальнейшей разработки можно заменить массив типа bool для проверки принадлежности столбца к множеству J на машинные слова и битовые операции.
5 Экономическое обоснование
В данном разделе производится расчёт себестоимости исследования в соответствии с [15].
5.1 Обоснование целесообразности исследования
Так как тропическая математика в некоторых сферах позволяет значительно упрощать решение задач как в плане необходимых вычислительных мощностей, так и в затрачиваемом времени, данная исследовательская работа имеет прикладное значение.
На некоторых матрицах алгоритм Григорьева имеет сложность, близкую к полиномиальной, и этот результат лучше, чем сложность алгоритма Гаусса в классической математике. Соответственно, разрабатываемая модернизация алгоритма Григорьева на трёхдиагональные матрицы может быть использована для получения выгоды в скорости решения ряда задач, напрямую связанных с дифференциальными уравнениями (например, приближение функций сплайнами) и физических задач (для которых переход в min-plus-алгебру даёт наиболее ярко выраженную выгоду).
Данная работа не имеет аналогов, несмотря на то, что современные математики активно изучают тропические системы для получения алгоритмов с полиномиальной сложностью. Соответственно, результат исследования либо покажет необходимость дальнейшего рассмотрения темы, либо, по меньшей мере, обозначит направления его движения.