2012年8月26日日曜日

数独解析はmatrixで。

行列(matrix)は19世紀中葉になって、英国のケーリーらによって発明された。コンピューター解析には不可欠なものであるので、日本では1973年(昭和48年)から高校数学に取り入れられ、高校3年の「数C」で学び、さらに大学では線形代数として履修する。ところが、昨年度(平成23年度)からの高校の指導要綱では、この行列が姿を消したという。(京極一樹著:中学・高校数学のほんとうの使い道)

数独は9×9の行列で表されるので、その解析には、matrix 計算や表現がふさわしい。数独解析ソフトの心臓部である candy matrix や g-matrix の理解は行列の知識が前提になっている。

また、( i, j ) ,  Aij , can( i, j) などの表現は、マトリックス演算に使われているものを使用している。Excel VBAでの表に対応する matrix では、(0,0) や ( i , 0 ) 、( 0, j )を 問題番号、行や列の Indexとして使える。

朝日新聞8月25日号 Be 「夏の数独特集」第2問 ★★★の「次の一手」の全手筋を示そう。



この問題は、B (ブロッケン)だけで解ける問題です。

1   (8,8)= 1     B1   Block 9
2   (8,2)= 5     B1   Block 7
3   (6,9)= 6     B1   Block 6
4   (7,8)= 7     B1   Block 9
5   (1,1)= 8     B1   Block 1
6   (8,3)= 9     B1   Block 7
7   (4,1)= 5     B2   Block 4
8   (8,7)= 8     B2   Block 9
9   (7,9)= 9     B2   Block 9
10   (6,8)= 5     B3   Block 6
11   (9,4)= 8     B3   Block 8
12   (5,1)= 9     B3   Block 4
13   (1,9)= 5     B4   Block 3
14   (9,5)= 7     B4   Block 8
15   (2,5)= 5     B5   Block 2
16   (6,4)= 7     B5   Block 5
17   (5,2)= 7     B6   Block 4
18   (2,3)= 7     B7   Block 1
19   (1,7)= 7     B8   Block 3
20   (2,7)= 6     B9   Block 3
21   (3,2)= 6     B10   Block 1
22   (2,2)= 3     B11   Block 1
23   (2,1)= 1     B12   Block 1
24   (3,8)= 3     B12   Block 3
25   (9,3)= 3     B12   Block 7
26   (1,6)= 1     B13   Block 2
27   (9,2)= 1     B13   Block 7
28   (3,1)= 2     B13   Block 1
29   (5,9)= 3     B13   Block 6
30   (2,8)= 9     B13   Block 3
31   (6,3)= 1     B14   Block 4
32   (4,4)= 1     B14   Block 5
33   (1,8)= 2     B14   Block 3
34   (7,2)= 2     B14   Block 7
35   (1,5)= 6     B14   Block 2
36   (3,4)= 9     B14   Block 2
37   (4,7)= 9     B14   Block 6
38   (9,1)= 4     B15   Block 7
39   (8,6)= 6     B15   Block 8
40   (6,5)= 9     B15   Block 5
41   (8,5)= 3     B16   Block 8
42   (8,9)= 4     B16   Block 9
43   (8,4)= 2     B17   Block 8  二重枠
44   (9,9)= 2     B17   Block 9
45   (4,6)= 3     B17   Block 5    二重枠
46   (7,6)= 4     B17   Block 8
47   (2,6)= 2     B18   Block 2
48   (4,5)= 2     B18   Block 5
49   (2,4)= 4     B18   Block 2
50   (6,6)= 8     B18   Block 5
51   (5,5)= 4     B19   Block 5
52   (4,2)= 8     B19   Block 4
53   (6,2)= 4     B20   Block 4
54   (4,8)= 4     B20   Block 6
55   (5,8)= 8     B20   Block 6


 
 

0 件のコメント:

コメントを投稿