Цветовая кодировка - Color-coding
В Информатика и теория графов, период, термин цветовое кодирование относится к алгоритмическая техника что полезно для открытия сетевые мотивы. Например, его можно использовать для обнаружения простой путь длины k в данном график. Традиционный алгоритм цветового кодирования вероятностный, но это может быть дерандомизированный без особых накладных расходов во время работы.
Цветовая кодировка также применяется при обнаружении циклы заданной длины, и в более общем смысле это относится к проблема изоморфизма подграфов (ан НП-полный проблема), где дает алгоритмы полиномиального времени когда шаблон подграфа, который он пытается обнаружить, ограничен ширина дерева.
Метод цветового кодирования был предложен и проанализирован в 1994 г. Нога Алон, Рафаэль Юстер, и Ури Цвик.[1][2]
Полученные результаты
Следующие результаты можно получить с помощью метода цветового кодирования:
- Для каждой фиксированной константы k, если граф грамм = (V, E) содержит простой цикл размера k, то такой цикл можно найти в:
- ожидаемое время, или
- худшее время, когда ω показатель степени матричное умножение.[3]
- Для каждой фиксированной константы k, и каждый граф грамм = (V, E) что есть в любом нетривиальном семейство минорных замкнутых графов (например, планарный граф ), если грамм содержит простой цикл размера k, то такой цикл можно найти в:
- О(V) ожидаемое время, или
- О(V бревно V) худшее время.
- Если график грамм = (V, E) содержит подграф, изоморфный ограниченному ширина дерева граф, который имеет О(бревно V) вершин, то такой подграф можно найти в полиномиальное время.
Метод
Решить задачу поиска подграфа в данном графе грамм = (V, E), куда ЧАС может быть путем, циклом или любым ограниченным ширина дерева график, где , метод цветового кодирования начинается со случайного окрашивания каждой вершины грамм с цветов, а затем пытается найти красочную копию ЧАС в цветном грамм. Здесь граф является красочным, если каждая его вершина окрашена в определенный цвет. Этот метод работает, повторяя (1) случайную раскраску графа и (2) находя красочную копию целевого подграфа, и в конечном итоге целевой подграф можно найти, если процесс повторяется достаточное количество раз.
Предположим, что копия ЧАС в грамм становится красочным с некоторой ненулевой вероятностью п. Сразу следует, что при повторении случайной раскраски 1/п раз, то ожидается, что эта копия станет разноцветной. Обратите внимание, что хотя п мало, показано, что если , п только полиномиально мала. Предположим снова, что существует такой алгоритм, что для графа грамм и раскраска, отображающая каждую вершину грамм к одному из k цвета, он находит копию красочных ЧАС, если он существует, в течение некоторого времени выполнения О(р). Тогда ожидаемое время найти копию ЧАС в грамм, если таковой существует, является .
Иногда также желательно использовать более ограниченный вариант красочности. Например, в контексте поиска циклов в планарные графы, можно разработать алгоритм, который находит хорошо раскрашенные циклы. Здесь цикл хорошо раскрашен, если его вершины раскрашены в последовательные цвета.
Пример
Примером может служить поиск простого цикла длины k в графике грамм = (V, E).
Применяя метод случайной раскраски, каждый простой цикл имеет вероятность стать красочным, так как есть способы окраски k вершин на цикле, среди которых есть красочные происшествия. Затем можно использовать алгоритм (описанный ниже) для поиска разноцветных циклов в случайно окрашенном графе. грамм во время , куда - постоянная матричного умножения. Следовательно, требуется общее время, чтобы найти простой цикл длины k в грамм.
Алгоритм красочного поиска циклов работает, сначала находя все пары вершин в V которые связаны простым путем длиной k − 1, а затем проверка, связаны ли две вершины в каждой паре. Учитывая функцию окраски c : V → {1, ..., k} раскрасить график грамм, пронумеровать все разделы набора цветов {1, ..., k} на два подмножества C1, C2 размера каждый. Обратите внимание, что V можно разделить на V1 и V2 соответственно, и пусть грамм1 и грамм2 обозначим подграфы, индуцированные V1 и V2 соответственно. Затем рекурсивно найдите цветные пути длины в каждом из грамм1 и грамм2. Предположим, что логическая матрица А1 и А2 представляют собой связность каждой пары вершин в грамм1 и грамм2 красочной дорожкой соответственно, и пусть B - матрица, описывающая отношения смежности между вершинами V1 и те из V2, логическое произведение дает все пары вершин в V которые соединены красочной дорожкой длиной k − 1. Таким образом, рекурсивное отношение матричных умножений есть , что дает время выполнения . Хотя этот алгоритм находит только конечные точки красочного пути, другой алгоритм Алона и Наора[4] который сам находит красочные дорожки, может быть включен в него.
Дерандомизация
В дерандомизация цветового кодирования включает в себя перечисление возможных раскрасок графа грамм, такая, что случайность раскраски грамм больше не требуется. Для целевого подграфа ЧАС в грамм чтобы его можно было обнаружить, перечисление должно включать как минимум один экземпляр, где ЧАС красочный. Чтобы добиться этого, перечислив k-идеальная семья F хэш-функций из {1, ..., |V|} к {1, ..., k} достаточно. По определению, F является k-совершенно, если для каждого подмножества S из {1, ..., |V|} куда , существует хеш-функция час в F такой, что час : S → {1, ..., k} является идеально. Другими словами, должна существовать хеш-функция в F это окрашивает любой данный k вершины с k отличные цвета.
Есть несколько подходов к построению такого k-совершенное семейство хешей:
- Лучшая явная конструкция Мони Наор, Леонард Дж. Шульман, и Аравинд Шринивасан,[5] где большая семья может быть получен. Эта конструкция не требует, чтобы целевой подграф существовал в исходной задаче поиска подграфа.
- Другая явная конструкция Жанетт П. Шмидт и Алан Сигел[6] дает большую семью .
- Другая конструкция, которая появляется в оригинальной статье Нога Алон и другие.[2] можно получить, сначала построив k- идеальная семья, которая отображает {1, ..., |V|} к {1, ..., k2}, с последующим построением еще одного k- идеальная семья, которая отображает {1, ..., k2} к {1, ..., k}. На первом этапе можно построить такое семейство с 2пбревно k случайные биты, которые почти 2log k-мно независимым,[7][8] и пространство выборки, необходимое для генерации этих случайных битов, может быть как минимум . На втором этапе это показали Жанетт П. Шмидт и Алан Сигель.[6] что размер такой k- идеальная семья может быть . Следовательно, составив k- идеальные семьи с обеих ступеней, k- идеальная размерная семья что карты из {1, ..., |V|} к {1, ..., k} может быть получен.
В случае дерандомизации раскраски колодца, когда каждая вершина подграфа раскрашивается последовательно, k-совершенное семейство хеш-функций от {1, ..., |V|} к {1, ..., k!} необходим. Достаточный k-совершенное семейство карт из {1, ..., |V|} к {1, ..., kk} может быть сконструирован аналогично подходу 3 выше (первый шаг). В частности, это делается с помощью нкбревно k случайные биты, которые почти kбревно k независимыми, а размер полученного k- идеальная семья будет .
Дерандомизацию метода цветового кодирования можно легко распараллелить, что дает эффективный NC алгоритмы.
Приложения
В последнее время цветовое кодирование привлекло большое внимание в области биоинформатики. Одним из примеров является обнаружение сигнальные пути в белок-белковое взаимодействие (PPI) сети. Другой пример - обнаружить и подсчитать количество мотивы в сетях PPI. Изучая оба сигнальные пути и мотивы позволяет глубже понять сходства и различия многих биологических функций, процессов и структур организмов.
Из-за огромного количества данных о генах, которые можно собрать, поиск путей или мотивов может занять очень много времени. Однако при использовании метода цветового кодирования мотивы или сигнальные пути с вершины в сети грамм с п вершины могут быть найдены очень эффективно за полиномиальное время. Таким образом, это позволяет нам исследовать более сложные или большие структуры в сетях PPI.
дальнейшее чтение
- Alon, N .; Dao, P .; Hajirasouliha, I .; Хормоздиари, Ф .; Сахиналп, С. С. (2008). «Подсчет и обнаружение мотивов биомолекулярной сети с помощью цветового кодирования». Биоинформатика. 24 (13): i241 – i249. Дои:10.1093 / биоинформатика / btn163. ЧВК 2718641. PMID 18586721.
- Hüffner, F .; Wernicke, S .; Зихнер, Т. (2008). «Разработка алгоритмов для цветового кодирования с приложениями для обнаружения сигнального пути». Алгоритмика. 52 (2): 114–132. CiteSeerX 10.1.1.68.9469. Дои:10.1007 / s00453-007-9008-7.
Рекомендации
- ^ Алон Н., Юстер Р. и Цвик У. 1994. Цветовое кодирование: новый метод поиска простых путей, циклов и других небольших подграфов в больших графах. В материалах двадцать шестого ежегодного симпозиума ACM по теории вычислений (Монреаль, Квебек, Канада, 23–25 мая 1994 г.). STOC '94. ACM, Нью-Йорк, штат Нью-Йорк, 326–335. DOI = http://doi.acm.org/10.1145/195058.195179
- ^ а б Алон Н., Юстер Р. и Цвик У. 1995. Цветовое кодирование. J. ACM 42, 4 (июль 1995 г.), 844–856. DOI = http://doi.acm.org/10.1145/210332.210337
- ^ Алгоритм Копперсмита – Винограда
- ^ Алон, Н. и Наор, М. 1994 Дерандомизация, свидетельства умножения булевых матриц и построения совершенных хеш-функций. Технический отчет. Номер заказа UMI: CS94-11., Weizmann Science Press, Израиль.
- ^ Наор, М., Шульман, Л. Дж., И Сринивасан, А. 1995. Сплиттеры и почти оптимальная дерандомизация. В материалах 36-го ежегодного симпозиума по основам компьютерных наук (23–25 октября 1995 г.). FOCS. Компьютерное общество IEEE, Вашингтон, округ Колумбия, 182.
- ^ а б Schmidt, J. P .; Сигель, А. (1990). «Пространственная сложность не обращающих внимания на хеш-функции k-зонда». SIAM J. Comput. 19 (5): 775–786. Дои:10.1137/0219054.
- ^ Наор, Дж. И Наор, М. 1990. Вероятностные пространства с малым смещением: эффективные конструкции и приложения. В материалах двадцать второго ежегодного симпозиума ACM по теории вычислений (Балтимор, Мэриленд, США, 13–17 мая 1990 г.). Х. Ортис, Под ред. СТОК '90. ACM, Нью-Йорк, штат Нью-Йорк, 213-223. DOI = http://doi.acm.org/10.1145/100216.100244
- ^ Алон, Н., Голдрейх, О., Хастад, Дж., И Перальта, Р. 1990. Простое построение почти k-образных независимых случайных величин. В материалах 31-го ежегодного симпозиума по основам информатики (22–24 октября 1990 г.). SFCS. IEEE Computer Society, Вашингтон, округ Колумбия, 544-553, том 2. Дои:10.1109 / FSCS.1990.89575