Bir ağaç ayrıştırma oluşturmak istiyorum: http://en.wikipedia.org/wiki/Tree_decomposition ve ben korse grafiği ve mükemmel bir eleme siparişi var.Bir ağaç ayrıştırma oluşturmak için algoritma
bir kiriş grafiğin ağaç ayrışma (genel olarak) olmayan bir güzel inşa etmek: Ben yani previous thread verilen danışmanlık, takip ediyorum mükemmel bir eleme sipariş bulmak, maksimal klikler numaralandırmak (adayları bir köşe noktasıdır ve siparişte görünen komşulardır, her bir kertiği bir ayrıştırma düğümü olarak kullanın ve onu kesişme sırasındaki sonraki klikle bağlayın.
Bu işe yaramıyor ve nedenini anlayamıyorum. Aşağıdaki örneği inceleyelim:
Mükemmel eleme sipariş:
['4', '3', '5', '7', '6', '2', '0', '1']
Korda grafiği:
Ağaç ayrışma: Ben
kullanıyorum eo
mükemmel bir sipariş listesi ve 'chordal_graph' dir
T=nx.Graph()
nodelist=[]
for i in eo:
vertex=str(i)
bag=set()
bag.add(vertex)
for j in chordal_graph.neighbors(str(i)):
bag.add(str(j))
T.add_node(frozenset(bag))
nodelist.append(frozenset(bag))
chordal_graph.remove_node(str(i))
for node1 in range(len(nodelist)):
found=False
for node2 in range(node1+1,len(nodelist)):
if found==False and len(nodelist[node1].intersection(nodelist[node2]))>0:
T.add_edge(nodelist[node1],nodelist[node2])
found=True
nx.draw(T)
p.show()
networkx
için bir grafik nesnesidir: piton ve benim şimdiki algoritma şudur.