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"