Объясните алгоритм 0-расширения - PullRequest
1 голос
/ 25 апреля 2011

Я пытаюсь реализовать алгоритм с расширением 0.

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

Я нашел эту статью, объясняющую алгоритм: http://citeseer.ist.psu.edu/viewdoc/download;jsessionid=1FBA2D22588CABDAA8ECF73B41BD3D72?doi=10.1.1.100.8049&rep=rep1&type=pdf, но я не вижукак мне нужно это реализовать.

Я уже задавал этот вопрос на сайте "теоретической информатики", но на полпути обсуждение мы вышли за рамки сайта: https://cstheory.stackexchange.com/questions/6163/explain-0-extension-algorithm

Может кто-нибудь объяснитьэтот алгоритм с точки зрения непрофессионала?Я планирую сделать окончательный код с открытым исходным кодом в пакете jgrapht.

1 Ответ

0 голосов
/ 26 апреля 2011

Цель 0-расширения состоит в том, чтобы минимизировать общую взвешенную стоимость ребер с различными цветными конечными точками, а не максимизировать ее, поэтому 0-расширение действительно является проблемой кластеризации, а не проблемой раскраски.Я вообще скептически отношусь к тому, что использование алгоритма кластеризации для цветопередачи даст хорошие результаты.Если вы хотите что-то с теоретической гарантией, вы можете посмотреть приближения к задаче MAXCUT (действительно, обобщение, если существует более двух цветов), но я подозреваю, что алгоритм локального поиска будет работать лучше на практике.

...