Введение
Подмножество смежных вершин неориентированного графа
В математической области теории графов, клика (['/k//l//iː//k/ или '/k//l//ɪ//k/]) — это подмножество вершин неориентированного графа, такое что любые две различные вершины в клике смежны. Иными словами, клика графа является полным индуцированным подграфом этого графа. Клики — одна из базовых концепций теории графов и используются во многих других математических задачах и построениях на графах. Клики также изучались в информатике: задача определения, существует ли в графе клика заданного размера (задача о клике) является NP-полной, но, несмотря на эту сложность, было изучено множество алгоритмов для поиска клик. Хотя изучение полных подграфов восходит, по крайней мере, к переформулировке теории Рамзи в терминах теории графов, термин «клика» был введен , который использовал полные подграфы в социальных сетях для моделирования клик людей, то есть групп людей, все члены которых знакомы друг с другом. Клики имеют множество других применений в науке, особенно в биоинформатике.
Определения
Клика, C, в ненаправленном графе 1=G = (V, E) — это подмножество вершин, C ⊆ V, такое, что любые две различные вершины смежны. Это эквивалентно условию, что индуцированный подграф графа G, индуцированный C, является полным графом. В некоторых случаях термин "клика" может также относиться непосредственно к самому подграфу. Максимальная клика — это клика, которую нельзя расширить, добавив еще одну смежную вершину, то есть клика, которая не является частью набора вершин большей клики. Некоторые авторы определяют клики таким образом, что требуют их максимальности, и используют другую терминологию для полных подграфов, которые не являются максимальными. Максимальная клика графа G — это клика, для которой не существует клики с большим числом вершин. Кроме того, число клики ω(G) графа G — это число вершин в максимальной клике графа G. Число пересечений графа G — это наименьшее число клик, которые вместе покрывают все ребра графа G. Число покрытия кликами графа G — это наименьшее число клик графа G, объединение которых покрывает множество вершин V графа. Максимальная кликовая трансверсаль графа — это подмножество вершин, обладающее свойством, что каждая максимальная клика графа содержит хотя бы одну вершину из этого подмножества. Противоположностью клики является независимое множество, в том смысле, что каждой клике соответствует независимое множество в комплементарном графе. Задача покрытия кликами заключается в нахождении минимального числа клик, включающих все вершины графа. Связанным понятием является биклика — полный двудольный подграф. Двудольное измерение графа — это минимальное число бикликов, необходимое для покрытия всех ребер графа.
The intersection number of G is the smallest number of cliques that together cover all edges of G.
The clique cover number of a graph G is the smallest number of cliques of G whose union covers the set of vertices V of the graph. A maximum clique transversal of a graph is a subset of vertices with the property that each maximum clique of the graph contains at least one vertex in the subset. The opposite of a clique is an independent set, in the sense that every clique corresponds to an independent set in the complement graph. The clique cover problem concerns finding as few cliques as possible that include every vertex in the graph. A related concept is a biclique, a complete bipartite subgraph. The bipartite dimension of a graph is the minimum number of bicliques needed to cover all the edges of the graph.
Информатика
В информатике задача о клике — это вычислительная задача поиска максимальной клики или всех клик в заданном графе. Она является NP-полной, одной из 21 NP-полных задач Карпа. Также она является вычислительно сложной для фиксированных параметров и трудно поддается аппроксимации. Тем не менее, было разработано множество алгоритмов для вычисления клик, работающих либо за экспоненциальное время (например, алгоритм Брон-Кербоша), либо специализированных для семейств графов, таких как планарные графы или совершенные графы, для которых задача может быть решена за полиномиальное время.
Приложения
Слово "клика", в его графотеоретическом использовании, возникло из работы , который использовал полные подграфы для моделирования клик (групп людей, которые все знакомы друг с другом) в социальных сетях. То же определение было использовано в статье, использующей менее технические термины. Обе работы посвящены выявлению клик в социальных сетях с использованием матриц. Для дальнейших усилий по графотеоретическому моделированию социальных клик см., например, , , и .
Многие различные задачи биоинформатики были смоделированы с использованием клик. Например, моделируют задачу кластеризации данных об экспрессии генов как поиск минимального количества изменений, необходимых для преобразования графа, описывающего данные, в граф, образованный как непересекающееся объединение клик; обсуждают аналогичную задачу бикластеризации для данных об экспрессии, в которой кластеры должны быть кликами. использует клики для моделирования экологических ниш в пищевых сетях. описывают задачу вывода эволюционных деревьев как задачу поиска максимальных клик в графе, вершины которого представляют характеристики видов, где две вершины соединены ребром, если существует идеальная филогенетическая схема, объединяющая эти два признака. моделируют предсказание структуры белка как задачу поиска клик в графе, вершины которого представляют положения субъединиц белка. И, осуществляя поиск клик в сети взаимодействия белков, обнаружили кластеры белков, которые тесно взаимодействуют друг с другом и имеют мало взаимодействий с белками вне кластера. Анализ силовых графов — это метод упрощения сложных биологических сетей путем поиска клик и связанных структур в этих сетях. В электротехнике использует клики для анализа коммуникационных сетей, а — для проектирования эффективных схем для вычисления частично заданных булевых функций. Клика также используется в автоматическом генерировании тестовых наборов: большая клика в графе несовместимости возможных неисправностей предоставляет нижнюю границу размера тестового набора. описывают применение клик в поиске иерархического разделения электронной схемы на более мелкие подмодули. В химии используют клики для описания химических веществ в химической базе данных, которые имеют высокую степень сходства с целевой структурой. используют клики для моделирования положений, в которых два химических вещества будут связываться друг с другом.
Many different problems from bioinformatics have been modeled using cliques. For instance, model the problem of clustering gene expression data as one of finding the minimum number of changes needed to transform a graph describing the data into a graph formed as the disjoint union of cliques; discuss a similar biclustering problem for expression data in which the clusters are required to be cliques. uses cliques to model ecological niches in food webs. describe the problem of inferring evolutionary trees as one of finding maximum cliques in a graph that has as its vertices characteristics of the species, where two vertices share an edge if there exists a perfect phylogeny combining those two characters. model protein structure prediction as a problem of finding cliques in a graph whose vertices represent positions of subunits of the protein. And by searching for cliques in a protein–protein interaction network, found clusters of proteins that interact closely with each other and have few interactions with proteins outside the cluster. Power graph analysis is a method for simplifying complex biological networks by finding cliques and related structures in these networks. In electrical engineering, uses cliques to analyze communications networks, and use them to design efficient circuits for computing partially specified Boolean functions. Cliques have also been used in automatic test pattern generation: a large clique in an incompatibility graph of possible faults provides a lower bound on the size of a test set. describe an application of cliques in finding a hierarchical partition of an electronic circuit into smaller subunits. In chemistry, use cliques to describe chemicals in a chemical database that have a high degree of similarity with a target structure. use cliques to model the positions in which two chemicals will bind to each other.