分團問題

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

一個大小為3的clique

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

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

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

演算法

最簡單的方法是用暴力法列舉中所有k個點的子集合,並檢查它是不是團。在一個有V個點的中用暴力法找大小是k的團至少要檢查 個子集合。

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