Для простого неориентированного графа найдите подмножество вершин, такое что
для любой вершины хотя бы половина соседей также находится в , и
размер минимален.
То есть мы ищем кластер, в котором по крайней мере половина окрестности каждой внутренней вершины остается внутренней. Само существование такого кластера очевидно, поскольку все множество вершин всегда обладает свойством 1. Но насколько сложно найти самый маленький (непустой) такой кластер?
Есть ли стандартное название для этой проблемы? Что известно о его сложности?
graph-theory
graph-algorithms
np-hardness
Андрас Фараго
источник
источник
Ответы:
Это сокращение от клики к вашей проблеме.
Начнем с экземпляром Clique: граф и целое число K , пусть V = { V 1 , V 2 , . , , , v n } .G k V={v1,v2,...,vn}
Клика остается NPC даже при условии, что (контрольный эскиз: если m a x ( d e g ( v i ) > 2 ( k - 1 ) затем добавьте K t, где t = 2 ( k - 1 ) - m a xmax(deg(vi))≤2(k−1) max(deg(vi)>2(k−1) Kt и соедините его со всеми узлами G и попросите клику размером k ′ = k + t в новом графе).t=2(k−1)−max(deg(vi)) G k′=k+t
Таким образом , мы предполагаем , что в , т а х ( д е г ( v я ) ) ≤ 2 ( K - 1 ) . Для каждого узла v i, для которого d e g ( v i ) < 2 ( k - 1 ), мы создаем «внешнюю» клику C i размера 2 ( k + 1 ) + 1 (каждый узел CG max(deg(vi))≤2(k−1) vi deg(vi)<2(k−1) Ci 2(k+1)+1 Ci clique has at least 2(k+1) neighbours).
Ifdeg(vi) is the degree of vi , we connect vi to 2(k−1)−deg(vi) nodes of Ci .
В полученном каждый v i имеет степень 2 ( k - 1 ) ; так | A | ≥ k, потому что должна быть выбрана хотя бы одна вершина.G′ vi 2(k−1) |A|≥k
Ясно, что если одна из вершин включена в A, то в нее также должны быть вставлены не менее 2 ( k + 1 ) / 2 = k + 1 узлов. Обратите внимание, что если исходный узел имеет d e g ( v i ) < k - 1, то должен быть включен по крайней мере один узел связанного C i , что приводит к | A | > к .Ci A 2(k+1)/2=k+1 deg(vi)<k−1 Ci |A|>k
Таким образом, мы можем построить набор минимального размера | A | = k тогда и только тогда, когда G содержит клику размера k .A |A|=k G k
Пример сокращения, в котором мы спрашиваем, содержит ли граф представленный желтыми узлами и полужирными ребрами, клику размером k = 3 (треугольник).G k=3
Синие узлы (сгруппированные для лучшей читаемости) - это , красные края - это связи между узлами G с d e g ( v i ) < 2 ( k - 1 ) .K9 G deg(vi)<2(k−1)
источник