Beispiel #1
0
 def run(self, puzzleFilename, outputFilename):        
     dpll = DPLL()
     print ""
     print "/"*10 + "NEW SUDOKU PUZZLE - USING DPLL" + "/"*10
     print "Unsolved Puzzle:"
     self.loadPuzzleMatrix(puzzleFilename)
     self.printPuzzle()
     
     literals = self.loadLiteralList()
     clauseList = self.encodeMinimal(outputFilename)
     queue0 = Queue()
     print ""
     print "-"*40
     print "Solved Puzzle Using MINIMAL Encoding:"
     t0 = clock()        
     dpll.runDPLL(clauseList, {}, list(literals), queue0)
     print "Elapsed Time:" +  str(clock() - t0)
     if queue0.get() == False:
         print "Didn't find encoding using minimal"
     else:
         print "Found encoding using minimal"
     
     dpll = DPLL()
     clauseList = self.encodeExtended(outputFilename)
     queue1 = Queue()
     print ""
     print "-"*40
     print "Solved Puzzle Using EXTENDED Encoding:"
     t0 = clock()
     dpll.runDPLL(clauseList, {}, list(literals), queue1)
     print "Elapsed Time:" +  str(clock() - t0)
     if queue1.get() == False:
         print "Didn't find encoding using extended"
         print "No Solution found...."
     else:
         print "Found encoding using extended"