Cách giải Sudoku mà không đoán

Đoán cảm giác hiệu quả vì nó đặt số lên bảng, nhưng thay một câu đố bằng hai nhánh không chắc. Sudoku đúng có thể tiếp cận như chuỗi suy luận kiểm chứng được: mỗi lần đặt hoặc xóa ứng viên đều theo hàng, cột, khối hoặc mẫu đã nhận. Giải không đoán không nghĩa mọi nước đều hiển nhiên. Nó nghĩa bạn tách khả năng khỏi cam kết, giữ ứng viên chính xác, và đổi kỹ thuật khi lần quét hiện tại ngừng tạo thông tin.
Ứng viên là khả năng. Chữ số đã đặt là kết luận. Đừng lẫn hai thứ.
Thế nào là đoán?
Đoán nghĩa là cam kết một chữ số không có chứng minh logic, thường với kế hoạch hoàn tác nếu mâu thuẫn xuất hiện. Ghi chú ứng viên không phải đoán: chúng ghi mọi giá trị vẫn được phép theo ràng buộc đã biết. Loại trừ nâng cao cũng không phải đoán khi mẫu hợp lệ. Ví dụ, X-Wing có thể không cho biết chữ số đi đâu, nhưng chứng minh nó không thể đi đâu. Phép thử thực tế đơn giản: trước khi đổi bảng, bạn có nêu được quy tắc vẫn đúng trong mọi cách hoàn thành khả dĩ?
Quy trình không đoán có thể lặp lại
- Quét chỗ đặt trực tiếp. Bắt đầu với số đơn lộ và số đơn ẩn trên hàng, cột, khối đông. Kiểm tra lại đơn vị mà mỗi lần đặt mới chạm tới.
- Dựng danh sách ứng viên trung thực. Khi quét trực tiếp kẹt, ghi chữ số được cả ba ràng buộc cho phép. Xóa ghi chú cũ ngay sau mỗi lần đặt.
- Tìm theo thứ tự kỹ thuật cố định. Thử cặp, ứng viên bị khóa, bộ ba và mẫu cá chỉ sau khi suy luận dễ đã hết. Thứ tự ổn định giúp bạn khỏi săn ngẫu nhiên cả bảng.
- Đòi chứng minh bằng lời. Nêu nguồn và hệ quả: «5 bị khóa vào hàng 2 trong khối này, nên 5 không thể xuất hiện chỗ khác trên hàng 2.» Nếu câu mơ hồ, đừng xóa ứng viên.
- Đặt lại góc nhìn khi kẹt. Kiểm ghi chú, đổi chữ số ứng viên hoặc đơn vị đang quét, và quay lại số đơn. Đừng biến bực thành lần đặt không có căn cứ.
Ví dụ giải: thay đoán hai hướng bằng logic
Giả sử r6c4 chứa ứng viên {3,8}. Chọn 3 sẽ là đoán vì cả hai giá trị vẫn tuân luật hàng, cột, khối ngay lập tức. Thay vì rẽ nhánh, xem 3 và 8 xuất hiện ở đâu trên đơn vị liên quan và tìm mẫu loại một ứng viên.
- Đừng đặt ứng viên nào. Để {3,8} làm ghi chú. Không có trùng ngay không chứng minh một nhánh đúng; mâu thuẫn có thể xuất hiện nhiều nước sau.
- Xem vị trí trong khối. Nếu mọi số 3 trong khối nằm hàng 6, khối chỉ hàng 6. Dùng ứng viên bị khóa để xóa 3 khỏi ô hàng 6 khác ngoài khối.
- Lan loại trừ. Giả sử r6c9 đổi từ {3,5} thành {5}. Đặt 5, rồi cập nhật hàng 6, cột 9 và khối. Chữ số mới có thể xóa 8 khỏi một ô cùng nhóm với r6c4.
- Chỉ quay lại khi đã có căn cứ. Nếu logic sau xóa 8 khỏi r6c4, đặt 3 và ghi lý do. Cùng giá trị cuối giờ là kết luận chứ không phải nhánh bạn tình cờ thử trước.
Thói quen che giấu việc đoán
Gọi chữ số có vẻ hợp là «hiển nhiên»
Giá trị có thể khớp hàng, cột, khối hiện tại mà vẫn sai. «Trông đúng» không phải quy tắc; chỉ ra số đơn, tập con hoặc mẫu buộc nó.
Dùng mâu thuẫn mà không theo dõi nhánh
Nhánh thử có thể dài và dễ sai. Nếu đang học giải logic, tránh chúng để kỹ thuật câu đố đang dạy vẫn lộ.
Tin ứng viên cũ
Mẫu nâng cao hợp lệ dựng từ ghi chú lỗi thời thì không hợp lệ. Kiểm lại ô ứng viên với chữ số đã đặt trước khi loại có tác động lớn.
Checklist luyện không đoán
- Trước mỗi lần đặt, nêu đó là số đơn lộ, số đơn ẩn, hay hệ quả của một lần loại cụ thể.
- Dùng ghi chú cho khả năng chưa giải và dành chữ số lớn cho giá trị đã chứng minh bằng logic.
- Khi kẹt hai phút, kiểm một hàng, một cột, một khối thay vì thử một ứng viên.
- Sau Undo, tìm đúng bước không có căn cứ và khôi phục logic ứng viên thay vì thử nhánh kia.
Cách chữa đoán không phải thận trọng hơn quanh một ô; mà là quy trình tốt hơn cho cả bảng. Dùng quét cố định, giữ ứng viên, đòi lý do, và đặt lại góc nhìn khi tiến triển dừng. Bắt đầu với câu đố Cổ điển Trung bình hoặc Khó, nơi kỹ thuật cần dùng đủ lộ để luyện nhưng đủ đa dạng để vòng không-đoán có ý nghĩa.
Câu hỏi thường gặp về giải không đoán
Mọi Sudoku hợp lệ đều giải được không đoán?
Câu đố dựng đúng nhằm có một lời giải, nhưng phương pháp logic cần dùng có thể vượt bộ công cụ hiện tại của người giải. Thực tế, độ khó công bố nhằm khớp một bộ kỹ thuật đã biết.
Dùng gợi ý có giống đoán?
Không. Gợi ý hữu ích chỉ ra nước đi được logic chống đỡ. Coi đó là bài học: đặt tên kỹ thuật, kiểm vì sao nó đúng, và tìm cùng mẫu sau trong lời giải.
Ghi chú ứng viên có được phép khi giải logic?
Có. Ứng viên là biểu diễn khả năng còn lại. Chìa khóa là nhập và xóa theo ràng buộc chứ không dùng chúng làm đáp án cuối tạm thời.
Nếu không kỹ thuật nào đã biết hiệu quả thì sao?
Trước hết kiểm ghi chú và quét lại số đơn. Rồi so độ khó câu đố với bộ kỹ thuật của bạn. Học phương pháp tiếp theo đáng giá hơn một cam kết không giải thích.
Backtracking có phải thuật toán giải hợp lệ?
Có với phần mềm và kiểm lời giải. Hướng dẫn này tập trung giải logic của người, mục tiêu là giải thích mỗi suy luận và học cấu trúc câu đố.


