2.5. mclique クリークの列挙

一般グラフデータから極大クリークを列挙する。

入力形式: 一般グラフを節点ペアで表現した形式。他のいかなる節点とも接続のない節点は、サイズが1の自明なクリークであるため、入力対象外とする。

出力形式: クリークIDと接点を出力する。出力項目は id,node,size の3項目である。sizeはクリークを構成する節点数である。

パラメータ

ei= : 型=str , 必須

辺データファイルを指定する。

ef= : 型=str , 任意(default=node1,node2)

エッジデータ上の2つのノード項目名を指定する。

ni= : 型=str , 必須

節点データファイルを指定する。

nf= : 型=str , 任意(default=node)

節点データ上の節点項目名を指定する。

o= : 型=str , 必須

出力ファイル名を指定する。

l= : 型=int , 任意(default=制限なし)

クリークを構成する最小節点数(ここで指定したサイズより小さいクリークは列挙されない)を指定する。

u= : 型=int , 任意(default=制限なし)

クリークを構成する最大節点数(ここで指定したサイズより大きいクリークは列挙されない)を指定する。

all= : 型=bool , 任意(default=False)

極大クリークだけでなく、全クリークを列挙する。

T= : 型=str , 任意(default=/tmp)

ワークディレクトリを指定する。

利用例

入力データの準備

 1with open('dat.csv','w') as f:
 2  f.write(
 3'''node1,node2
 4a,b
 5a,c
 6a,d
 7a,e
 8b,c
 9b,d
10b,f
11c,d
12c,e
13d,e
14e,f
15''')

基本例

グラフデータ dat.csv から極大クリークを列挙し result.csv に出力する。

1import nysol.take as nt
2nt.mclique(ei="dat.csv", ef="node1,node2", o="result.csv")
3### result.csv の内容

サイズの指定

サイズが4以上の極大クリークのみ列挙する。

1import nysol.take as nt
2nt.mclique(ei="dat.csv", ef="node1,node2", l=4, o="result.csv")
3### result.csv の内容

全クリーク列挙

サイズが4以上の全クリークを列挙する。

1import nysol.take as nt
2nt.mclique(ei="dat.csv", ef="node1,node2", l=3, u=3, all=True, o="result.csv")
3### result.csv の内容

関連メソッド