Harmony Search Algorithm For Solving Sudoku
Harmony Search Algorithm For Solving Sudoku
Abstract. Harmony search (HS) algorithm was applied to solving Sudoku puzzle. The HS is an evolutionary algorithm which mimics musicians behaviors
such as random play, memory-based play, and pitch-adjusted play when they
perform improvisation. Sudoku puzzles in this study were formulated as an optimization problem with number-uniqueness penalties. HS could successfully
solve the optimization problem after 285 function evaluations, taking 9 seconds.
Also, sensitivity analysis of HS parameters was performed to obtain a better
idea of algorithm parameter values.
Keywords: Sudoku puzzle, harmony search, combinatorial optimization.
1 Introduction
Sudoku, which is Japanese term meaning singular number, has gathered popularity
in Japan, the UK, and the USA. The Sudoku puzzle consists of 9 9 grid and 3 3
blocks for all the 81 cells. Each puzzle, which has a unique solution, has some cells
that have already been filled in. The objective of the puzzle is to fill in the remaining
cells with the numbers 1 through 9 so that the following three rules are satisfied:
Each horizontal row should contain the numbers 1 - 9, without repeating any.
Each vertical column should contain the numbers 1 - 9, without repeating any.
Each 3 3 block should contain the numbers 1 - 9, without repeating any.
In recent years researchers have started to apply various methods such as graph
theory [1], artificial intelligence [2], and genetic algorithm [3] to solve the Sudoku
puzzle. Eppstein [1] used the transformation from a directed or undirected graph to an
unlabeled digraph to solve the puzzle. Although it was successful to the undirected
case, the method is not successful to a directed one because the latter is NP-complete
[4]. Caine and Cohen [2] proposed an artificial intelligent model named MITS (Mixed
Initiative Tutoring System for Sudoku), in which the tutor takes the initiative to interact when the student lacks knowledge and makes moves that have low utility. Nicolau
and Ryan [3] developed a system named GAuGE (Genetic Algorithm using Grammatical Evolution) for Sudoku, which uses a position independent representation.
B. Apolloni et al. (Eds.): KES 2007/WIRN 2007, Part I, LNAI 4692, pp. 371378, 2007.
Springer-Verlag Berlin Heidelberg 2007
372
Z.W. Geem
Minimize Z =
i =1 j =1
j =1 i =1
(1)
k =1 ( l ,m )Bk
where xij = cell at row i and column j , which has integer value from 1 to 9; and
1
x91
1
x12
x122
x192
1
x19
x129
Z (x1 )
x199
(2a)
2
x11
2
x21
2
x91
2
x12
2
x22
2
x92
373
2
x19
2
x29
Z (x 2 )
2
x99
(2b)
HMS
x19
HMS
x29
Z (x HMS )
HMS
x99
(2c)
...
HMS
x11
HMS
x21
HMS
x91
HMS
x12
HMS
x22
HMS
x92
where xijn = cell at row i and column j in nth vector stored in HM; and Z (x n ) =
x NEW
NEW
x11
NEW
x
= 21
NEW
x91
NEW
x12
NEW
x22
NEW
x92
NEW
x19
NEW
x29
NEW
x99
(3)
Random Selection. For xijNEW , random value is chosen out of value range
( 1 xijNEW 9 ) with a probability of (1-HMCR). HMCR (0 HMCR 1) stands for
harmony memory considering rate.
x ijNEW x ij ,
(4)
Memory Consideration. Instead of the random selection, the value can be chosen
from any values stored in HM with a probability of HMCR.
x ijNEW x ij , x ij {xij1 , x ij2 , ..., x ijHMS } w.p. HMCR
(5)
374
Z.W. Geem
xijNEW
(6)
If the new harmony vector x NEW is better than the worst harmony in the HM in
terms of objective function value, Z (x NEW ) , the new harmony is included in the HM
and the existing worst harmony is excluded from the HM.
If the HS model reaches MaxImp (maximum number of improvisations), computation is terminated. Otherwise, another new harmony is improvised by considering one
of three mechanisms.
3 Applications
The HS model was applied to the Sudoku puzzle proposed by Nicolau and Ryan [3]
as shown in Figure 1.
The HS model found the optimal solution without any violation after 285 function
evaluations using HMS = 50, HMCR = 0.7, and PAR = 0.1. Figure 2 shows the history of reaching global optimum.
(a)
(b)
(c)
(d)
375
While the green-colored cell (light-dark color in black & white) in Figure 2 means
that there is no violation, the magenta-colored cell (dark color in black & white) indicates that there is at least one violation horizontally, vertically, or block-wise. Figure
2 (a) is the solution at 13 improvisations, which has a penalty of 21; Figure 2 (b) is the
solution at 121 improvisations, which has a penalty of 5; Figure 2 (c) is the solution at
231 improvisations, which has a penalty of 2; and Figure 2 (d) is the solution at 285
improvisations, which has a penalty of 0.
This HS model further performed sensitivity analysis of algorithm parameters
(HMS = {1, 2, 10, 50}, HMCR = {0.5, 0.7, 0.9}, PAR = {0.01, 0.1, 0.5}). Table 1
shows the analysis results. When only one vector is considered in the HM (HMS = 1),
like simulated annealing or tabu search algorithm, the HS found global optimum except in one case (HMCR = 0.9, PAR = 0.1, Z = 6); When two vectors are considered
in the HM (HMS = 2), partially similar to genetic algorithm, the HS also found global
optimum except in two cases (HMCR = 0.7, PAR = 0.01, Z = 15; HMCR = 0.7, PAR
= 0.1, Z = 27). However, when more than two vectors were considered in the HM
(HMS = 10 or 50), there was no rule violation for the Sudoku example.
The HS computation was performed on Intel Celeron 1.8GHz CPU. The computing time ranged 4 - 38 seconds for HMS = 1 in order to arrive at the global optimum;
for HMS = 2, it ranged 3 - 20 seconds; for HMS = 10, it ranged 3 - 8 seconds; and for
HMS = 50, it ranged 7 - 12 seconds.
The HS model developed in this study was further applied to another Sudoku problem classified as hard as shown in Figure 3 [14]. When applied to the problem, the
HS model was entrapped in one of local optima with a penalty of 14 after 1,064 function evaluations as shown in Figure 4.
376
Z.W. Geem
Table 1. Results of Sensitivity Analysis with HS Parameters
HMS
HMCR
0.5
0.7
0.9
0.5
0.7
0.9
0.5
10
0.7
0.9
0.5
50
0.7
0.9
PAR
0.01
0.1
0.5
0.01
0.1
0.5
0.01
0.1
0.5
0.01
0.1
0.5
0.01
0.1
0.5
0.01
0.1
0.5
0.01
0.1
0.5
0.01
0.1
0.5
0.01
0.1
0.5
0.01
0.1
0.5
0.01
0.1
0.5
0.01
0.1
0.5
Iterations (Z)
66
337
422
287
3,413
56
260
10,000 (6)
1,003
31
94
175
102
77
99
10,000 (15)
10,000 (27)
1,325
49
280
188
56
146
259
180
217
350
147
372
649
165
285
453
87
329
352
Time (sec)
5
10
11
13
38
4
13
112
19
3
6
6
6
6
7
98
135
20
3
8
5
4
5
8
5
8
8
9
10
12
7
9
12
7
10
11
377
4 Conclusion
The HS, musicians behavior-inspired evolutionary algorithm, challenged the Sudoku
puzzle with 40 given values in the literature, and could successfully find the unique
global solution. The total searching space for this case is 941 = 1.33 1039 if integer
programming formulation is considered. The proposed HS model found the global
optimum without any row, column or block violation after 285 function evaluations,
taking 9 seconds on Intel Celeron 1.8 GHz Processor.
When sensitivity analysis of algorithm parameters was performed, the HS could
reach the global optimum 33 times out of 36 runs, taking 3 - 38 seconds (median for
33 successful cases is 8 seconds).
378
Z.W. Geem
However, it failed to find the global optimum for hard level case with 26 given values, which has the searching space of 955 = 3.04 1052. The HS model was instead
entrapped in one of local optima with the penalty of 14 after 1,064 function evaluations.
For study in the future, the HS model should consider additional problem-specific
heuristics in order to efficiently solve a harder puzzle.
References
1. Eppstein, D.: Nonrepetitive Paths and Cycles in Graphs with Application to Sudoku. ACM
Computing Research Repository. cs.DS/0507053 (2005)
2. Caine, A., Cohen, R.: A Mixed-Initiative Intelligent Tutoring System for Sudoku. In: Lamontagne, L., Marchand, M. (eds.) Canadian AI 2006. LNCS (LNAI), vol. 4013, pp. 550
561. Springer, Heidelberg (2006)
3. Nicolau, M., Ryan, C.: Solving Sudoku with the GAuGE System. In: Collet, P., Tomassini,
M., Ebner, M., Gustafson, S., Ekrt, A. (eds.) EuroGP 2006. LNCS, vol. 3905, pp. 213
224. Springer, Heidelberg (2006)
4. Yato, T., Seta, T.: Complexity and Completeness of Finding Another Solution and its Application to Puzzles. IEICE Transactions on Fundamentals of Electronics, Communications
and Computer Sciences 86, 10521060 (2003)
5. Geem, Z.W., Kim, J.H., Loganathan, G.V.: A New Heuristic Optimization Algorithm:
Harmony Search. Simulation. 76(2), 6068 (2001)
6. Lee, K.S., Geem, Z.W.: A New Structural Optimization Method Based on the Harmony
Search Algorithm. Computers and Structures. 82(9-10), 781798 (2004)
7. Geem, Z.W.: Optimal Cost Design of Water Distribution Networks using Harmony
Search. Engineering Optimization. 38(3), 259280 (2006)
8. Geem, Z.W.: Optimal Scheduling of Multiple Dam System Using Harmony Search Algorithm. In: Lecture Notes in Computer Science, vol. 4507, pp. 316323 (2007)
9. Geem, Z.W., Lee, K.S., Park, Y.: Application of Harmony Search to Vehicle Routing.
American Journal of Applied Sciences. 2(12), 15521557 (2005)
10. Geem, Z.W., Hwangbo, H.: Application of Harmony Search to Multi-Objective Optimization for Satellite Heat Pipe Design. In: Proceedings of 2006 US-Korea Conference on Science, Technology, & Entrepreneurship (UKC 2006). CD-ROM (2006)
11. Ryu, S., Duggal, A.S., Heyl, C.N., Geem, Z.W.: Mooring Cost Optimization via Harmony
Search. In: Proceedings of the 26th International Conference on Offshore Mechanics and
Arctic Engineering (OMAE 2007), ASME. CD-ROM (2007)
12. Kim, J.H., Geem, Z.W., Kim, E.S.: Parameter Estimation of the Nonlinear Muskingum
Model Using Harmony Search. Journal of the American Water Resources Association. 37(5), 11311138 (2001)
13. Geem, Z.W., Choi, J.Y.: Music Composition Using Harmony Search Algorithm. In: Lecture Notes in Computer Science, vol. 4448, pp. 593600 (2007)
14. Web Sudoku (January 19, 2007), http://www.websudoku.com/