Interested Article - Цветовое кодирование

Цветовое кодирование , которая полезна для обнаружения . Например, она может быть использована для обнаружения простого пути длины k в заданном графе . Традиционный алгоритм цветового кодирования является вероятностным , но решение может быть без существенного увеличения времени работы .

Цветовое кодирование также применяется для обнаружения циклов заданной длины и в более общем случае, как в задаче поиска изоморфного подграфа ( NP-полная задача ), где оно даёт алгоритмы полиномиального времени , если искомый подграф имеет ограниченную древесную ширину .

Метод цветового кодирования предложили и анализировали в 1994 году. Авторы - Нога Алон , Рафаэль Юстер и Юрий Цвик .

Результаты

Следующие результаты могут быть получены методом цветового кодирования:

  • Для любой константы k , если граф содержит цикл размера k , такой цикл может быть найден за:
    • среднее время, или
    • худшее время, где является экспонентой умножения матриц .
  • Для любой константы k и любого графа из нетривиального семейства графов, замкнутого по минорам (например, планарные графы ), если G содержит простой цикл размера k , то такой цикл может быть найден за:
    • O ( V ) среднее время, или за
    • O ( V log V ) время в худшем случае.
  • Если граф содержит подграф, изоморфный графу ограниченной древесной ширины , который имеет O (log V ) вершин, то такой подграф может быть найден за полиномиальное время .

Метод

Чтобы решить задачу нахождения подграфа в данном графе , где H может быть путём, циклом или любым графом с ограниченной древесной шириной , а , метод цветового кодирования начинает со случайной раскраски каждой вершины в G с помощью цветов, а потом пытается найти полноцветную копию H в раскрашенном G . Здесь под полноцветным графом понимается граф, в котором каждая вершина раскрашена в свой цвет. Метод работает путём повторения (1) случайной раскраски графа и (2) нахождения полноцветной копии целевого подграфа. В конечном счёте целевой подграф может быть найден, если процесс повторять достаточное число раз.

Предположим, что копия H в G становится полноцветной с некоторой ненулевой вероятностью p . Отсюда следует, что при повторении случайной раскраски раз эта копия однажды встретится. Заметим, что даже когда вероятность p мала, известно, что при вероятность p лишь полиномиально мала. Предположим, что существует алгоритм , который для данного графа G и раскраски, которая отображает каждую вершину G в один из k цветов, находит копию полноцветной копии H , если она существует, за некоторое время O ( r ) . Тогда ожидаемое время поиска копии H в G , если она существует, равно .

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

Пример

В качестве примера возьмём поиск простого цикла длины k в графе .

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

Алгоритм поиска полноцветного цикла сначала находит все пары вершин в V , соединённые простым путём длины k − 1 , а потом проверяет, соединены ли две вершины в каждой паре. Если задана функция раскраски для графа G , перенумеруем все разбиения множества цветов на два подмножества размера примерно в каждом. Для каждого такого разбиения пусть будет множеством вершинам, выкрашенных цветами из , а будет множеством вершин, выкрашенных цветами из . Пусть и обозначают подграфы, порожденные и соответственно. Рекурсивно находим полноцветные пути длины в и . Представим, что булевы матрицы и представляют связь каждой пары вершин в и полноцветным путём соответственно, и пусть B будет матрицей, описывающей смежность вершин и , тогда булево произведение даёт все пары вершин в V , соединённые полноцветным путём длины k − 1 . Объединение матриц, полученных на всех разбиениях множества цветов, даёт , что приводит ко времени работы . Хотя этот алгоритм находит только конечные точки полноцветного пути, может быть использован другой алгоритм Алона и Наора , который и находит, собственно, полноцветный путь.

Дерандомизация

цветового кодирования вовлекает перечисление возможных раскрашиваний графа G , так что рандомизация раскраски G больше не нужна. Чтобы можно было обнаружить целевой подграф H в G , перечисление должно включать, по меньшей мере, один случай, где H полноцветен. Чтобы это получить, достаточно перечислить k -совершенное семейство F хеш-функций из в {1, ..., k } . По определению, функция F k -совершенна, если для любого подмножества S множества , где , существует хеш-функция h из F , такая что является . Другими словами, должна существовать хеш-функци в F , которая раскрашивает заданные k вершин в k различных цвета.

Имеется несколько подходов к построению такого k -идеального семейства хеша:

  1. Лучшее явное построение предложили Мони Наор, Леонард Дж. Шульман и Аравинд Сринивасан , в котором можно получить семейство размера . Это построение не требует, чтобы целевой подграф содержался в исходной задаче нахождения подграфа.
  2. Другое явное построение предложили Джанетта П. Шмидт и Алан Сигель даёт семейство размера .
  3. Ещё одно построение, которое появилось в исходной статье Нога Алона и др. , можно получить сначала путём построения k -совершенного семейства, которое отображает в , с построением другого k -совершенного семейства, которое отображает в . На первом шаге можно построить такое семейство с 2 n log k случайными битами, которое почти 2log k -независимо , и пространство, необходимое для генерации этих случайных бит, может быть ограничено величиной . На втором шаге, как показали Джанетта П. Шмидт и Алан Зигель , размер такого k -идеального семейства может быть . Следовательно, составляя k -идеальные семейства из обоих шагов, можно получить k -совершенное семейство размера , которое отображает из в .

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

Дерандомизация метода цветового кодирования может быть легко распараллелена, что приводит к эффективным алгоритмам в классе NC .

Приложения

Недавно цветовое кодирование привлекло внимание ученых из области биоинформатики . Пример — определение сигнальных путей в сетях белок-белкового взаимодействия (ББВ). Другим примером является обнаружение и подсчёт числа в сетях ББВ. При изучении как сигнальных путей , так и позволяет более глубокое понимание похожести разницы многих биологических функций, процессов и структур в организмах.

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

Примечания

  1. , с. 23—25.
  2. , с. 844—856.
  3. См. Алгоритм Копперсмита — Винограда . Экспонента умножения матриц — это степень размера матрицы асимптотической сложности алгоритма умножения матриц.
  4. .
  5. , с. 182.
  6. , с. 775–786.
  7. , с. 213—223.
  8. , с. 544—553.

Литература

  • Naor J., Naor M. Small-bias probability spaces: efficient constructions and applications // Proceedings of the Twenty-Second Annual ACM Symposium on theory of Computing (Baltimore, Maryland, United States, May 13–17, 1990) / H. Ortiz, Ed.. — New York, NY: ACM, 1990. — doi : .
  • Alon N., Goldreich O., Hastad J., Peralta R. Simple construction of almost k-wise independent random variables // Proceedings of the 31st Annual Symposium on Foundations of Computer Science (October 22–24, 1990). SFCS.. — Washington, DC: IEEE Computer Society, 1990. — doi : .
  • Alon N., Yuster R., Zwick U. Color-coding: a new method for finding simple paths, cycles and other small subgraphs within large graphs // Proceedings of the Twenty-Sixth Annual ACM Symposium on theory of Computing (Montreal, Quebec, Canada, May 23–25, 1994). STOC '94.. — New York, NY: ACM, 1994. — doi : .
  • Alon N., Yuster R., Zwick U. Color-coding. // J. ACM. — 1995. — Т. 42 , вып. 4 . — doi : .
  • Alon N., Naor M. Derandomization, Witnesses for Boolean Matrix Multiplication and Construction of Perfect Hash Functions. // Technical Report. UMI Order Number: CS94-11.,. — Weizmann Science Press of Israel, 1994.
  • Naor M., Schulman L. J., Srinivasan A. Splitters and near-optimal derandomization // In Proceedings of the 36th Annual Symposium on Foundations of Computer Science (October 23–25, 1995). FOCS.. — Washington, DC: IEEE Computer Society, 1995. — Т. 182.
  • Schmidt J. P., Siegel A. The spatial complexity of oblivious k-probe Hash functions // SIAM J. Comput.. — 1990. — Т. 19 , вып. 5 . — doi : .

Литература для дальнейшего чтения

  • Alon N., Dao P., Hajirasouliha I., Hormozdiari F., Sahinalp S. C. Biomolecular network motif counting and discovery by color coding // Bioinformatics. — 2008. — Т. 24 , вып. 13 . — С. i241–i249 . — doi : . — . — PMC .
  • Hüffner F., Wernicke S., Zichner T. Algorithm Engineering for Color-Coding with Applications to Signaling Pathway Detection // Algorithmica. — 2008. — Т. 52 , вып. 2 . — С. 114–132 . — doi : .
Источник —

Same as Цветовое кодирование