Научная статья на тему 'ОСНОВНЫЕ ТИПЫ АЛГОРТИМОВ ДЛЯ РАБОТЫ С ГРАФАМИ'

ОСНОВНЫЕ ТИПЫ АЛГОРТИМОВ ДЛЯ РАБОТЫ С ГРАФАМИ Текст научной статьи по специальности «Математика»

113
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
граф / вершина / ребро / дуга / дерево / алгоритм / graph / vertex / edge / arc / tree / algorithm.

Аннотация научной статьи по математике, автор научной работы — Федосеева Анастасия Сергеевна

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

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

THE MAIN TYPES OF ALGORITHMS FOR WORKING WITH GRAPHS

the article deals with the basic concepts of graph theory and algorithms for working with graphs for constructing a minimum spanning tree, finding the length of the shortest path, and finding the minimum cost of the maximum flow.

Текст научной работы на тему «ОСНОВНЫЕ ТИПЫ АЛГОРТИМОВ ДЛЯ РАБОТЫ С ГРАФАМИ»

XМеждународная научно-практическая конференция УДК 004.421

Федосеева Анастасия Сергеевна Fedoseeva Anastasia Sergeevna

Студент Student

Омский государственный технический университет Omsk State Technical University

ОСНОВНЫЕ ТИПЫ АЛГОРТИМОВ ДЛЯ РАБОТЫ С ГРАФАМИ

THE MAIN TYPES OF ALGORITHMS FOR WORKING WITH GRAPHS

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

Abstract: the article deals with the basic concepts of graph theory and algorithms for working with graphs for constructing a minimum spanning tree, finding the length of the shortest path, and finding the minimum cost of the maximum flow.

Ключевые слова, граф, вершина, ребро, дуга, дерево, алгоритм.

Key words: graph, vertex, edge, arc, tree, algorithm.

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

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

«Инновационные аспекты развития науки и техники»

Сегодня теория графов становится одним из самых универсальных

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

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

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

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

Второй алгоритм описал Джозеф Крускал. Суть алгоритма заключается в следующем: каждая вершина помещается в свое дерево, только после этого на каждом шаге происходит объединение деревьев некоторым ребром. Первоначально все ребра должны быть отсортированы в порядке возрастания по весу. Затем осуществляется перебор ребер с учетом сортировки, в случае обнаружения у текущего ребра принадлежности к разным поддеревьям, деревья объединяются, а ребро добавляется в остов. После перебора всех ребер все

XМеждународная научно-практическая конференция вершины становятся частью одного поддерева, при этом формируется

минимальное остовное дерево.

Еще одна актуальная задача нахождения минимального пути на графе связана с навигацией и построением сетей. Можно выделить несколько алгоритмов для ее решения: алгоритм Дейкстры, алгоритм Форда-Беллмана и алгоритм Флойда. Самым простым из перечисленных алгоритмов является алгоритм голландского ученого Эдсгера Дейкстры, с его помощью определяются кратчайшие пути от одной вершины графа до всех остальных. Особенность данного алгоритма заключается в следующем: он может работать только с теми графами, у которых ребра имеют положительный вес. Также алгоритм будет эффективным при работе с графами с небольшим количеством вершин. Для поиска кратчайшего пути во взвешенном графе используется алгоритм, который носит имя двух американских исследователей Ричарда Беллмана и Лестера Форда. Он может работать с графами, допускающими присутствие ребер с отрицательным весом. Алгоритм находит путь от одной вершины до остальных в графе, используя при этом полный перебор всех вершин. Еще одним известным алгоритмом является алгоритм Роберта Флойда, в соответствии с которым пошагово просматриваются ребра и проверяется условие на наличие короткого альтернативного пути от одной вершины к другой. В результате осуществляется поиск всех кратчайших путей через вершины [2].

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

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

1. Тишин В.В. Дискретная математика в примерах и задачах: учебное пособие / СПб.: БХВ-Петербург, 2008. -352 с.

«Инновационные аспекты развития науки и техники»

2. Степанов, В.Н. Дискретная математика: графы и алгоритмы на графах: учеб. пособие / В.Н. Степанов; ОмГТУ. - Омск: Изд-во ОмГТУ, 2010. - 118 с.

УДК 004

Чеботарев Вячеслав Алексеевич Chebotarev Vyacheslav Alekseevich

Студент Student

Путивцева Наталья Павловна Putivtseva Natalia Pavlovna Научный руководитель, кандидат технических наук, доцент кафедры прикладной

информатики и информационных технологий Scientific supervisor, Candidate of Technical Sciences, Associate Professor of the Department of Applied Informatics and Information Technologies Белгородский государственный национальный исследовательский университет

Belgorod State National Research University

ПРОЕКТИРОВАНИЕ КОМПЬЮТЕРНОЙ СИСТЕМЫ РЕЙТИНГОВАНИЯ ДЕЯТЕЛЬНОСТИ БАНКОВ

DESIGNING A COMPUTER SYSTEM FOR RATING BANKS ' ACTIVITIES

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

Abstract: this article is devoted to the design of a computer system for rating the activities of banks-logical and physical modeling of the database, as well as the design of the architecture of the software application of the computer system.

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

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