in N * N * S sum in N * N : x [ n *p - n +i , n *q - n +j , k ] == 1; 4.1.2 Mơ hình ZIMPL cho (N LIP ) Mơ hình (N LIP ) mơ tả ZIMPL Code Code 2: Mơ hình ZIMPL cho (N LIP ) # A ZIMPL model to solve Sudoku using integer variables # based on the formulation ( NILP ) # Copyright @ Nguyen Thi Nga 19 # Parameter defining the size of Sudoku puzzle ( n ^2 x n ^2) param n := 3; 10 # Auxiliary sets s e t N := {1 n }; s e t S := {1 n * n }; 11 12 # # Import Sudoku clues from input data file 13 14 15 # F is the set of cells with clues s e t F := { read " Clues dat " as " " comment " # "}; 16 17 18 # given (i , j ) is the clue given in cell (i , j ) param given [ F ] := read " Clues dat " as " n " comment " # "; 19 20 21 22 # # Variables # x [i , j ] = the value filled in cell (i , j ) var x [ S * S ] i n t e g e r >= = 1; 39 40 41 42 43 44 # Different cells in the same column of the grid have different # assigned values subto columns : f o r a l l in S * S * S with i < k vabs ( x [i , j ] - x [k , j ]) >= 1; 45 46 # Different cells in the same block of the grid have different 20 47 48 49 50 51 # assigned values subto blocks : f o r a l l
in N * N f o r a l l in N * N * N * N with n * i + j < n * k + l vabs ( x [ n *p - n +i , n *q - n + j ] - x [ n *p - n +k , n *q - n + l ]) >= 1; 4.2 Thử nghiệm số Chúng chọn 10 liệu câu đố Sudoku cỡ 9×9 từ ứng dụng Sudoku phiên 4.0.3 (bản quyền DotFinger Games) Google Play Mỗi liệu bao gồm 10 câu đố Sudoku có số lượng kiện điền sẵn Chúng sử dụng SCIP (xem [1]) giải mơ hình nhận từ liệu Tất thử nghiệm thực máy tính có cấu hình Dual Core × 2.20 GHz GB RAM Bảng 4.1 ghi lại thời gian chạy trung bình SCIP 10 câu đố liệu, tương ứng với mơ hình (BLP ) (N LIP ) Từ bảng này, ta nhận thấy mơ hình (BLP ) thực hiệu việc giải nhanh chóng câu đố Sudoku (trong vòng giây) Sự hiệu (BLP ) độc lập với mức độ khó câu đố Sudoku (số lượng kiện cho trước lưới Sudoku) Hiệu mơ hình (N LIP ) phụ thuộc vào mức độ khó câu đố Sudoku, khơng cạnh tranh với mơ hình (BLP ) Số lượng kiện (BLP ) (N LIP ) 17 0.066 469.968 18 0.078 244.203 19 0.068 220.08 20 0.078 182.422 21 0.116 207.19 22 0.057 169.933 23 0.049 110.296 24 0.073 103.989 25 0.05 54.813 26 0.063 74.841 Bảng 4.1: Hiệu thời gian chạy chương trình SCIP theo đơn vị giây mơ hình (BLP ) (N LIP ) 21 Chương KẾT LUẬN Luận văn trình bày số vấn đề tốn học ẩn chứa câu đố Sudoku Chương luận văn thảo luận toán đếm số lượng cách điền khác vào lưới Sudoku có kích thước × Một phương pháp heuristic cho thấy số khoảng 6657084616885512582463.488 với độ xác xấp xỉ 0.2% Một phương pháp xác với trợ giúp máy tính cho thấy số lượng cách điền vào lưới Sudoku xác 6670903752021072936960 Chương trình bày hai mơ hình quy hoạch ngun cho tốn giải Sudoku có kích thước n2 × n2 Một mơ hình sử dụng biến nhị phân với ba số Mơ hình lại dựa kỹ thuật tuyến tính hóa ràng buộc hai biến ngun khác nhau, sử dụng biến nguyên với hai số Chương trình bày hai mơ hình ZIMPL cho mơ hình quy hoạch tốn học đề xuất Chương Thực nghiệm số câu đố Sudoku có kích thước × cho thấy mơ hình sử dụng biến nhị phân ba số hiệu thời gian giải mô hình, khơng phụ thuộc số lượng kiện cho trước câu đố Sudoku Trong thời gian tới, dự định nghiên cứu số biến thể Sudoku, quan tâm đến vấn đề làm để tạo câu đố Sudoku 22 Tài liệu tham khảo [1] T Achterberg Constraint Integer Programming PhD Dissertation, Technische Universităat Berlin, 2007 [2] B Felgenhauer and F Jarvis Mathematics of Sudoku I Technical report, January 25, 2006 [3] H Garns Number Place Dell Pencil Puzzles and Word Games, 16:6, 1979 [4] K Y Lin Number of Sudokus Journal of Recreational Mathematics, 33(2):120–124, 2004 [5] T Koch Rapid Mathematical Programming PhD Dissertation, Technische Universităat Berlin, 2004 [6] G McGuire, B Tugemann, and G Civario There Is No 16-Clue Sudoku: Solving the Sudoku Minimum Number of Clues Problem via Hitting Set Enumeration Experimental Mathematics, 23(2):190–217, 2014 [7] A Schrijver Theory of Linear and Integer Programming John Wiley and Sons, 1998 [8] T Yato and T Seta Complexity and Completeness of Finding Another Solution and Its Application to Puzzles IEICE TRANSACTIONS on Fundamentals of Electronics, Communications and Computer Sciences, E86-A(5), 1052–1060, 2003 ... văn trình bày số vấn đề toán học ẩn chứa câu đố Sudoku Chương luận văn thảo luận toán đếm số lượng cách điền khác vào lưới Sudoku có kích thước × Một phương pháp heuristic cho thấy số khoảng 6657084616885512582463.488... chuyên ngành toán học (chẳng hạn tổ hợp, độ phức tạp tính tốn, tối ưu tổ hợp) mà ví dụ quan trọng lĩnh vực quy hoạch toán học Mục tiêu luận văn nghiên cứu số vấn đề toán học ẩn sau câu đố Sudoku Chúng... tập trung chủ yếu vào toán đếm số lượng Sudoku, xây dựng đánh giá hiệu số mơ hình quy hoạch tốn học cho việc giải câu đố Sudoku Chương thảo luận toán đếm số lượng Sudoku Trong Chương 3, chúng