Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Принятие рациональных решений в системах с управлением. Учебное пособие
.pdf
Задачу поиска оптимального пути от исходной точки u (ближайшей к ней
( , )G V E
( , )uv
( , )L u v
i
v
аудитории) до искомой аудитории vбудем трактовать как известную из дискретной
математики задачу поиска кратчайшего пути в графе [1, 47]. Такой же подход
используется в рассмотренных мобильных приложениях для пешей навигации.
Пусть задан ортограф
соответствие число
– длина дуги. Под длиной дуги маршрута (пути)
, каждой дуге которого
ставится в
понимают сумму дуг, составляющих маршрут (путь). Требуется найти длины
кратчайших маршрутов (путей) и сами маршруты (пути) от фиксированной
вершины uдо всех остальных вершин графа
.
Наиболее известными алгоритмами поиска кратчайшего маршрута в графе
являются: алгоритм поиска в ширину, жадный алгоритм поиска кратчайшего пути,
алгоритм Дейсктры [6, 45].
Алгоритм поиска в ширину «послойно» обходит вершины графа. На
итерациях имеет «передовую» вершину, относительно которой производится
проверка смежных вершин на их посещение.
Жадный алгоритм, являясь примером итерационной процедуры, при каждом
повторе ищет новую вершину графа с наименьшим весом, т.к. стремится отыскать
единственный наилучший способ решения задачи.
Алгоритм Дейкстры ориентирован на решение проблемы отыскивания
короткого маршрута на графе.
В таблице 4.2 приведён сравнительный анализ указанных алгоритмов поиска
кратчайшего пути в графе.
В основу рекомендательной системы для поиска оптимального маршрута до
учебной аудитории в качестве математического аппарата положен алгоритм
Дейкстры [6, 45]. Программная реализация построена на основе UML-шаблонов
проектирования [33, 50], архитектура программного средства BLoC (компонент
бизнес-логики), идея которой заключается в разделении визуального интерфейса
(UI-компонента) и бизнес-логики приложения, взята из единой системы
программной документации [13].
61

Таблица 4.2 – Сравнительный анализ алгоритмов кратчайшего пути в графе (n,
Алгоритм
Временная
сложность
Преимущества
Недостатки
Алгоритм
поиска в
ширину
()O m n
сравнительная
простота
реализации;
полнота и
оптимальность
при увеличении пространства
поиска производительность
поиска снижается по
сравнению с другими
эвристическими алгоритмами;
относительно высокая
ёмкостная и временная
сложность
Жадный
алгоритм
поиска
3
()On
простота поиска
оптимального
решения;
простота оценки
временной
сложности
сложность оценки
правильности алгоритма
Алгоритм
Дейкстры
( ln )O n m
сравнительная
простота
реализации;
полиномиальная
временная
сложность
находит кратчайшие пути и их
величины только от одной
вершины;
используется для поиска в
графе рёбер, имеющих
неотрицательные веса
m – число вершин и рёбер графа соответственно)
Для взаимодействия с пользователем потребуются следующие визуальные
элементы управления:
поле выбора начальной и конечной точек маршрута;
кнопки старта и сброса маршрута;
кнопки для пролистывания этапов следования по маршруту;
кнопки, отвечающие за масштабирование и ориентацию карты;
поле для отображения карты и рассчитанного маршрута;
выпадающий список для выбора отображаемой карты.
Для функционирования интерфейса требуются классы, в которых реализованы
алгоритмы: поиска путей, взаимодействия с базой данных, отображения карт и
дополнительной информации, а также работа с временными данными (требующейся
для корректной работы программы). Термин «класс» в данном случае используется
62

в контексте объектно-ориентированного программирования и подразумевает собой
шаблон для создания объектов, обеспечивающий начальные значения состояний:
инициализация полей-переменных и реализация поведения функций или методов.
Это позволяет создать универсальный программный продукт для различных карт.
Карты используются в автономном режиме, т.к. все необходимые данные
хранятся в приложение и расчёт оптимального пути не требует подключения к сети
Интернет и выполняется прямо на устройстве пользователя.
Заключительная строка таблицы содержит в себе три кнопки:
предыдущее действие (если путь проложен не только на одном этаже, а
затрагивает переходы между этажами и корпусами);
очистить (стирает маршрут из памяти и экрана, а также блокирует соседние
кнопки);
следующее действие (если путь проложен не только на одном этаже, а затрагивает
переходы между этажами и корпусами).
На рисунке 12 представлена вкладка «Навигация» мобильного приложения.
Рисунок 12 – Вкладка «Навигация»
В качестве среды для разработки мобильного приложения по поиску
аудитории выбран Android Studio. Для разработки программного продукта
использовался объектно-ориентированный язык Flutter. Выбранный язык является
63

кроссплатформенным языком, что позволяет создавать мобильные приложения под
Android и iOS, а также для стационарных решений, а именно под Windows, macOS и
Linux с использованием языка программирования Dart, разработанный и
развиваемый корпорацией Google. В языке Dart нет готового инструмента для того
чтобы отображать карты, поэтому с помощью доступного функционала можно
создать новый функционал, отвечающим всем требованиям.
Перед разработкой рекомендательной системы для поиска оптимального
маршрута до учебной аудитории создан шаблон данных, который отображается на
экране устройства. С помощью встроенного инструмента, заложенного во
фреймворке Flutter, в котором реализован функционал отображения примитивных
геометрических фигур (точка, линия, окружность) и окрашивания их в любой цвет,
написан класс обрабатывающий входной многомерный массив данных и
отображающий на карте результат. На рисунке 13 приведён пример шаблона
данных:
массив точек карты – стены здания или корпуса;
массив точек карты – стены (внутренней планировки помещений);
массив точек графа – дороги (возможные маршруты, пути);
массив точек легенды карты – окружности большого диамметра
(местонахождение пронумерованных аудиторий, корпусов и иных помещений);
таблица смежности – указание путей между вершинами графа.
Рисунок 13 – Шаблон данных
Для разработки программного обеспечения проделана большая
предварительная работа на базе предоставленных ОГУ документов о планировке
64

корпусов и актуальной информации о расположении аудиторий, а также
вспомогательных помещений.
На следующем шаге подготовленный материал форматирован к виду,
положенному в основу шаблона данных.
Затем конечный результат помещен в базу данных, которая расположена на
удаленном сервере. В интерфейсе поля, отвечающего за выбор начальной и
конечной точки маршрута, происходит наполнение информацией из базы данных, а
точнее из полей легенды карты при старте программы. Когда пользователь
совершает выбор, то данные записываются во временные переменные, описанные в
логической архитектуре, подразумевающей под собой объектно-ориентированное
представление программы, которая содержит слои, классы объектов, пакеты,
основные платформы, интерфейсы и подсистемы и их взаимодействия.
На рисунке 14 показан пример работы шаблона данных, принимающего
входные данные и отображающего возможные маршруты внутри помещения, с
нумерацией аудиторий.
Рисунок 14 – Пример работы шаблона данных
На рисунке 15 приведён пример выбора начальной точки маршрута.
65

а
б
Рисунок 15 –
Пример выбора
начальной точки
маршрута
Рисунок 16 –
Пример
выпадающего
списка
а – маршрут между корпусами; б –
маршрут в корпусе
Рисунок 17 – Карта эксперимента
В интерфейсе предусмотрен выпадающий список, из которого пользователь
может выбрать нужную карту для отображения, результат записывается во
временную переменную, описанную в логической архитектуре, и передаёт его в
класс для отображения. Пример выпадающего списка представлен на рисунке 16.
Для тестирования работы мобильного приложения по поиску аудитории
проведён эксперимент, согласно которому требуется построить кратчайший путь от
16 корпуса до аудитории 20119, расположенной в 20 корпусе на 1 этаже. На рисунке
17 представлена карта проведённого эксперимента.
На рисунке 18 приведён рекомендуемый системой маршрут эксперимента,
полученный применением алгоритма Дейкстры, числа на котором означают
последовательность точек графа, через который проходит путь.
Рисунок 18 – Рекомендуемый маршрут эксперимента
66

Для упрощение работы по добавлению новых карт в систему, разработан
Рисунок 19 – Карта возможных маршрутов
1
2
вспомогательный сервис, написанный на языке программирования PHP1, который
преобразует SVG картинку2 в набор данных по созданному шаблону.
К структуре SVG изображение выдвигаются следующие требования:
1 слой – стены здания или корпуса;
2 слой – стены (внутренней планировки помещений);
3 слой – дороги (возможные маршруты, пути) ;
4 слой – окружности малого диамметра (местонахождение точек графа);
5 слой – окружности большого диамметра (местонахождение пронумерованных
аудиторий, корпусов и иных помещений).
На рисунке 19 представлен пример изображения карты, которая
обрабатывается вспомогательным сервисом.
На рисунке 20 приведена структура SVG изображения, полученная за счёт
обработки данных о планировке помещений и актуальной информации в программе
Adobe Illustrator.
Lerdorf, Rasmus (June 8, 1995). Announce: Personal Home Page Tools (PHP Tools). Retrieved 7 June 2011.
SVG (от Scalable Vector Graphics — масштабируемая векторная графика) — это вид графики, которую
создают с помощью математического описания геометрических примитивов, которые и образуют все детали
изображения.
67

Рисунок 20 – Структура SVG изображения
Рисунок 21 – Таблица
смежности
На основание слоев 3 и 4 за счёт работы скрипта php генерируются таблица
смежности графа, приведённая на рисунке 21. На вход подаются данные, далее
вычисляются растояния между точками и на основании бинарных отношений
принадлежности точек прямым и пересечения прямых, определяются ближашие
соседи для всех вершин (скрипт рассматривает маршруты, проходящие через
окружности из слоя 4 и ищет ближайшие окружности, через которые также
проходят эти дороги). Заключительным этапом работы вспомогательного сервиса
является выгрузка конечного результата в базу данных, которая расположена на
удалённом сервере.
Популярность навигационных сервисов, реализованных в виде мобильных
приложений, с каждым годом только растет в виду доступности мобильных
устройств. Поэтому мобильное приложение по поиску оптимального маршрута до
учебной аудитории удобно в использовании и позволяет студентам более грамотно
организовать свою деятельность. Такой подход позволит повысить эффективность
обучения за счет экономии времени на поиск аудитории.
Представленный в данном пункте материал составляет собой содержание
выпускной квалификационной работы по направлению подготовки 01.03.02
Прикладная математика и информатика. В процессе выполнения данной ВКР
68

студентом была проделана большая работа по сбору информации, обзору
существующих мобильных приложений для пешей навигации, разработки
собственного мобильного приложения для навигации внутри помещения на основе
алгоритма Дейкстры. Промежуточные и итоговые результаты опубликованы в
журналах ВАК [18,19], а также обсуждены и получили одобрение в рамках научнометодической конференции с последующей публикацией в сборнике [29]. Новизна
предложенной разработки заключается в универсальности по отображению,
добавлению и редактированию карт. Полученные в результате проведенного
научного исследования результаты могут быть использованы для разработки
навигационных сервисов внутри крупных помещений, не обязательно
университетов. Дальнейшее совершенствование мобильного приложения по поиску
учебной аудитории возможно в направлении улучшения его точности за счёт
объединения алгоритмов поиска путей в графе, а также перевод карт из 2Dпространства в 3D-пространство. Также возможно расширение функционала
возможностей разработанного мобильного приложения для получения
дополнительных сведений. Напрмер, предоставления доступа к новостной ленте
университета, расписанию и другим сервисам.
4.2 Система поддержки принятия решений при выборе
здоровьесберегающего курса физических упражнений
Реалии современного мира таковы, что большая часть населения сталкивается
с проблемой недостаточной физической активности. В свою очередь дефицит
физической активности создает проблему избыточного веса населения. Многие
страны бьют тревогу из-за того, что проблема избыточного веса представляет
серьезную угрозу здоровья населения. По данным медицинских исследований 58%
людей с лишним весом страдают диабетом II типа, 21% – ишемией, 39% –
гипертонией, от восьми до тридцати двух процентов различными формами
новообразований, тринадцать процентов – остеопорозом. В этой связи уместно при
69

выборе систем физических тренировок исходить из здоровьесберегающего
X
принципа. При этом развитие систем искусственного интеллекта и их активное
использование во многих сферах человеческой деятельности предоставляет
возможность внедрять их для разработки систем физических тренировок.
Цель исследования – разработать интеллектуальную систему поддержки
принятия решений, позволяющую подобрать рациональную систему тренировок для
женщин, учитывающую антропометрические, физические данные и основные
показатели здоровья.
Для достижения поставленной цели в проведенном исследовании
сформулированы и решены следующие задачи:
– ввести основные антропометрические, физические данные и показатели здоровья
и выявить наиболее значимые из них;
– провести обзор различных групп физических занятий и основания для их
назначения;
– сформулировать правила для определения классов для подбора программы
физических занятий в соответствии с исходными значения наиболее значимых
антропометрических, физических данных и показателями здоровья;
– разработать интеллектуальную систему поддержки принятия решений,
позволяющую подбирать наиболее приемлемую программу физических занятий для
женщин, исходя из их физических и антропометрических данных, для сохранения
или улучшения основных показателей здоровья;
– апробировать разработанную интеллектуальную систему поддержки принятия
решений для выбора наиболее приемлемых физических занятий.
В качестве информационной базы исследования взята выборка о физических и
антропометрических данных женщин в возрасте от 20 до 65 лет, подробная
информация о наборе данных представлена в источниках [21-25]
В соответствии с поставленными выше задачами для формализации введем
следующие обозначения:
– множество физиологических данных и показателей здоровья женщин в
возрасте от 20 до 65 лет;
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
