Việc chỉ định bất kỳ lưới 9x9 tùy ý yêu cầu đưa ra vị trí và giá trị của mỗi ô vuông. Một mã hóa ngây thơ cho điều này có thể cung cấp bộ ba 81 (x, y, value), yêu cầu 4 bit cho mỗi x, y và giá trị (1-9 = 9 giá trị = 4 bit) cho tổng số 81x4x3 = 972 bit. Bằng cách đánh số cho mỗi ô vuông, người ta có thể giảm thông tin vị trí xuống còn 7 bit, giảm một bit cho mỗi ô vuông và tổng cộng 891 bit. Bằng cách chỉ định một thứ tự được xác định trước, người ta có thể giảm mạnh hơn chỉ còn 4 bit cho mỗi giá trị cho tổng số 324 bit. Tuy nhiên, một sudoku có thể thiếu số. Điều này cung cấp tiềm năng để giảm số lượng số phải được chỉ định, nhưng có thể yêu cầu các bit bổ sung để chỉ vị trí. Sử dụng mã hóa 11 bit của chúng tôi (vị trí, giá trị), chúng tôi có thể chỉ định một câu đố với manh mối với11 n bit, ví dụ: câu đố tối thiểu (17) yêu cầu 187 bit. Mã hóa tốt nhất mà tôi nghĩ đến cho đến nay là sử dụng một bit cho mỗi không gian để cho biết liệu nó có được điền hay không và nếu có thì 4 bit sau đây sẽ mã hóa số. Điều này đòi hỏi bit, 149 cho một câu đố tối thiểu ( ). Có một mã hóa hiệu quả hơn, tốt nhất là không có cơ sở dữ liệu của mỗi thiết lập sudoku hợp lệ? (Điểm thưởng khi giải quyết một chung từ câu đố)n = 17 n N × N
Nó chỉ xảy ra với tôi rằng nhiều câu đố sẽ là một phép quay của một câu đố khác, hoặc có một hoán vị đơn giản của các chữ số. Có lẽ điều đó có thể giúp giảm các bit cần thiết.
Theo Wikipedia ,
Số lượng lưới giải pháp Sudoku 9 × 9 cổ điển là 6.670,903,752,021,072,936,960 (chuỗi A107739 trong OEIS), hoặc khoảng .
Nếu tôi thực hiện đúng phép toán của mình ( ), điều đó xuất hiện tới 73 (72.498) bit thông tin cho bảng tra cứu.
Nhưng:
Số lượng các giải pháp cơ bản khác nhau, khi các đối xứng như xoay, phản xạ, hoán vị và tái định vị được tính đến, được chỉ ra là 5,472,730,538 [15] (trình tự A109741 trong OEIS).
Điều đó mang lại 33 (32,35) bit, do đó, có thể là một phương pháp thông minh để chỉ ra hoán vị nào được sử dụng có thể nhận được dưới 73 bit đầy đủ.