長方形の行列乗算を使用することで、密なグラフに対してよりもわずかに良いことができると思います。EisenbrandとGrandoni(「固定パラメータークリークと支配セットの複雑さ」、Theoretical Computer Science Volume 326(2004)57–67)でも同様のアイデアが4クリークの検出に使用されました。O(n1+ω)
してみましょう、我々は爪の有無を検出したいグラフとします。してみましょうで頂点の(注文)のペアの集合。次のサイズのブール行列を考えます:各行はいくつかのによってインデックス付けされ
、各列はいくつかのによってインデックス付けされ、対応するエントリは、と。とその転置のブール行列積を考えます。グラフは、存在する場合にのみ爪がありますA V M | V | × | A | U ∈ V (V 、W )∈ A { U 、V } ∈ E { V 、W } ∈ E { U 、W } ∉ E M M T G { U 、V } ∉ EG=(V,E)AVM|V|×|A|u∈V(v,w)∈A{u,v}∈E{v,w}∈E{u,w}∉EMMTG{u,v}∉Eにより、でインデックス付けされた行とインデックス付けされた列
のエントリ U VMMTuv一つです。
このアルゴリズムの複雑さは、本質的に行列とn 2 × n行列のブール積を計算する複雑さです。ここで、nはグラフの頂点の数を示します。このような行列積は、時間で計算できることが知られているO (N 3.3)よりも良好であり、O (N 1 + ω)の上限知られている最良のためω。もちろん、ω = 2(推測どおり)の場合、2つのアプローチは同じ複雑さOを与えます。n×n2n2×nnO(n3.3)O(n1+ω)ωω=2。O(n3)