igraphはRとPythonのbindingがあるのにチュートリアルがほとんどなさげなので、ネットワーク分析の本があると手っ取り早く知れて良い。
クリーク探索
こんなネットワークからクリークを探してみる
g <-matrix(c(0,1,1,0,1,0,0,1,0,1,0,0,0,1,1,1,0,1,1,1,0,0,
0,1,0,1,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,0,0,1,
0,1,0,0,0),nrow=7,ncol=7,byrow=TRUE)
a <- graph.adjacency(g)
maximal.cliques(a)
[[1]]
[1] 0 1 2
[[2]]
[1] 1 6
[[3]]
[1] 0 2 4
[[4]]
[1] 2 3 4 5
[[5]]
[1] 3 6
追記 100818
Pythonの場合
a = [[0,1,1,0,1,0,0],
[1,0,1,0,0,0,1],
[1,1,0,1,1,1,0],
[0,0,1,0,1,1,1],
[1,0,1,1,0,1,0],
[0,0,1,1,1,0,0],
[0,1,0,1,0,0,0]]
g = GraphBase.Adjacency(a,mode=ADJ_UNDIRECTED)
g.maximal_cliques() # [(0, 1, 2), (1, 6), (0, 2, 4), (2, 3, 4, 5), (3, 6)]
g.largest_cliques() # [(2, 3, 4, 5)]