Herhangi bir keyfi 9x9 ızgarasının belirtilmesi, her karenin konumunu ve değerini vermeyi gerektirir. Bunun için naif bir kodlama 81 (x, y, değer) üçlüsü verebilir ve her bir x, y ve 4 için bit olmak üzere toplam 81x4x3 = 972 bit değer gerektirir (1-9 = 9 değer = 4 bit). Her kareyi numaralandırarak, konum bilgisi 7 bite indirgenebilir, her kare için bir miktar ve toplam 891 bit düşebilir. Önceden belirlenmiş bir sipariş belirterek, toplam 324 bit için her değer için sadece 4 bite düşürülebilir. Bununla birlikte, bir sudoku'nun numaraları eksik olabilir. Bu, belirtilmesi gereken sayıların sayısını azaltma potansiyeli sağlar, ancak konumları göstermek için ek bitler gerektirebilir. (Pozisyon, değer) bizim 11-bit kodlama kullanarak, bir bulmaca belirtebilirsiniz ile ipuçları bit, örneğin minimal (17) bir bulmaca 187 bit gerektirir. Şimdiye kadar düşündüğüm en iyi kodlama, doldurulup doldurulmadığını göstermek için her boşluk için bir bit kullanmak ve eğer öyleyse, aşağıdaki 4 bit sayıyı kodlar. Bu bit, minimum bir bulmaca için 149 ( ) gerektirir. Tercihen geçerli her sudoku kurulumunun bir veritabanı olmadan daha verimli bir kodlama var mı? (Genel bir adresleme için ekstra puan, den yapboz)
Bana sadece birçok bulmacanın bir diğerinin dönüşü olacağı veya basit bir rakam permütasyonu olacağı ortaya çıktı. Belki de bu, gerekli bitlerin azaltılmasına yardımcı olabilir.
Wikipedia'ya göre ,
Klasik 9 × 9 Sudoku çözüm ızgaralarının sayısı 6.670.903.752.021.072.936.960 (OEIS'de A107739 dizisi) veya yaklaşık .
Eğer matematik hakkımı yapsaydım ( ), bir arama tablosu için 73 (72.498) bit bilgi ortaya çıkar.
Fakat:
Döndürme, yansıtma, permütasyon ve yeniden etiketleme gibi simetriler dikkate alındığında, esasen farklı çözümlerin sayısının sadece 5,472,730,538 [15] (OEIS'de A109741 sekansı) olduğu gösterilmiştir.
Bu 33 (32.35) bit verir, böylece hangi permütasyonun tam 73 bitin altına düşebileceğini belirtmek için akıllı bir yöntem mümkündür.