Применение разреженных технологий для поиска маршрута данной длины в графе
Описание особенностей использования методов теории графов при математическом моделировании какого-либо экономического процесса. Анализ примера использования разреженных технологий для отыскания всех маршрутов в памяти компьютера данной длины у графа.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 11.03.2018 |
Размер файла | 212,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Применение разреженных технологий для поиска маршрута данной длины в графе
Алашеева Е.А.
Рогова Н.В.
Туркина Н.Н.
Часто при математическом моделировании какого-либо экономического процесса требуется решить транспортную задачу. Например, требуется найти маршрут оптимальной длины, выделить все маршруты данной длины, найти минимальный маршрут. Для данных целей удобнее всего использовать методы теории графов. При построении математической модели реального маршрута матрица смежности моделируемого графа получается очень больших размеров. Такую матрицу неудобно хранить в памяти компьютера. Поскольку у таких матриц, как правило, много нулевых элементов, то эффективно использовать технологии разреженных матриц в данном случае. В данной работе приведён пример использования разреженных технологий для отыскания всех маршрутов данной длины у графа и разработан алгоритм решения данной задачи. Существует большое разнообразие задач, связанных с путями и маршрутами в графе, начиная от стандартных задач на существование, пересчет и перечисление и заканчивая задачами поиска путей, отвечающих определенным требованиям и т.п. Теория графовшироко применяется в различных приложениях современной математики, в особенности это имеет отношение к экономике, технике, к управлению.Однако, во многих случаях объем вычислительной работы удается значительно сократить, если учесть структурные особенности этих матриц. Одной из таких структурных особенностей является разреженность матрицы. Таким образом, можно сделать существенный вывод, что разреженные технологии широко применимы на практике. Данные технологии позволяют значительно беречь память ЭВМ, уменьшая время на выполнение различных алгоритмов, моделирующих те или иные процессы.
«Матрица» как термин имеет много значений. В различных областях науки этот термин даже звучит по-разному, например: в математике - таблица чисел; в электронике - набор проводников и т.д. [2]. Покерные фишки так же имеют отношение к матрице. Поэтому матрицы можно встретить всюду, поэтому неважно программист ты, математик или простой обыватель, в любом случае нередко работаешь с матрицами.
Однако основное свое значение термин «матрица» имеет в математике. Матрица - математический объект, записанный в виде прямоугольной таблицы, представляющая собой совокупность строк и столбцов, на пересечение которых находятся элементы. Впервые понятие матрицы упоминалось еще в древнем Китае и называлась она «волшебным квадратом». И в основном применялись матрицы для решения линейных уравнений. граф математический маршрут
По количеству отличных от нуля элементов матрицу можно разделить на два вида: плотная матрица (или матрица общего вида) и разреженная [1,3]. И именно ее мы будем рассматривать в данной статье.
Часто под разреженными матрицами понимаются матрицы, которые содержат «много» нулевых элементов. Это несколько неясное определение. Совокупность схемы хранения данных в сочетании с соответствующим алгоритмом для выполнения необходимой операции - более корректное определение. Если предложенные схема хранения данных и алгоритм позволяют получить выигрыш по памяти и/или времени по сравнению с обычной схемой хранения (массив) и обычным алгоритмом, то тогда есть смысл говорить о разреженных матрица [1,3].
Решение многих прикладных задач, таких как методы теории графов, методы обработки изображений, численные методы решения дифференциальных уравнений методом конечных элементов, криптографии, логистики и т.п. связано с обработкой матриц большой размерности, имеющих малое число ненулевых элементов. Использование особых способов размещения в памяти разреженных матриц и разработка специальных алгоритмов работы с ними позволяет во многих случаях существенно снизить объем, используемых компьютерных ресурсов, и уменьшить время вычислений. Одним из рациональных способов хранения ненулевых элементов матрицы является массив из динамических списков. Эффективность работы с таким массивом определяется введением класса с продуманным набором методов и создание на этой основе действенных процедур работы с матрицами [2,4].
Простейший пример применения разреженных технологий - задача о поиске всех маршрутов заданной длины.
Рис.1
Задача:дан граф, изображенный на Рис. 1, и необходимо найти количество маршрутов длины 2.
Рис.2
Решение: матрица A, изображенная на Рис. 2 - это матрица смежности [1] данного графа. Тогда, количество маршрутов длины 2 можно определить с помощью матрицы (Рис. 3):
Рис.3
Данную задачу можно решить с помощью разреженных технологий, применяя алгоритм (в данной статье указана лишь первая его часть), указанный ниже:
На входе имеем матрицу A, заданную в РСФ [2].
IA: 1 2 4 6 7 9
JA: 4 1 5 2 4 5 1 3
AN: 1 1 1 1 1 1 1 1
А в результате получаем матрицу C =A2 в разреженном строчном формате:
IC: 1 2 5 7 9 11
JC: 5 1 3 4 1 5 1 3 2 4
AC: 1 1 1 1 1 2 1 1 1 2
Алгоритм по нахождению массивов JC и IC - символический этап:
Разобьём элементы массивов JA и AN следующим образом:
IA: 1 2 4 6 7 9
JA: 41 52 451 3
AN: 11 11 111 1
Введем массив переключателей Y и переключатель P. Число позиций Y равно 5. В начальный момент во все позиции Y засылаем нули. По умолчанию IC всегда начинается с 1.
IC: 1
P=1
Y: 0 0 0 0 0
Просматриваем 1 позицию JA
JA [1] =4 (Смотрим 4-ю строку матрицы A)
Просматриваем 6 позицию JA.
Y: 0 0 0 0 1 JC: 5
IC: 12
P=2
Просматриваем JA с 2 по 3 позиции.
JA [2] =1 (Смотрим 1-ю строку матрицы A)
Просматриваем 1 позицию JA.
Y: 0 0 0 2 1 JC: 54
JA [3] =5 (Смотрим 5-ю строку матрицы A)
Просматриваем 7 и 8 позиции JA.
Y: 2 0 2 2 1 JC: 5413
IC: 125
P=3
Просматриваем JA с 4 по 5 позиции.
JA [4] =2 (Смотрим 2-ю строку матрицы A)
Просматриваем 2 и 3 позиции JA.
Y: 3 0 2 2 3 JC: 541315
JA [5]=4(Смотрим 4-ю строку матрицы A)
Просматриваем 6 позицию JA.
Y: 3 0 2 2 3 JC: 5 4 1 3 1 5
IC: 1257
P=4
Просматриваем 6 позицию JA.
JA[6]=5(Смотрим 5-ю строку матрицы A)
Просматриваем 7 и 8 позиции JA.
Y: 4 0 4 2 3 JC: 5 4 1 3 1 5 1 3
IC: 12579
P=5
Просматриваем JA с 7 по 8 позиции.
JA[7]=1(Смотрим 1-ю строку матрицы A)
Просматриваем 1 позицию JA.
Y: 4 0 4 5 3 JC: 5 4 1 3 1 5 1 3 4
JA[8]=3(Смотрим 3-ю строку матрицы A)
Просматриваем 4 и 5 позиции JA.
Y: 4 5 4 5 3 JC: 5 4 1 3 1 5 1 3 4 2
IC: 1 2 5 7 9 11
Вторая часть алгоритма - численный этап: нахождение массива AN ненулевых элементов матрицы A.
Существует большое разнообразие задач, связанных с путями и маршрутами в графе, начиная от стандартных задач на существование, пересчет и перечисление и заканчивая задачами поиска путей, отвечающих определенным требованиям и т.п.
Теория графов применяется в различных областях современной математики и ее приложениях, в особенности это имеет отношение к экономике, технике, к управлению.
Решение широкого класса задач математической физики, математического программирования, обработки и хранения больших объемов информации сводится к операциям с матрицами очень высоких порядков, для которых непосредственное применение стандартных алгоритмов вычислительной алгебры неприемлемо из-за вычислительной трудоемкости. К счастью, во многих случаях объем вычислительной работы удается значительно сократить, если учесть структурные особенности этих матриц. Одной из таких структурных особенностей является разреженность матрицы.
Таким образом, можно сделать существенный вывод, что разреженные технологии широко применимы на практике. Они позволяют значительно беречь память ЭВМ, уменьшая время на выполнение алгоритмов.
Литература
1. Алашеева Е.А. Алгоритм построения системы линейных алгебраических уравнений с псевдоразреженной матрицей при решении электродинамической задачи методом интегральных уравнений. Наука и Мир. 2014. Т. 1. № 12 (16). С. 10-12.
2. Вержбицкий В.М., «Основы численых методов», -М.: Высшая школа, 840с. (2005)
3. Рогова Н.В. Разреженные аппроксимации матриц. Наука и мир. Международный
научный журнал, № 2(18), 2015. Том 1. г. Волгоград. С. 29-32.
4. ТурчакЛ.И., Плотников П.В., «Основы численных методов»,-М.: ФИЗМАТЛИТ, 304с. (2003)
Размещено на Allbest.ru
...Подобные документы
Алгоритмы, использующие решение дополнительных подзадач. Основные определения теории графов. Поиск пути между парой вершин невзвешенного графа. Пути минимальной длины во взвешенном графе. Понятие кратчайшего пути для графов с помощью алгоритма Флойда.
реферат [39,6 K], добавлен 06.03.2010Корректность определения кратчайших путей в графе и рёбра отрицательной длины. Анализ алгоритмов Дейкстры, Беллмана-Форда, Флойда-Уоршелла. Вычисление кратчайших расстояний между всеми парами вершин графа. Топологическая сортировка ориентированного графа.
презентация [449,3 K], добавлен 19.10.2014Разработка программного продукта для поиска максимально удалённых вершин в графе. Характеристика ориентированного, смешанного и изоморфного графов. Обзор способов представления графа в информатике. Алгоритм поиска пути. Графический интерфейс программы.
курсовая работа [384,0 K], добавлен 10.01.2015Применение теории графов и алгоритмов на графах среди дисциплин и методов дискретной математики. Граф как совокупность двух множеств. Основные способы численного представления графа. Элементы и изоморфизмы графов. Требования к представлению графов в ЭВМ.
курсовая работа [162,2 K], добавлен 04.02.2011Обзор задач, решаемых методом динамического программирования. Составление маршрута оптимальной длины. Перемножение цепочки матриц. Задача "Лестницы". Анализ необходимости использования специальных методов вероятностного динамического программирования.
курсовая работа [503,3 K], добавлен 28.06.2015Разработка алгоритма реализации на ЭВМ процесса поиска кратчайшего пути в графе методом Дейкстры. Программная реализация алгоритма поиска кратчайшего пути между двумя любыми вершинами графа. Проверка работоспособности программы на тестовых примерах.
реферат [929,8 K], добавлен 23.09.2013История и термины теории графов. Описание алгоритма Дейкстры. Математическое решение проблемы определения кратчайшего расстояния от одной из вершин графа до всех остальных. Разработка программы на объектно-ориентированном языке программирования Delphi 7.
контрольная работа [646,9 K], добавлен 19.01.2016Этапы нахождения хроматического числа произвольного графа. Анализ примеров раскраски графа. Характеристика трудоемкости алгоритма раскраски вершин графа Мейниеля. Особенности графов, удовлетворяющих структуру графов Мейниеля, основные классы графов.
курсовая работа [1,1 M], добавлен 26.06.2012Общая характеристика отрасли авиастроения, обоснование необходимости внедрения новых информационных технологий в данной сфере. Изучение концепции и механизма использования CALS-технологий в российском авиастроении: основные проблемы и пути их решения.
курсовая работа [1,2 M], добавлен 10.02.2014Концепция организации памяти "MEMEX". Определение и основные возможности технологии. Основные носители и мультимедийные презентации. Применение и перспективы использования мультимедиа технологий. Разработка методов быстрого сжатия и развертки данных.
реферат [1,5 M], добавлен 12.07.2011Рассмотрение проблем информатизации начальной школы. Изучение структуры учебной деятельности младших школьников при компьютеризации обучения. Описание методик комплексного использования компьютера в педагогической деятельности учителей начальной школы.
дипломная работа [1016,7 K], добавлен 02.07.2015Повышение эффективности работы психолога за счет быстроты обработки данных и получения результатов тестирования как основная задача использования в данной деятельности современных информационных технологий. Применение цифровых образовательных ресурсов.
презентация [757,8 K], добавлен 23.09.2014Изучение понятия и предмета когнитивных технологий. Обозначение роли когнитивных технологий в языке и речи. Выявление наиболее эффективных способов применения технологий при переводе текстов. Перевод, осуществляемый человеком с использованием компьютера.
курсовая работа [32,1 K], добавлен 06.04.2015Создание компьютерных программ. Сравнение C# с другими языками программирования. Решение задач транспортной логистики. Теория графов и структуры данных. Алгоритмы поиска маршрутов в графе. Выбор среды разработки. Редактирование транспортной сети.
курсовая работа [56,3 K], добавлен 08.10.2015Основные понятия и определения теории графов: теоремы и способы задания графа, сильная связность графов. Построение блок-схем алгоритма, тестирование разработанного программного обеспечения, подбор тестовых данных, анализ и исправление ошибок программы.
курсовая работа [525,6 K], добавлен 14.07.2012Понятие и содержание информационной технологии на современном этапе, ассортимент изделий данной группы на рынке. Объекты информационных технологий и результаты их работы. Средства и методы информационных технологий, особенности и сферы их применения.
реферат [17,9 K], добавлен 05.11.2010Анализ методов решения разреженных недоопределенных систем линейных алгебраических уравнений с помощью эффективных алгоритмов, основанных на декомпозиции линейных систем и учете их сетевых свойств. Использование встроенных методов пакета Mathematica.
курсовая работа [4,2 M], добавлен 22.05.2014Основные черты современных информационных технологий. Цель применения информационных технологий - снижение трудоемкости использования информационных ресурсов. Использованные программные средства для разработки информационной системы для продажи книг.
курсовая работа [1,2 M], добавлен 27.06.2014Понятие, виды и принципы информационных технологий. Педагогические цели и методические возможности использования информационных технологий в обучении музыке. Классификация педагогических программных средств. Тенденции развития музыкальной педагогики.
реферат [221,8 K], добавлен 16.12.2010Понятие и сущность информационных технологий для всех сфер жизнедеятельности общества. Специфика влияния их на функционирование и развитие современных организаций. Анализ и особенности внедрения в деятельность организации на примере Банка Москвы.
курсовая работа [257,1 K], добавлен 18.09.2014