Кодирање бојама

С Википедије, слободне енциклопедије

У информатици и теорији графова, метод кодирања бојама ефикасно проналази к-чворова простих путева, к-чворова циклуса и друге подграфове задатог графа користећи алгоритме вероватноће. Овај метод показује да се многи изоморфни проблеми подграфова (НП-комплетни проблеми) могу решити у полиномијалном времену.

Теорију и анализу метода кодирања бојама предложили су Нога Алон, Рапхаел Yустер, и Ури Зwицк 1994. године.

Временска сложеност[уреди | уреди извор]

Следећи резултати могу бити добијени методом кодирања бојама:

  • За сваку константу , ако граф садржи прост циклус , онда се такав циклус може наћи у:
    • О() очекиваном времену, или
    • О() времену најгорег случаја, где је експонент множења матрица.
  • За сваку константу , и сваки граф који је у некој нетривијалној фамилији графова, ако садржи прост циклус величине , онда се такав циклус може наћи у:
    • О() очекиваном времену, или
    • О() времену најгорег случаја.
  • Ако граф садржи подграф изоморфан ограниченом стаблоширинском графу који има чворова, онда се такав подграф може пронаћи у полиномијалном времену.

Метод[уреди | уреди извор]

Да би се пронашао подграф датог графа , где може бити пут или циклус, метода кодирања бојама почиње насумичним бојањем сваког чвора графа са различитих боја, а затим налази шарене копије од у обојеном графу . Граф је шарен ако је сваки чвор у њему обојен различитим бојама. Ова метода функционисе понављањем (1) насумичног бојања графа и (2) проналажењем шарене копије траженог подграфа па ће се тражени подграф пронаћи у процесу понављања.

Претпоставимо да постаје шарена са неком не-нула вероватноћом . Из тога следи да ако се насумично бојање понавља пута, онда се очекује да постане шарен. Иако има малу вредност, показано је да ако , је само полиномијално мале вредности. Претпоставимо понови да постоји алгоритам такав да, дати граф и бојања која означавају сваки чвор графа једном од боја, налази шарену копију , ако она постоји, за неко извршно време . Онда је очекивано време налажења копије у графу , ако иста постоји, износи .

Пример[уреди | уреди извор]

Пример који налази прост циклус дужине у графу .

Насумичним бојањем, сваки прост циклус има вероватноцу да постане шарен, како постоји различитих начина бојања чворова пута, међу којима су шарених појављивања. Онда се алгоритам (доле описан), са временом извршавања може користити да се пронађе шарени циклус у насумично обојаном графу . Због тога је потребно укупног времена да се пронађе једноставан циклус дужине графа .

Алгоритам за тражење шареног циклуса ради тако што прво проналази све парове чворова у V који су повезани простим путем дужине к − 1, затим проверава да ли су свака два чвора повезана. Позивањем функције за бојање да обоји граф , нумеришу се сви скупови боја у два потскупа , сваки величине . Примети се да може бити подељен на и сходно томе и и означавају подграф индукованих и пропорцијално. Затим се рекурзивно налази шарени пут дужине у свакој од и . Претпоставимо да Булове матрице и представљају повезаност сваког пара чворова и шареним путем, пропорцијално, и нека буде матрица која описује суседства између чворова и . Булов производ даје све парове чворова у који су повезани шареним путем дужине . Дакле, рекурзивни однос множења матрица је , што обезбеђује време извршавања .

Како овај алгоритам проналази само крајње тачке шареног пута, постоји и други алгоритам од Алона и Наора који проналази шарене путеве који могу изграђивати сами себе.

Отклањање случајности[уреди | уреди извор]

Отклањање насумичности код кодирања бојама подразумева набрајања могућих боја графа, таква да случајност код бојања више није потребна. Да би циљни подграф у графу био откривен, набрајање мора да садржи бар један пример где је шарен. Да би се ово постигло, довољно је да се набраја -савршених фамилија хеш функција од то . По дефиницији, је к-савршен за сваки подскуп од где је , постоји хеш функција таква да је савршена. Другим речима, мора постојати хеш функција у која боји било којих датих чворова са различитих боја.

Постоји неколико различитих приступа да се изгради тако савршена хеш фамилија:

  1. Најбољу експлицитну конструкцију написали су: Мони Наор, Леонард Ј. Сцхулман и Аравинд Сринивасан у којој се може добити фамилија величине . Овај начин не захтева да тражени подграф постоји у оригиналном проблему проналажења подграфа.
  2. Другу експлицитну конструкцију написали су Јеанетте П. Сцхмидт и Алан Сиегел. Овде је породица величине .
  3. Још једна конструкција се појављује у оригиналном документу Ноге Алона. Прво се направи к-савршена фамилија, која мапира до , затим се направи још једна к-савршена фамилија која мапира до . У првом кораку, могуће је конструисати фамилију са случајних битова који су готово мудро независни и простор потребан за генерисање тих случајних битова може бити мали . У другом кораку, су Јеанетте П. Сцхмидт и Алан Сиегел показали да величина такве -савршене фамилије може бити . Сходно томе, компоновањем -савршене фамилије од оба корака, може се добити -савршена фамилија величине која мапира од до .

Употреба[уреди | уреди извор]

Од скоро, кодирање бојама привлачи много пажње у пољу биоинформатике. Један од примера је откривање сигналних путева у протеин-протеин интеракцији. Други пример је да се открије и преброји број мотива у ППИ. Проучавањем оба омогућава дубље разумевање сличности и разлика многих биолошких функција, процеса и структура међу организмима.

Због велике количине прикупљених података (о генима), потрага путева и мотива може веома дуго трајати. Међутим, коришћењем кодирања бојама, мотиви или сигнални путеви са Рашчлањивање није успело (SVG (MathML се може укључити преко плугина за прегледач): Invalid response ("Math extension cannot connect to Restbase.") from server "http://localhost:6011/sr.wikipedia.org/v1/":): {\displaystyle k=O(\log n)} чворова у мрежи са чворова вертицес могу се наћи веома ефикасно, у полиномијалном времену. То омогућава истраживања сложенијих и већих структура у протеин-протеин интеракцијама. Више детаља се може пронаћи.

Литература[уреди | уреди извор]

  • Alon, N., Yuster, R., and Zwick, U. 1994. Color-coding: a new method for finding simple paths, cycles and other small subgraphs within large graphs. In Proceedings of the Twenty-Sixth Annual ACM Symposium on theory of Computing (Montreal, Quebec, Canada, May 23–25, 1994)
  • Alon, N., Yuster, R., and Zwick, U. 1995. Color-coding. J. ACM 42, 4 (Jul. 1995)
  • Coppersmith–Winograd Algorithm
  • Naor, M., Schulman, L. J., and Srinivasan, A. 1995. Splitters and near-optimal derandomization. In Proceedings of the 36th Annual Symposium on Foundations of Computer Science (October 23–25, 1995)
  • Schmidt, J. P. and Siegel, A. 1990. The spatial complexity of oblivious k-probe Hash functions. SIAM J. Comput. 19, 5 (Sep. 1990)
  • Naor, J. and Naor, M. 1990. Small-bias probability spaces: efficient constructions and applications. In Proceedings of the Twenty-Second Annual ACM Symposium on theory of Computing (Baltimore, Maryland, United States, May 13–17, 1990)
  • Alon, N., Dao, P., Hajirasouliha, I., Hormozdiari, F., and Sahinalp, S. C. 2008. Biomolecular network motif counting and discovery by color coding. Bioinformatics 24, 13 (Jul. 2008)
  • Hüffner, F., Wernicke, S., and Zichner, T. 2008. Algorithm Engineering for Color-Coding with Applications to Signaling Pathway Detection. Algorithmica 52, 2 (Aug. 2008)