分團問題

维基百科,自由的百科全书
跳转至: 导航搜索

計算複雜度理論中,分團問題(clique problem)是圖論中的一個NP完全(NP-complete)問題。

一個大小為3的clique

clique是一個中兩兩相鄰的一個點,或是一個完全子圖(complete subgraph),如右圖中的1、2、5三個點。

clique problem是問一個圖中是否有大小是k以上的clique。任意挑出k個點,我們可以簡單的判斷出這k個點是不是一個clique,所以這個問題屬於NP

證明這問題是NP完備,我們可以很簡單的將獨立頂點集問題Independent set problem歸約成這個問題。因為存在一個大小是k以上的分團,等價於它的補圖中存在一個大小是k以上的獨立集

演算法[编辑]

最簡單的方法是用暴力法列舉中所有k個點的子集合,並檢查它是不是clique。在一個有V個點的中用暴力法找大小是k的clique至少要檢查\frac{V!}{k!(V-k)!}個子集合。

另外一個heuristic的方法是先找出所有一個點的clique,再慢慢合併成更大的clique直到不能再合併為止。