def main(self, f1, f2): ''' output = sys.stdout outputfile=open(f3,'w+') sys.stdout=outputfile ''' self.__origin = GraphSet(f1) self.__sub = GraphSet(f2) ''' #test usage! print "in main() subVSet: ", self.__sub.curVSet(0) print "in main() graphVSet: ", self.__origin.curVSet(0) print "in main() subVESet: ", self.__sub.curVESet(0) print "in main() gVESet: ", self.__origin.curVESet(0) ''' subLen = len(self.__sub.graphSet()) gLen = len(self.__origin.graphSet()) for i in range(subLen): for j in range(gLen): result = {} result = self.dfsMatch(i, j, result) if len(result) == len(self.__sub.curVSet(i)): print "Match! %s %d-th graph isomorphism %s %d-th graph!" % ( f2, i, f1, j) print result print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" else: print "Mismatch! %s %d-th graph isomerism %s %d-th graph!" % ( f2, i, f1, j) print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
def main(self, g1, g2, now, seconds): # output = sys.stdout ''' output = sys.stdout outputfile=open(f3,'w+') sys.stdout=outputfile ''' self.__origin = GraphSet(g1) self.__sub = GraphSet(g2) # #test usage! # print "in main() subVSet: ", self.__sub.curVSet(0) # print "in main() graphVSet: ", self.__origin.curVSet(0) # print "in main() subVESet: ", self.__sub.curVESet(0) # print "in main() gVESet: ", self.__origin.curVESet(0) subLen = len(self.__sub.graphSet()) gLen = len(self.__origin.graphSet()) for i in range(subLen): for j in range(gLen): if time.time() - now > seconds: return {} result = {} result = self.dfsMatch(i, j, result, now, seconds) if len(result) == len(self.__sub.curVSet(i)): return result else: return {}
# -*- coding:utf-8 -*- from graph import GraphSet from Candidate import candidate from NSContain import Contain from PathChick import path_candidate from Next_Insstantiation import Instantiation from RecurSearch import recurMatch from generateNS import N_Signature input_fileq = '/Users/gy/PycharmProjects/SpathIso/Data/Q2' input_fileg = '/Users/gy/PycharmProjects/SpathIso/Data/G3' Q = GraphSet(input_fileq) G = GraphSet(input_fileg) offset = 0 A_Q, A_G = Q.Adjmatrix(offset), G.Adjmatrix(offset) NSQ, NS_CQ = N_Signature(3, Q.curVSet(offset), A_Q, Q.curLabelSet(offset)) NSG, NS_CG = N_Signature(3, G.curVSet(offset), A_G, G.curLabelSet(offset)) CandidatesInG = candidate(Q.curVSet(offset), G.curVSet(offset)) #print CandidatesInG VQ_num = len(Q.curVSet(offset)) CandidatesInG_final = [[] for i in range(VQ_num)] minid = 0 for i in range(VQ_num):
#-*- coding:utf-8 -*- # AUTHOR: yaolili # FILE: test.py # ROLE: TODO (some explanation) # CREATED: 2015-11-28 20:55:11 # MODIFIED: 2015-11-30 20:10:39 import os import sys from graph import GraphSet from map import Map if __name__ == '__main__': if len(sys.argv) < 3: print "sys.argv[1]: Graph file" print "sys.argv[2]: subGraph file" exit() input = GraphSet(sys.argv[1]) #print input.curGraph(1) print "VSet: ", input.curVSet(1) print "ESet: ", input.curESet(1) print "VESet: ", input.curVESet(1) print "graph neighbor: ", input.neighbor(1, 1) result = {} curMap = Map(result) print "isCovered: ", curMap.isCovered(input.curVESet(1)) neighbor = curMap.neighbor(1, input, 1) print "map neighbor: ",neighbor