This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CSCI 561 Foundations of Artificial Intelligence Fall 2010 Project 2: Logic Agent Due: 4:59 p.m., Nov 24, 2010 (a) A Sudoku Puzzle (b) Corresponding Solution Figure 1: Sudoku [Graphics from Wikipedia][1] 1 Introduction The goal of Sudoku puzzle is a board of size 9 x 9 filling in number 1 to 9 with the following rules: (1) Each row contains unique number from 1 to 9. (2) Each column contains unique number from 1 to 9. (3) Each 3 x 3 box contains unique number from 1 to 9. 1 A puzzle is given with initial numbers similar to Figure 1(a). Player has to fill in empty boxes such that it satisfies the rules. Figure 1(b) shows a completed puzzle with solutions in red. More information can be read at wikipedia website: http://en.wikipedia.org/wiki/Sudoku. The Sudoku puzzle problem can be solved in various ways. For exam ple, it can be casted as a search problem and solved by heuristic searching techniques. This project requires you to convert the problem into a Boolean Satisfiability problem(SAT) and develop SATbased Sudoku solvers using the DPLL backwardchaining algorithm (Figure 7.17 in Section 7.6.1) and WalkSAT (Figure 7.18 in Section 7.6.2). 2 Project Description This project consists of two parts. The first part requires that you to take a Sudoku puzzle as input and convert it into a Boolean formula. You are also required to code the DPLL backwardchaining algorithm and WalkSAT to provide solutions for the formula and hence a solution to the puzzle. The sec ond part requires to provide written answers for the questions in the Report section. 2.1 Coding You will be given five input files (input x.txt, where x is an integer) that con tain samples of puzzles. Your program should read the input file, encode the puzzle into a boolean formula and output the puzzle solution (solution...
View
Full
Document
This note was uploaded on 01/24/2011 for the course CS 561 at USC.
 '09
 Moradi

Click to edit the document details