Эта статья или раздел содержит незавершённый перевод с английского языка. |
Алгоритм Каргера | |
---|---|
![]() Граф и два его разреза. Красный разрез пересекает три ребра, а зеленый два. Последний является одним из минимальных разрезов данного графа. | |
Предназначение | поиск минимального разреза графа |
Структура данных | граф |
Среднее время | |
Затраты памяти | - |
Алгори́тм Ка́ргера (англ. Karger's algorithm) — в информатике и теории графов является вероятностным алгоритмом, позволяющим найти минимальный разрез связного графа. Алгоритм изобретен Девидом Каргером и опубликован в 1993 году[1].
Идея алгоритма основана на концепте стягивания ребра в неориентированном графе. Во время стягивания ребра происходит объединение двух вершин в одну, что уменьшает количество вершин графа на единицу. Все рёбра стягиваемых вершин соединяются согласно стягиванию в одну общую вершину, что создаёт мультиграф. Алгоритм Каргера итеративно выбирает случайные рёбра и выполняет операцию до тех пор, пока не останется две вершины, которые и представляют собой разрез изначального графа. Если повторять алгоритм достаточное количество раз, то с высокой вероятностью может быть найден минимальный разрез.
Основной задачей является поиск узких мест в различных сетях. Примеры:
Основной операцией алгоритма Каргера является одна из форм стягивания ребра. Для выполнения этой операции на произвольном ребре происходит объединение вершин графа и в одну . Если удаляется вершина , то каждое ребро вида заменяется на ребро вида . Петли удаляются и после операции граф не содержит петель.
Алгоритм представляет собой равновероятный выбор случайного имеющегося ребра и объединение вершин согласно описанной операции. Результатом работы алгоритма является пара вершин, множество рёбер между которыми является разрезом графа. Этот разрез может быть не минимальным, но вероятность того, что этот разрез минимальный существенно больше, чем для случайно выбранного разреза.
Алгоритм Каргера повторить n − 2 раза выбрать случайно ребро e стянуть ребро e результат число рёбер между двумя последними вершинами
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .