Presentation is loading. Please wait.

Presentation is loading. Please wait.

Finding the minimum number of Sudoku clues Yu-Ting CHEN Academia Sinica Grid Computing.

Similar presentations


Presentation on theme: "Finding the minimum number of Sudoku clues Yu-Ting CHEN Academia Sinica Grid Computing."— Presentation transcript:

1 Puzzle@home Finding the minimum number of Sudoku clues Yu-Ting CHEN Academia Sinica Grid Computing

2 Outline Volunteer computing @ ASGC Introduction to minimum number of clues problem BOINC Implementation @ ASGC Future Plan 2 2010/8/28

3 Volunteer computing @ ASGC Since 2009, ASGC supports Asia@home project to promote volunteer computing in South East Asia. In 2009, a first Asia@home workshop was held during ISGC (International Symposium on Grid Computing) 2009 in Taipei In 2010, a brainstorming session was held during ISGC 2010 in Taipei 3

4 Volunteer computing @ ASGC In 2010, ASGC participates DEGISCO (Desktop Grids for International Scientific Collaboration) project. Main objective: Expand European distributed computing infrastructures by supporting the creation of new Desktop Grids for e- Science and by connecting them using the EDGeS bridge technology. 4

5 Introduction to minimum number of clues problem

6 Overview of Sudoku Sudoku is a logic-based, combinatorial number-placement puzzle. The objective is to fill a 9×9 grid with digits so that each column, each row, and each of the nine 3×3 sub-grids that compose the grid contains all of the digits from 1 to 9. The puzzle setter provides a partially completed grid, which typically has a unique solution. (ref: http://en.wikipedia.org/wiki/Sudoku) http://en.wikipedia.org/wiki/Sudoku 6

7 Minimum number of clues problem The minimum number of clues problem: What the smallest number of clues that a Sudoku puzzle* can have? *We only consider puzzles which have a unique solution. 7

8 Minimum number of clues problem 17-clue puzzles have been found. However, it’s still unknown whether there exists a 16-clue puzzle. We need such a sudoku checker program 8 Checker (have n-clues puzzles?) Checker (have n-clues puzzles?) n n YES NO

9 How many solutions does Sudoku have? How many unique filled-in (solution) Sudoku grids can be constructed? As Bertram Felgenhauer and Frazer Jarvis found, there are 6,670,903,752,021,072,936,960 solutions Without symmetries, Ed Russell and Frazer Jarvis found the number is 5,472,730,538 9

10 Minimum number of clues problem To find 16-clues puzzles, we can use checker to examine all symmetrically distinct solutions of Sudoku 10 Checker (have n-clues puzzles?) Checker (have n-clues puzzles?) Checker (have n-clues puzzles?) Checker (have n-clues puzzles?) Checker (have n-clues puzzles?) Checker (have n-clues puzzles?) 16 ? ? ? S1 S2 S 5,472,730,538

11 Sudoku checker If a checker can analyze one grid per second, it would take 173 years to analyze all solutions If a checker can analyze one grid per minute, it would take 10,380 years to analyze all solutions 11

12 Solution Time Using checker found in public domain, it needs to take several hundreds of thousands CPU years. ASGC currently collaborate with Prof. Wu's team of National Chiao Tung University, Taiwan. They are researching in an efficient Sudoku checker algorithm which reduces the solution time to 2417 CPU years. 12

13 Solving minimum number of clues problem via BOINC Since each input grids are independent, using BOINC is a perfect way to speed it up. If 2417 cores via BOINC are used, the open problem can be solved in one year; and if 24170 cores are used, it can in about 36 days. 13

14 BOINC Implementation @ ASGC

15 Puzzle@home Start from 2010/06/04 (Only for internal test) Client OS: Windows, Linux 32-bits, and Linux 64-bits Deploy in wrapper mode 15

16 Subprocess control problem Sometimes, we want to wrap a script(e.g. shell, python) which defines a job flow using BOINC wrapper BOINC clients can’t control sub-processes forked by the script Volunteers can’t stop/suspend/resume those jobs 16

17 Subprocess control problem Solution: Don’t fork any jobs by scripts. Use job.xml to define your job flow. 17 Wrapper Script.sh job.exe Wrapper Pre.sh Job.exe post.sh Can’t control (B) (A)

18 Integration with BOINC and gLite (using JDL) We use two methods to utilize grid work nodes for BOINC 1.Use JDL(job description language) to recruit grid work nodes as BOINC volunteers 18

19 Integration with BOINC and gLite (using JDL) Since gLite WMS(Workload Management System) could assign two jobs on the same work node, must be set to 1 in the config.xml of BOINC server And different BOINC clients should set to use different ports on the same host. Sometimes we still get client detach errors, but couldn’t figure out why. 19

20 Integration with BOINC and gLite (using JDL) Pros: Recruit volunteers on demand No installation, deployment, and management. Cons: Jobs may expire because of the proxy living time or the policy of the grid CE(computing element) Not a solution for long term computing resources Client detach errors 20

21 Integration with BOINC and gLite (using Jarifa) 2. Use Jarifa Preinstall BOINC clients onto grid work nodes and collectively managed by Jarifa 21

22 Integration with BOINC and gLite (using Jarifa) Need careful setting to avoid occupying resources from normal grid jobs Our setting (8 cores): BOINC can use at most 6 cores, and it will suspend when over 18% non-BOINC cpu usage 22

23 Integration with BOINC and gLite (using Jarifa) Pros: Better utilization for grid computing resources Provide reliable computing resource for BOINC Cons: Need privilege to install BOINC clients in grid CE 23

24 Diagram analysis 24 Start using Jarifa Reset CPU usage

25 Future Plan

26 Real time game algorithms on BOINC Connect6 – Finding the open book Need short response time 26

27 More applications.. We have had several applications run in grid environment, we want to combine with BOINC to gain more computing resources 1.Virtual screening service 27

28 More applications.. 2. Earthquake simulation Goal: To build regional hazard map Challenge: Running MPI on BOINC? Without MPI, we will have huge memory usage issue 28

29 Questions & Discussions Yu-Ting CHEN Academia Sinica Grid Computing

30 Reference Jean-Paul Delahaye (2006, June). The Science behind Sudoku, Scientific American, p.81-87 http://www.math.ie/checker.html http://en.wikipedia.org/wiki/Sudoku http://en.wikipedia.org/wiki/Latin_square 30


Download ppt "Finding the minimum number of Sudoku clues Yu-Ting CHEN Academia Sinica Grid Computing."

Similar presentations


Ads by Google