Методы построения и обхода лабиринта | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Библиографическое описание:

Дагаев, А. В. Методы построения и обхода лабиринта / А. В. Дагаев. — Текст : непосредственный // Молодой ученый. — 2022. — № 47.1 (442.1). — С. 54-57. — URL: https://moluch.ru/archive/442/96765/ (дата обращения: 17.12.2024).



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

Ключевые слова : лабиринт, алгоритм построения, алгоритм обхода.

The range of tasks in the field of telecommunications and data analysis is expanding all the time. New methods for analyzing paths in a network and complex network structures are emerging, new methods and algorithms for building and analyzing networks are emerging, one of them is the use of labyrinths. Labyrinth construction and traversal methods can be used to model network structures, find optimal paths, and simplify the analysis of the state of complex structures. The article presents the results of research in this area.

Keywords : mazes, construction algorithm, traversal algorithm.

Сегодня применение алгоритмов построения и прохождения лабиринтов улучшает оптимизацию и логику построения различных технических и математических объектов. Известен ряд литературных источников, посвященных данной тематике [1–7], но вопросам скорости обработки лабиринтов уделяется мало внимания. Применение лабиринтов в последнее время сказывается в разных технических областях. Они используются для трассировки печатных плат, в игровой индустрии — при создании динамических маршрутов и путей движения игроков, в телекоммуникациях для нахождения самых быстрых и самых коротких путей прохождения сетей, в горнодобывающей промышленности для оптимального построения шахт и др. Применение лабиринтов бывает и прикладное, например для обучения систем искусственного интеллекта [8]. Также применение методов и алгоритмов построения и прохождения лабиринтов может использоваться для построения оптимальной структуры сети, как сточки зрения минимальной длины, так и с точки зрения минимального количества энергии, требуемой для передачи данных. При анализе сетей также возможно использование многокритериального анализа. Удобство применения лабиринтов в различных областях обусловлено возможностью их бинаризации, представления в виде одного или нескольких массивов данных, с возможностью выполнения их последующей обработки и применении к ним методов оптимизации.

Рассмотрим характеристики лабиринтов подробнее. При создании лабиринтов требуется применять некоторые общие правила, такие как: отсутствие замкнутых контуров или петель, отсутствие изолированных от других частей лабиринта областей, наличие определенное количество входов и выходов для неидеальных лабиринтов. Для создания идеальных лабиринтов существует несколько типов алгоритмов. Первый основан на методике выращивания идеального лабиринта в качестве дерева, второй основан на удалении клеток для построения лабиринта, третий на основе клеточных автоматов. Тупики являются необходимым показателем сложности прохождения лабиринта. При росте количества тупиков их длина будет уменьшаться. Желательно, чтобы тупики были длинные и их было как можно больше, но с ростом количества тупиков их количество будет уменьшаться. Поэтому, существуют оптимальные границы количества ячеек тупиков для лабиринтов, которые могут варьироваться от поставленной задачи, например, от 10 до 30 процентов общего числа ячеек лабиринта. Было проведено тестирование более десяти алгоритмов построения лабиринтов. С точки зрения количества созданных тупиков, самыми лучшими алгоритмами стали алгоритм растущего дерева и алгоритм Прима.

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

Дополнительной характеристикой при построении лабиринтов является объем памяти необходимой для работы алгоритма. Для работы качественных алгоритмов требуются битовые карты лабиринтов или только одна ячейка, как в алгоритме двоичного дерева. Часть алгоритмов использует память пропорционально длине массива, например Эллера; другие имеют кввадратичную зависимость, например, алгоритм растущего дерева или Краскала. При рекурсивном делении используется память размером длины строки, для подобных алгоритмов можно применять стек. Необходимым параметром для лабиринтов является извилистость или процент ячеек, по которым проходит путь решения. Чем больше извилистость, тем сложнее лабиринт, так наибольшую извилистость имеют одномаршрутные лабиринты, а наименьшую — алгоритмы двоичного дерева, когда решение просто проходит насквозь лабиринт.

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

Результаты исследований

Рассмотрим применяемые в работе алгоритмы подробнее. Были исследованы более двадцати разных алгоритмов генерации и прохождения лабиринтов. На рис. 1–2 показаны результаты экспериментов по поиску путей в идеальных и неидеальных лабиринтах, а также на рис.3 результаты генерации идеальных лабиринтов.

На рис. 1 показаны графики работы алгоритмов, сверху вниз: Евклида, А* с манхеттенским расстоянием, А* с расстоянием Чебышева, поиск в ширину.

Поиск путей в идеальных лабиринтах

Рис. 1. Поиск путей в идеальных лабиринтах

На рис. 2 показаны графики работы алгоритмов, сверху вниз: Дейкстры, А* с манхэттенским расстоянием, А* с расстоянием Чебышева, поиск в ширину.

Поиск путей в неидеальных лабиринтах

Рис. 2. Поиск путей в неидеальных лабиринтах

На рис. 3 показаны графики работы алгоритмов, сверху вниз: Прима (модифицированный) [7], бинарное дерево [2], Backtracking [1], рекурсивное деление [3], Sidewinder. Как видно из графиков, скорость генерации и прохождения лабиринтов имеет одинаковую размерность, что обусловлено схожестью эвристических алгоритмов. Часть алгоритмов ввиду их небольшой скорости работы не были представлены на рис. 1–3.

Генерация идеальных лабиринтов

Рис. 3. Генерация идеальных лабиринтов

Выводы

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

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

Литература:

  1. Backtracking algorithm. — Текст: электронный / J. Buck // The Buckblog: [сайт]. — URL: https://weblog.jamisbuck.org/2010/12/27/maze-generation-recursive-backtracking (дата обращения: 01.11.2022).
  2. Binary Tree algorithm. — Текст: электронный / J. Buck // The Buckblog: [сайт]. — URL: https://weblog.jamisbuck.org/2011/2/1/maze-generation-binary-tree-algorithm (дата обращения: 01.11.2022).
  3. Division algorithm. — Текст: электронный / J. Buck // The Buckblog: [сайт]. — URL: https://weblog.jamisbuck.org/2011/1/12/maze-generation-recursive-division-algorithm (дата обращения: 01.11.2022).
  4. Eller's algorithm. — Текст: электронный / J. Buck // The Buckblog: [сайт]. — URL: https://weblog.jamisbuck.org/2010/12/29/maze-generation-eller-s-algorithm (дата обращения: 01.11.2022).
  5. Growing Tree algorithm. — Текст: электронный / J. Buck // The Buckblog: [сайт]. — URL: https://weblog.jamisbuck.org/2011/1/27/maze-generation-growing-tree-algorithm (дата обращения: 01.11.2022).
  6. Kruskal's algorithm. — Текст: электронный / J. Buck // The Buckblog: [сайт]. — URL: https://weblog.jamisbuck.org/2011/1/3/maze-generation-kruskal-s-algorithm (дата обращения: 01.11.2022).
  7. Prim's algorithm. — Текст: электронный / J. Buck // The Buckblog: [сайт]. — URL: https://weblog.jamisbuck.org/2011/1/10/maze-generation-prim-s-algorithm (дата обращения: 01.11.2022).
  8. Mazes creation for further study of swarm intelligence / A. V. Dagaev, A. A. Sorokin, R. A. Kovalenko, E. A. Yakovleva // IOP Conferences Series: Materials Science and Engineering. — 2020. — Vol. 919. — 52058.
Основные термины (генерируются автоматически): лабиринт, алгоритм, прохождение лабиринтов, алгоритм построения, двоичное дерево, график работы алгоритмов, поиск путей, рекурсивное деление, алгоритм построения лабиринтов, анализ сетей.


Ключевые слова

лабиринт, алгоритм построения, алгоритм обхода

Похожие статьи

Алгоритмы распознавания символов

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

Алгоритмы оптимальной структуры компьютерной сети

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

Модификация теории социального влияния Латане для компьютерных социальных сетей

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

Подходы к визуализации вычислительных процессов

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

Вопросы внедрения искусственного интеллекта в разделы криминалистики

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

Математическое моделирование как инструмент развития социоэкономики

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

Системный подход к выбору моделей для предсказания разрушения деталей на основе статистических данных

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

Решение проблем параллельной обработки транзакций и выход из тупиковых ситуаций в базах данных

В процессе изучения теории баз данных, а именно проблем параллелизма, как правило, упоминается такое понятие, как «тупиковая ситуация» и причины её появления, но не всегда поднимается вопрос о том, каким образом эта проблема решается. Именно этот воп...

Разработка технологии создания систем интеллектуального освещения

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

Анализ принципов и подходов к реализации современных систем управления сетями связи

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

Похожие статьи

Алгоритмы распознавания символов

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

Алгоритмы оптимальной структуры компьютерной сети

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

Модификация теории социального влияния Латане для компьютерных социальных сетей

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

Подходы к визуализации вычислительных процессов

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

Вопросы внедрения искусственного интеллекта в разделы криминалистики

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

Математическое моделирование как инструмент развития социоэкономики

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

Системный подход к выбору моделей для предсказания разрушения деталей на основе статистических данных

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

Решение проблем параллельной обработки транзакций и выход из тупиковых ситуаций в базах данных

В процессе изучения теории баз данных, а именно проблем параллелизма, как правило, упоминается такое понятие, как «тупиковая ситуация» и причины её появления, но не всегда поднимается вопрос о том, каким образом эта проблема решается. Именно этот воп...

Разработка технологии создания систем интеллектуального освещения

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

Анализ принципов и подходов к реализации современных систем управления сетями связи

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

Задать вопрос