Jump to content

Рекурсивный алгоритм наибольшего первого числа

Алгоритм Recursive Largest First ( RLF ) — это эвристика для решения NP-сложной задачи раскраски графов . Первоначально он был предложен Фрэнком Лейтоном в 1979 году. [1]

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

Для формирования высококачественных решений (решений с использованием небольшого количества цветов) алгоритм RLF использует специализированные эвристические правила, чтобы попытаться идентифицировать независимые множества «хорошего качества». Эти эвристики делают алгоритм RLF точным для двудольных , циклических и колесных графов . [2] графа Однако в целом алгоритм является приблизительным и вполне может возвращать решения, в которых используется больше цветов, чем хроматическое число .

Описание

[ редактировать ]

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

  1. Позволять быть пустым решением. Кроме того, пусть это граф, который мы хотим раскрасить, содержащий набор вершин и набор кромок .
  2. Определите максимальный независимый набор . Для этого:
    1. Первая вершина, добавленная к должна быть вершиной в у которого наибольшее число соседей.
    2. Последующие вершины добавлены в следует выбирать те, которые (а) в данный момент не смежны ни с одной вершиной в и (б) имеют максимальное число соседей, смежных с вершинами в . Связи в условии (б) можно разорвать, выбрав вершину с минимальным числом соседей, не входящих в . Вершины добавляются в таким образом до тех пор, пока невозможно будет добавить дополнительные вершины.
  3. Теперь установите и удаляем вершины от . Если все еще содержит вершины, то вернитесь к шагу 2; иначе конец.
Колесо графа с семью вершинами

Рассмотрим график показано справа. Это круговой граф , поэтому его оптимально раскрасить с помощью RLF. В результате выполнения алгоритма вершины выбираются и раскрашиваются в следующем порядке:

  1. Вертекс (цвет 1)
  2. Вертекс , , а потом (цвет 2)
  3. Вертекс , , а потом (цвет 3)

Это дает окончательное трехцветное решение. .

Производительность

[ редактировать ]

Позволять — количество вершин в графе и пусть быть числом ребер. Используя обозначение большого О , в своей оригинальной публикации Лейтон утверждает, что сложность RLF должна быть ; однако это можно улучшить. Большая часть затрат на этот алгоритм приходится на шаг 2, на котором выбор вершин производится в соответствии с эвристическими правилами, изложенными выше. Действительно, каждый раз, когда вершина выбирается для добавления в независимое множество , информацию о соседях необходимо пересчитывать для каждой неокрашенной вершины. Эти расчеты можно выполнить в время, а это означает, что общая сложность RLF . [2]

Если эвристику шага 2 заменить случайным выбором, то сложность этого алгоритма сводится к ; однако результирующий алгоритм обычно возвращает решения более низкого качества по сравнению с решениями RLF. [2] Теперь оно также будет неточным для двудольных , циклических и колесных графов .

В ходе эмпирического сравнения, проведенного Льюисом в 2021 году, было показано, что RLF дает значительно лучшую раскраску вершин, чем альтернативные эвристики, такие как жадный алгоритм и DSatur Алгоритм на случайных графах . Однако время выполнения RLF также оказалось выше, чем у этих альтернатив, из-за его более высокой общей сложности. [2]

  1. ^ Лейтон, Ф. (1979). «Алгоритм раскраски графов для больших задач планирования» . Журнал исследований Национального бюро стандартов . 84 (6): 489–503. дои : 10.6028/jres.084.024 . ПМК   6756213 . ПМИД   34880531 .
  2. ^ Jump up to: а б с д Льюис, Р. (2021). Руководство по раскраске графов: алгоритмы и приложения . Тексты по информатике. Спрингер. дои : 10.1007/978-3-030-81054-2 . ISBN  978-3-030-81053-5 . S2CID   57188465 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a76505895f1c7b17c7f74317da685690__1672753800
URL1:https://arc.ask3.ru/arc/aa/a7/90/a76505895f1c7b17c7f74317da685690.html
Заголовок, (Title) документа по адресу, URL1:
Recursive largest first algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)