Тип работы:
Предмет:
Язык работы:


Реализация построения разбиения Вороного для ОСРВ МАКС

Работа №131304

Тип работы

Бакалаврская работа

Предмет

программирование

Объем работы25
Год сдачи2018
Стоимость4200 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
30
Не подходит работа?

Узнай цену на написание


Введение 4
1. 1. Постановка задачи 6
2. Обзор существующих алгоритмов
разбиения Вороного 7
2.1. Инкрементальный алгоритм
2.2. «Разделяй и властвуй»
2.3. Алгоритм Форчуна
2.4. Сравнение алгоритмов и существующих библиотек . . . 11
3. Реализация алгоритма Форчуна 13
4. Реализация инкрементального алгоритма 17
5. Эксперименты 19
5.1. Апробация на ОСРВ МАКС . . . . . . . . . . . . . . . . . 19
5.2. Оценка эффективности работы алгоритмов в
ОСРВ МАКС
Заключение 23
Список литературы 2

Развитие современных технологий приводит к все большей автоматизации процессов, выполняемых человеком в различных сферах жизнедеятельности, таких как медицина, образование, сельскохозяйственное, промышленное и военное дело. В настоящее время имеется множество устройств, способных заменить людей в опасных или труднодостижимых для человека местах, ускорить и облегчить выполнение различных задач.
На данный момент актуальной темой является создание автоматизированных технологических систем, реализующих групповое взаимодействие агентов для выполнения общей задачи. Например, построение карты местности, поисково-спасательные операции, орошение полей,
тушение пожара, обеспечение эффективного слежения группой беспилотников за стратегически важными объектами, и т.д. Такие задачи могут быть сведены к задаче о покрытии поля. Поле — это плоскость с заданной декартовой системой координат, состоящая из клеток, каждая из которых представляет собой одну квадратную единицу. В задаче о покрытии поля группа агентов должна полностью его покрыть, а именно посетить все клетки поля.
Для эффективного выполнения задачи покрытия поля несколькими агентами необходимо разделить между ними поле, т.к. оно может оказаться существенно больше, чем количество агентов. Такое разбиение можно построить с помощью разбиения Вороного, или диаграммы Вороного [9]. Достоинством метода разбиения Вороного является учет начального положения агентов (т.к агенты являются точками, для которых строится диаграмма Вороного), получение непересекающихся областей, представляющих собой выпуклые многоугольники, а также возможность реализации данного метода разного рода модификациями алгоритмов с различными требованиями к ресурсам. Таким образом, для решения задачи о покрытии поля, мы можем поручить построение разбиения любому из агентов, сделав полученное разбиение доступным оставшимся участникам.
Для обмена информацией между агентами и обеспечения ее согласованности удобно использовать операционную систему реального времени (ОСРВ) с поддержкой распределенной памяти. В данной работе используется ОСРВ МАКС [15], которая может быть применена для создания систем, включающих несколько интеллектуальных узлов — аппаратных средств, общающихся между собой. ОСРВ МАКС предназначена для систем реального времени и других встраиваемых систем под управлением ARM микроконтроллеров на базе 32-битных ядер Cortex-M3, Cortex-M4, Cortex-M4F с RISC архитектурой. В данной ОСРВ предложена модель общей распределенной памяти (distributed shared memory, DSM) — DSM МАКС [13], которая обеспечивает каждого агента системы доступом к общей памяти, возможностью писать и читать данные.
Таким образом, данная работа посвящена реализации разбиения поля с помощью разбиения Вороного для ОСРВ МАКС.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Таким образом, в рамках данной работы получены следующие результаты.
1. Изучены алгоритмы Форчуна, Инкрементальный и «Разделяй и властвуй», позволяющие реализовать разбиение поля между объектами. Рассмотрены библиотеки, реализующие разбиение Вороного алгоритмом Форчуна.
2. Реализован алгоритм Форчуна при помощи библиотеки Boost.Polygon Voronoi. Разработан метод, позволяющий по построенной диаграмме, достроить разбиение Вороного полностью.
3. Реализован инкрементальный алгоритм с использованием структуры данных DCEL.
4. Произведены апробация в ОСРВ МАКС и сравнение работы алгоритмов Форчуна и инкрементального. В ходе сравнения было выявлено, что реализованный инкрементальный алгоритм со структурой данных DCEL по времени работает быстрее, чем дополненный функциональностью алгоритм Форчуна библиотеки Boost.Polygon Voronoi.
5. Тезисы доклада с основными результатами работы опубликованы в сборнике конференции ”Современные технологии в теории и практике программирования” [10].
6. Представлен доклад на конференции SYRCoSE-2018.
7. Программная разработка расположена на веб-сервисе для хостинга IT-проектов GitHub https://github.com/ivm23/Voronoi


[1] Boost.Polygon Voronoi. –– URL: http://www.boost.org/doc/libs/
1_61_0/libs/polygon/doc/voronoi_main.htm (online; accessed:
06.12.2017).
[2] CGAL. –– URL: https://www.cgal.org/ (online; accessed:
06.12.2017).
[3] De Berg M. Van Kreveld M. Computational Geometry. Algorithms
and Applications. Second, Revised Edition. Berlin: Springer-Verlag. ––
2000. –– P. 367.
[4] LEDA. –– URL: http://www.algorithmic-solutions.com/leda/
index.htm (online; accessed: 06.12.2017).
[5] Malinauskas K. K. Dynamic construction of abstract Voronoi diagrams,
Fundamentalnayai prikladnaya matematika, vol. 13. –– 2007. –– P. 133–
146.
[6] S-HULL. –– URL: http://www.s-hull.org/ (online; accessed:
06.12.2017).
[7] SplashGeom. –– URL: https://github.com/izaharkin/SplashGeom
(online; accessed: 06.12.2017).
[8] Б.П. Ефимов А.В. Демидович. Сборник задач по математике.
Berlin: Springer-Verlag. –– 2001. –– P. 288.
[9] Диаграмма Вороного и её применения. –– URL: https://
habrahabr.ru/post/309252/ (дата обращения: 06.12.2017).
[10] Иванова М.А. Литвинов Ю.В. Решение задачи разбиения поля методом диаграммы Вороного // Современные технологии в теории
и практике программирования, сборник материалов конференции.
СПб.: Изд-во Политехн. ун-та. –– 2018. –– С. 81–84.
24[11] ОПЕРАЦИОННАЯ СИСТЕМА РЕАЛЬНОГО ВРЕМЕНИ ДЛЯ
МУЛЬТИАГЕНТНЫХ КОГЕРЕНТНЫХ СИСТЕМ. Руководство
программиста. –– 2018. –– P. 56.
[12] Обзор одной российской RTOS, часть 4. Полезная теория /
Хабр. –– URL: https://habr.com/post/337476/ (online; accessed:
21.05.2018).
[13] П.В. Бойко. Распределенная общая память как способ организации взаимодействия в мультиагентных системах // Научноаналитический журнал. Инновации и инфестиции. –– 2017. ––
С. 113–116.
[14] Препарата Ф. Шеймос М. Вычислительная геометрия: Введение. ––
1989. –– P. 478.
[15] Российская операционная система реального времени для
IT-оборудования и Интернета вещей. –– URL: https:
//www.astrosoft.ru/products/development/rtos-macs/ (online;
accessed: 15.04.2018).
[16] С.Н. Карабцев С. В. Стуколов. Построение диаграммы Вороного
и определение границ области в методе естественных соседей. Вычислительные технологии Том 13, № 3. –– 2008. –– P. 65–80.
[17] Страуструп Бьерн. Программирование. Принципы и практика использования C++. –– 2011. –– P. 1248.
[18] Э.В. Егорова. Математика и информатика. Учебное пособие по всему курсу. –– 2008. –– P. 94.

Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ