Научная статья на тему 'Веб-приложение для построения кратчайших маршрутов в зданиях'

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

CC BY
388
40
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЕБ-ПРИЛОЖЕНИЯ / КЛИЕНТ-СЕРВЕРНАЯ АРХИТЕКТУРА / ПОИСК КРАТЧАЙШИХ ПУТЕЙ В ГРАФАХ / АЛГОРИТМ А* / WEB APPLICATIONS / CLIENT-SERVER ARCHITECTURE / SHORTEST PATH SEARCHING IN GRAPHS / А* ALGORITHM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Макарчук Роман Сергеевич, Шатрова Елена Константиновна

Статья посвящена разработке веб-приложения, предоставляющего сервис построения кратчайших маршрутов на этажах зданий между двумя заданными пользователем точками с использованием графического пользовательского интерфейса. Приложение, в первую очередь, рассчитано на использование в информационных терминалах, расположенных на территории организации, однако с равным успехом используется на мобильных устройствах при наличии подключения к сети Интернет. Для построения кратчайшего пути между вершинами графа, предварительно построенного для каждого этажа с учетом наличия стенок, входов и выходов из помещений, используется реализации популярного алгоритма А* на языке JavaScript.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Макарчук Роман Сергеевич, Шатрова Елена Константиновна

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

Текст научной работы на тему «Веб-приложение для построения кратчайших маршрутов в зданиях»

ВЕБ-ПРИЛОЖЕНИЕ ДЛЯ ПОСТРОЕНИЯ КРАТЧАЙШИХ МАРШРУТОВ В ЗДАНИЯХ Макарчук Р.С.1, Шатрова Е.К.2 Em ail: Makarchuk655@scientifictext.ru

'Макарчук Роман Сергеевич — кандидат физико-математических наук, доцент, кафедра математики, физики и информационных технологий, Кемеровский государственный сельскохозяйственный институт;

2Шатрова Елена Константиновна — учитель математики, Муниципальное автономное общеобразовательное учреждение Средняя общеобразовательная школа № 36, г. Кемерово

Аннотация: статья посвящена разработке веб-приложения, предоставляющего сервис построения кратчайших маршрутов на этажах зданий между двумя заданными пользователем точками с использованием графического пользовательского интерфейса. Приложение, в первую очередь, рассчитано на использование в информационных терминалах, расположенных на территории организации, однако с равным успехом используется на мобильных устройствах при наличии подключения к сети Интернет. Для построения кратчайшего пути между вершинами графа, предварительно построенного для каждого этажа с учетом наличия стенок, входов и выходов из помещений, используется реализации популярного алгоритма А* на языке JavaScript.

Ключевые слова: веб-приложения, клиент-серверная архитектура, поиск кратчайших путей в графах, алгоритм А*.

WEB APPLICATION PROVIDING A SERVICE FOR GENERATION OF SHORTEST PATHS INSIDE THE BUILDINGS Makarchuk R.S.1, Shatrova E.K.2

'Makarchuk Roman Sergeevich — PhD in Physics and Mathematics, Associate Professor, DEPARTMENT OF MATHEMATICS, PHYSICS AND DATA ENGINEERING, KEMEROVO STATE AGRICULTURAL INSTITUTE; 2Shatrova Elena Konstantinovna — Teacher of Mathematics, MUNICIPAL AUTONOMOUS EDUCATIONAL INSTITUTION SECONDARY SCHOOL № 36,

KEMEROVO

Abstract: the article dwells upon development of a web application providing a service for generation of shortest paths between two user-defined points on building floors within a graphic user interface. The application is primarily meant to be used on information terminals located in the organization premises, however it can be equally used on Internet-connected mobile devices. For generation of the shortest path between nodes of the graph, preliminarily drawn for each floor considering walls, entrance and exit doorways, popular А* algorithm in JavaScript implementation is used. Keywords: web applications, client-server architecture, shortest path searching in graphs, А* algorithm.

УДК 004.422

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

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

Имеющиеся на рынке решения, как правило, включают в себя специализированные информационные терминалы, а также маячки, позволяющие в реальном времени отслеживать

свое местоположение. Такие системы стоят крайне дорого, а их огромные возможности не всегда востребованы.

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

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

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

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

• на стороне сервера баз данных: СУБД MySQL. В базе данных MySQL хранится информации о корпусах, этажах и кабинетах зданий, фотографические изображения помещений, а также графы, между вершинами которых осуществляется поиск кратчайших путей с использованием известных алгоритмов. Каждый граф соответствует одному этажу здания;

• на стороне веб-сервера: Apache HTTP Server. С точки зрения парадигмы MVC (ModelView-Controller) веб-приложение, написанное на языке PHP в рамках настоящего проекта и расположенное на веб-сервере Apache выполняет функции контроллера, т. е., по сути, осуществляет передачу необходимых данных из базы данных в веб-браузер клиента;

• на стороне клиента: любой современный веб-браузер (Mozilla Firefox, Google Chrome, Opera и др.), поддерживающий технологии HTML 5, CSS 3, а также исполняющий сценарии, написанные на языке JavaScript (ECMAScript v.5). Основная работа приложения осуществляется на стороне клиента.

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

• гибкая масштабируемость системы с точки зрения размещения новых информационных терминалов;

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

• возможность использования на мобильных устройствах без дополнительной установки каких-либо мобильных приложений.

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

Для поиска кратчайшего пути между двумя вершинами графа по первому наилучшему совпадению используется алгоритм А* (А звездочка) [1]. Алгоритм A* является результатом последовательных улучшений известного алгоритма Дейкстры [2], которые предлагались в работах Н. Нильсона, Б. Рафаэля и П.Э. Харта [3]. Алгоритм использует эвристическую функцию, состоящей из двух частей:

• функции стоимости достижения текущей вершины графа из начальной;

• функции эвристической оценки расстояния от текущей вершины до конечной.

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

«• о euiui

Рис. 1. Построение кратчайшего маршрута между кабинетами здания

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

Разработанное в рамках представленной работы веб-приложение и база данных внедрены в общеобразовательной школе № 36 Рудничного района г. Кемерово.

Список литературы / References

1. Рассел С., Норвиг П. Искусственный интеллект: современный подход, 2-е изд. Пер. с англ. М.: Издательский дом «Вильямс», 2006. 1408 с.

2. Dijkstra E.W. A note on two problems in connexion with graphs // Numer. Math — Springer Science+Business Media, 1959. Vol. 1. Iss. 1. P. 269-271. ISSN 0029-599X; 0945-3245 -doi:10.1007/BF01386390.

3. Hart P.E., Nilsson N.J., Raphael B.A. Formal Basis for the Heuristic Determination of Minimum Cost Paths // IEEE Transactions on Systems Science and Cybernetics SSC4, 1968. № 2. С. 100-107.

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