Клика (теория графов)

Шесть рёбер не входят ни в один треугольник и 11 светло-голубых треугольников образуют максимальные клики.
Две тёмно-синие 4-клики являются как наибольшими, так и максимальными, и кликовое число графа равно 4.
Кликой неориентированного графа называется подмножество его вершин, в котором все вершины соединены ребром между собой. Клики являются одной из основных концепций теории графов и используются во многих других математических задачах и построениях с графами. Клики изучаются также в информатике — задача определения, существует ли клика данного размера в графе (Задача о клике) является NP-полной. Несмотря на эту трудность, изучаются многие алгоритмы для поиска клик.
Хотя изучение полных подграфов началось ещё с формулировки теоремы Рамсея в терминах теории графов Эрдёшем и Секерешем[1][2]. Термин «клика» пришёл из работы Люка и Пери[3], использовавших полные подграфы при изучении социальных сетей для моделировании клик людей, то есть групп людей, знакомых друг с другом[4]. Клики имеют много других приложений в науке, и, в частности, в биоинформатике.
Определения
[править | править код]Кликой в неориентированном графе называется подмножество вершин , такое что для любых двух вершин в существует ребро, их соединяющее. Это эквивалентно утверждению, что подграф, порождённый , является полным.
Максимальная клика или клика, максимальная по включению — это клика, которую нельзя расширить добавлением в неё вершин. Иначе говоря, в данном графе нет клики большего размера, в которую она входит.
Наибольшая клика или клика, максимальная по размеру — это клика максимального размера для данного графа.
Кликовое число графа — это число вершин в наибольшей клике графа . Число пересечений графа — это наименьшее число клик, вместе покрывающих все рёбра графа .
Противоположное клике понятие — это независимое множество в том смысле, что каждая клика соответствует независимому множеству в дополнительном графе. Задача о покрытии кликами[англ.] состоит в нахождении как можно меньшего числа клик, содержащих все вершины графа.
Связанный термин — это биклика, полный двудольный подграф. Двудольная размерность графа — это минимальное число биклик, необходимых для покрытия всех рёбер графа.
Математика
[править | править код]Математические результаты относительно клик включают следующие.
- Теорема Турана[5] даёт нижнюю границу числа клик в плотных графах. Если граф имеет достаточно много рёбер, он должен содержать клику. Например, любой граф с вершинами и более чем рёбрами должен иметь клику из трёх вершин.
- Теорема Рамсея[6] утверждает, что любой граф или его дополнительный граф содержит клику как минимум с логарифмическим числом вершин.
- Согласно результатам Муна и Мозера[7], граф с вершинами может содержать максимум наибольших клики. Графы, удовлетворяющие этой границе — это графы Муна — Мозера — специальный случай графов Турана, возникающий как экстремальный случай теоремы Турана.
- Гипотеза Хадвигера, остающаяся недоказанной, связывает размер наибольшей клики минора в графе (его Число Хадвигера) с его хроматическим числом.
- Гипотеза Эрдёша — Фабера — Ловаша[англ.] — это другое недоказанное утверждение относительно связи раскраски графа с кликами.
Некоторые важные классы графов можно определить их кликами:
- Хордальный граф — это граф, вершины которого могут быть упорядочены в порядке совершенного исключения; порядке, при котором соседи каждой вершины идут после вершины .
- Кограф — это граф, все порождённые подграфы которого имеют свойство, что любая наибольшая клика пересекается с любым наибольшим независимым множеством в единственной вершине.
- Интервальный граф — это граф, наибольшие клики которого можно упорядочить так, что для любой вершины , клики, содержащие , идут последовательно.
- Рёберный граф — это граф рёбра которого могут быть покрыты кликами без общих рёбер, притом каждая вершина будет принадлежать в точности двум кликам.
- Совершенный граф — это граф, в котором кликовое число равно хроматическому числу в каждом порождённом подграфе.
- Расщепляемый граф — это граф, в котором некоторый набор клик содержит по крайней мере одну вершину из каждого ребра.
- Граф без треугольников — это граф, в котором нет других клик кроме вершин и рёбер.
Кроме того, многие другие математические построения привлекают клики графов. Среди них:
- Совокупность клик[англ.] графа — это абстрактная симплексная совокупность[англ.] с симплексом для каждой клики в ;
- Симплекс-граф[англ.] — это неориентированный граф с вершинами для каждой клики в графе и рёбрами, соединяющими две клики, отличающиеся одной вершиной. Этот граф является примером медианного графа и связан с алгеброй медиан[англ.] на кликах графа — медиана трёх клик , и — это клика, вершины которой принадлежат по крайней мере двум кликам из , и [8];
- Сумма по клике — это метод комбинирования двух графов путём их слияния по клике;
- Кликовая ширина — это категория сложности графов в терминах минимального числа различных меток вершин, необходимых для построения графа из разрозненных наборов с помощью операций разметки и операций соединения всех пар вершин с одинаковыми метками. Графы с кликовой шириной единица — это в точности разрозненные наборы клик;
- Число пересечений графа — это минимальное число клик, необходимых для покрытия всех рёбер графа.
Близкая концепция к полным подграфам — это разбиения графов на полные подграфы и полные миноры графа. В частности, теорема Куратовского[англ.]* и теорема Вагнера характеризуют планарные графы путём запрещения полных и полных двудольных подграфов и миноров, соответственно.
Информатика
[править | править код]В информатике задача о клике — это вычислительная задача нахождения максимальной клики или клик в заданном графе. Задача является NP-полной, одной из 21 NP-полных задач Карпа[9]. Она также сложна для параметрического приближения[англ.] и трудно аппроксимируема. Тем не менее разработано много алгоритмов для работы с кликами, работающих либо за экспоненциальное время (такие как алгоритм Брона — Кербоша), либо специализирующиеся на семействах графов, таких как планарные графы или совершенные графы, для которых задача может быть решена за полиномиальное время.
Бесплатное программное обеспечение для поиска максимальной клики
[править | править код]Ниже приведён список свободно распространяемого программного обеспечение для поиска максимальной клики.
Название | Лицензия | Язык API | Короткое описание |
---|---|---|---|
NetworkX | BSD | Python | приближённое решение, смотри процедуру max_clique (недоступная ссылка) |
maxClique | CRAPL | Java | точные алгоритмы, реализации DIMACS Архивная копия от 23 сентября 2015 на Wayback Machine |
OpenOpt | BSD | Python | точные и приближённые решения, возможность указать рёбра, которые должны быть включены (MCP) |
Применение
[править | править код]Много различных задач биоинформатики смоделированы с помощью клик. Например, Бен-Дор, Шамир и Яхини[10] моделировали задачу разбиения на группы экспрессии генов как задачу поиска минимального числа изменений, необходимых для преобразования графа данных в граф, сформированный несвязными наборами клик. Танай, Шаран и Шамир[11] обсуждают похожую задачу бикластеризации данных экспрессии генов, в которой кластеры должны быть кликами. Сугихара[12] использовал клики для моделирования экологических ниш в пищевых цепях. Дей и Санков[13] описывают задачу описания эволюционных деревьев как задачу нахождения максимальных клик в графе, в котором вершины представляют характеристики, а две вершины соединены ребром, если существует идеальная история развития[англ.], комбинирующая эти две характеристики. Самудрала и Молт[14] моделировали предсказание структуры белка как задачу нахождения клик в графе, вершины которого представляют позиции частей белка, а путём поиска клик в схеме взаимодействия белок-белок[англ.]. Спирит и Мирни [15] нашли кластеры белков, которые взаимодействуют тесно друг с другом и имеют слабое взаимодействие вне кластера. Анализ мощности графа[англ.] — это метод упрощения сложных биологических систем путём нахождения клик и связанных структур в этих системах.
В электротехнике Прихар [16] использовал клики для анализа коммуникационных сетей, а Паул и Унгер [17] использовали их для разработки эффективных схем для вычисления частично определённых булевских функций. Клики используются также в автоматических генерациях тестовых шаблонов[англ.] — большая клика в графе несовместимости возможных дефектов даёт нижнюю границу множества тестовов[18]. Конг и Смит [19] описывают применение клик для поиска иерархических структур в электрических схемах.
В химии Родес и соавторы[20] использовали клики для описания химических соединений в химической базе данных[англ.], имеющих высокую степень похожести. Кул, Крипен и Фризен[21] использовали клики для моделирования позиций, в которых два химических соединения связываются друг с другом.
См. также
[править | править код]Примечания
[править | править код]- ↑ Erdős, Szekeres, 1935.
- ↑ Более ранние работы Казимира КуратовскогоKuratowski, 1930 по характеризации планарных графов путём запрещения полных и полных двудольных подграфов сформулирована скорее в топологических терминах, а не в терминах теории графов
- ↑ Luce, Perry, 1949.
- ↑ О дальнейших работах в области моделирования социальных клик с помощью теории графов смотрите работы АльбыAlba, 1973, Пия Peay, 1974 и Дориана с ВудардомDoreian, Woodard, 1994
- ↑ Turán, 1941.
- ↑ Graham, Rothschild, Spencer, 1990.
- ↑ Moon, Moser, 1965.
- ↑ J.-P. Barthélemy, B. Leclerc, B. Monjardet. On the use of ordered sets in problems of comparison and consensus of classifications // Journal of Classification. — 1986. — Т. 3, вып. 2. — С. 200. — doi:10.1007/BF01894188.
- ↑ Karp, 1972.
- ↑ Ben-Dor, Shamir, Yakhini, 1999.
- ↑ Tanay, Sharan, Shamir, 2002.
- ↑ Sugihara, 1984.
- ↑ Day, Sankoff, 1986.
- ↑ Samudrala, Moult, 1998.
- ↑ Spirin, Mirny, 2003.
- ↑ Prihar, 1956.
- ↑ Paull, Unger, 1959.
- ↑ I. Hamzaoglu, J. H. Patel. Proc. 1998 IEEE/ACM International Conference on Computer-Aided Design. — 1998. — С. 283—289. — doi:10.1145/288548.288615.
- ↑ Cong, Smith, 1993.
- ↑ Rhodes, Willett, Calvet, Dunbar, Humblet, 2003.
- ↑ Kuhl, Crippen, Friesen, 1983.
Литература
[править | править код]- Paul Erdős, George Szekeres. A combinatorial problem in geometry // Compositio Math. — 1935. — Т. 2. — С. 463—470.
- Luce R. Duncan, Albert D. Perry. A method of matrix analysis of group structure // Psychometrika. — 1949. — Т. 2, вып. 14. — С. 95—116. — doi:10.1007/BF02289146. — PMID 18152948.
- Moon, J. W., Leo Moser. On cliques in graphs // Israel J. Math.. — 1965. — Т. 3. — С. 23–28. — doi:10.1007/BF02760024.
- Ronald Graham, B. Rothschild, Joel Spencer. Ramsey Theory. — New York: John Wiley and Sons, 1990. — ISBN 0-471-50046-1.
- Paul Turán. On an extremal problem in graph theory (венг.) // Matematikai és Fizikai Lapok. — 1941. — Т. 48. — С. 436—452.
- Richard D. Alba. A graph-theoretic definition of a sociometric clique // Journal of Mathematical Sociology. — 1973. — Т. 3, вып. 1. — С. 113—126. — doi:10.1080/0022250X.1973.9989826.
- Edmund R. Peay. Hierarchical clique structures // Sociometry. — 1974. — Т. 37, вып. 1. — С. 54—65. — doi:10.2307/2786466. — .
- Patrick Doreian, Katherine L. Woodard. Defining and locating cores and boundaries of social networks // Social Networks. — 1994. — Т. 16, вып. 4. — С. 267—293. — doi:10.1016/0378-8733(94)90013-2.
- Richard M. Karp. Complexity of Computer Computations / R. E. Miller, J. W. Thatcher. — New York: Plenum, 1972. — С. 85–103.
- Amir Ben-Dor, Ron Shamir, Zohar Yakhini. Clustering gene expression patterns // Journal of Computational Biology. — 1999. — Т. 6, вып. 3—4. — С. 281—297. — doi:10.1089/106652799318274. — PMID 10582567.
- Amos Tanay, Roded Sharan, Ron Shamir. Discovering statistically significant biclusters in gene expression data // Bioinformatics. — 2002. — Т. 18, вып. Suppl. 1. — С. S136—S144. — doi:10.1093/bioinformatics/18.suppl_1.S136. — PMID 12169541.
- George Sugihara. Population Biology / editor: Simon A. Levin. — 1984. — Т. 30. — С. 83—101.
- William H. E. Day, David Sankoff. Computational complexity of inferring phylogenies by compatibility // Systematic Zoology. — 1986. — Т. 35, вып. 2. — С. 224—229. — doi:10.2307/2413432. — .
- Ram Samudrala, John Moult. A graph-theoretic algorithm for comparative modeling of protein structure // Journal of Molecular Biology. — 1998. — Т. 279, вып. 1. — С. 287—302. — doi:10.1006/jmbi.1998.1689. — PMID 9636717.
- Victor Spirin, Leonid A. Mirny. Protein complexes and functional modules in molecular networks // Proceedings of the National Academy of Sciences. — 2003. — Т. 100, вып. 21. — С. 12123—12128. — doi:10.1073/pnas.2032324100. — PMID 14517352. — PMC 218723.
- Z. Prihar. Topological properties of telecommunications networks // Proceedings of the IRE. — 1956. — Т. 44, вып. 7. — С. 927—933. — doi:10.1109/JRPROC.1956.275149.
- M. C. Paull, S. H. Unger. Minimizing the number of states in incompletely specified sequential switching functions. — 1959. — Vol. EC-8. — Вып. 3. — С. 356—367. — doi:10.1109/TEC.1959.5222697.
- J. Cong, M. Smith. Proc. 30th International Design Automation Conference. — 1993. — С. 755–760. — doi:10.1145/157485.165119.
- Nicholas Rhodes, Peter Willett, Alain Calvet, James B. Dunbar, Christine Humblet. CLIP: similarity searching of 3D databases using clique detection // Journal of Chemical Information and Computer Sciences. — 2003. — Т. 43, вып. 2. — С. 443—448. — doi:10.1021/ci025605o. — PMID 12653507.
- F. S. Kuhl, G. M. Crippen, D. K. Friesen. A combinatorial algorithm for calculating ligand binding // Journal of Computational Chemistry. — 1983. — Т. 5, вып. 1. — С. 24–34. — doi:10.1002/jcc.540050105.
- Kazimierz Kuratowski. Sur le probléme des courbes gauches en Topologie (фр.) // Fundamenta Mathematicae. — 1930. — Т. 15. — С. 271—283.
Ссылки
[править | править код]- Weisstein, Eric W. Clique (англ.) на сайте Wolfram MathWorld.
- Weisstein, Eric W. Clique Number (англ.) на сайте Wolfram MathWorld.
Для улучшения этой статьи желательно:
|