Advertisement
Guest User

co342a7

a guest
Jun 29th, 2012
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.48 KB | None | 0 0
  1. #!/usr/bin/python
  2. # dx7hymcxnpq
  3. # 2012.06.29
  4.  
  5. import copy
  6.  
  7. def chkTups( s, edgeSet ):
  8.     total_incidence = 0
  9.     for edge in edgeSet:
  10.         if s in edge:
  11.             total_incidence += 1
  12.     return ((total_incidence) % 2 == 0)
  13.  
  14. K5 = [ [1,2], [1,3], [1,4], [1,5], [2,3], [2,4], [2,5], [3,4], [3,5], [4,5] ]
  15. K34 = [ [1,4], [1,5], [1,6], [1,7], [2,4], [2,5], [2,6], [2,7], [3,4], [3,5], [3,6], [3,7] ]
  16. CUBE = [ [1,2], [1,4], [2,3], [3,4], [5,6], [5,8], [6,7], [7,8], [1,5], [2,6], [3,7], [4,8] ]
  17. def powerset( s ):
  18.     if len(s) == 0: return [[]]
  19.     L = powerset( s[1:] )
  20.     M = []
  21.     for k in L:
  22.         p = copy.deepcopy(k)
  23.         if not (s[0] in p): p.append(s[0])
  24.         M.append(k)
  25.         M.append(p)
  26.     return M
  27.  
  28. Possibilities = powerset(K5)
  29. CycleSpace = []
  30. for subset in Possibilities:
  31.     failed = 0
  32.     # now check all the vertices --
  33.     for i in range(1,6):
  34.         if not chkTups(i,subset): failed = 1
  35.     if not failed:
  36.         CycleSpace.append(subset)
  37.  
  38. #print "The cycle space is: \n"
  39. #print CycleSpace
  40. print "IT HAS SIZE %s" % len(CycleSpace)
  41.  
  42. Possibilities = powerset(K34)
  43. CycleSpace = []
  44. for subset in Possibilities:
  45.     failed = 0
  46.     for i in range(1,8):
  47.         if not chkTups(i, subset): failed = 1
  48.     if not failed:
  49.         CycleSpace.append(subset)
  50.  
  51. print "IT HAS SIZE %s" % len(CycleSpace)
  52.  
  53. Possibilities = powerset(CUBE)
  54. CycleSpace = []
  55. for subset in Possibilities:
  56.     failed = 0
  57.     for i in range(1,9):
  58.         if not chkTups(i, subset): failed = 1
  59.     if not failed:
  60.         CycleSpace.append(subset)
  61.  
  62. print "IT HAS SIZE %s" % len(CycleSpace)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement