Noibai Online
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

10 giải thuật chơi SUDOKU

Go down

10 giải thuật chơi SUDOKU Empty 10 giải thuật chơi SUDOKU

Bài gửi  Admin 3/12/2007, 17:51

Bạn không nhất thiết phải tuân theo một luật lệ nào khi chơi Sudoku, nhưng nếu bạn muốn là cao thủ, giải được các đề khó, bạn nên thử nghiệm những kỹ thuật dưới đây. Hãy tìm ra những kỹ thuật hợp với bạn nhất.
1. Ô đơn hiện
Kỹ thuật này còn được gọi là “ứng viên đơn độc”.
Thường xẩy ra trường hợp một ô chỉ điền được vào một số duy nhất sau khi bạn xem xét các con số trong các ô khác thuộc cùng hàng, cột và khối 3x3 với ô đó. Khi đó, hàng, cột và miền 3x3 tương ứng đã chứa 8 con số khác nhau, chỉ còn lại 1 con số duy nhất thích hợp cho ô trống đang xét.
Ví dụ, trong ô số bên dưới, ô được đánh dấu chỉ có thể điền số 6. Tất cả các con số khác đều bị loại trừ do đã có sẵn trong các hàng, cột và miền 3x3.
10 giải thuật chơi SUDOKU Naked%20single
2. Ô đơn ẩn
Nếu một ô là ô duy nhất trong hàng, cột và miền 3x3 có thể điền vào một số cụ thể nào đó, thì ô đó phải chứa chính số đó.
Lý do là mọi hàng, mọi cột và mọi miền 3x3 đều phải chứa mỗi số từ 1 đến 9. Ví dụ, trong ô số bên dưới, ô được đánh dấu ? là ô duy nhất trong miền 3x3 có thể chứa số 2, nên nó phải được điền vào số 2.
10 giải thuật chơi SUDOKU Hidden%20Single
Sau chuỗi loại suy ban đầu, toàn bộ các kỹ thuật còn lại đều hướng đến việc giảm số lượng các ứng viên cho các ô. Mục đích của chúng là giảm các ứng viên đến một mức độ mà hai kỹ thuật đầu tiên có thể áp dụng.
3. Những sự tương tác giữa khối và cột / khối và hàng.
Thỉnh thoảng, khi kiểm tra lại một khối, bạn có thể xác định rằng một số nào đó phải nằm trong một hàng hoặc một cột cụ thể nào đó, dù bạn không thể xác định chính xác nó ở ô nào trong hàng hoặc cột này. Thông tin đó đủ để bạn rút con số đó ra khỏi danh sách ứng viên cho các ô khác trong cùng hàng hoặc cột, nhưng ở ngoài miền 3x3.
Ví dụ, trong hình bên dưới, số 7 trong miền 3x3 đầu tiên chỉ có thể nằm ở cột thứ hai. Điều này có nghĩa là ta có thể loại bỏ số 7 ra khỏi danh sách ứng viên của các ô đã đánh dấu.
Trước hết, nếu một số xuất hiện như ứng viên cho chỉ hai ô trong hai miền 3x3 khác nhau, nhưng cả hai ô này đều nằm trong cùng hàng hoặc cột, thì bạn có thể bỏ số đó ra khỏi danh sách ứng viên của các ô khác trong cùng hàng hoặc cột đó.
10 giải thuật chơi SUDOKU Block%20and%20column
4. Các tương tác giữa các khối.
Trước hết, nếu một số xuất hiện như ứng viên cho chỉ hai ô trong hai miền 3x3 khác nhau, nhưng cả hai ô này đều nằm trong cùng hàng hoặc cột, thì bạn có thể bỏ số đó ra khỏi danh sách ứng viên của các ô khác trong cùng hàng hoặc cột đó.
Ví dụ, trong hình dưới đây, những ô đánh dấu * là những ô duy nhất trong các miền 3x3 thứ hai và thứ năm có thể chứa số 3. Điều này có nghĩa là số 3 ở cột thứ tư phải xuất hiện ở miền 3x3 thứ hai và thứ năm. Tương tự như vậy đối với cột năm. Do không thể có số 3 nào khác ở các cột bốn và năm, số 3 có thể loại khỏi danh sách ứng viên của các ô thuộc các cột này trong miền 3x3 thứ tám.
10 giải thuật chơi SUDOKU Block
Thứ hai, trong ví dụ bên dưới, các ô được đánh dấu * là các ô trong khối thứ tư và khối thứ sáu có thể chứa số 2. Điều này có nghĩa là số 2 có thể được loại bỏ khỏi danh sách ứng viên của các hàng thứ tư và hàng thứ sáu trong khối thứ năm.
10 giải thuật chơi SUDOKU Block2
5. Tập hợp con “hiện”
Kỹ thuật này có tên gọi là “bộ đôi hiện” trong trường hợp có hai ứng viên, “bộ ba hiện” trong trường hợp có ba ứng viên, hoặc “bộ tứ hiện” trong trường hợp có bốn ứng viên. Đôi khi, kỹ thuật này còn được gọi là “tập hợp con tách bạch”.
Nếu hai ô trong cùng một hàng, cột hoặc miền 3x3 chỉ có duy nhất hai ứng viên, thì các ứng viên này có thể loại bỏ khỏi danh sách các ứng viên trong các ô khác trong thuộc cùng hàng, cột hoặc miền 3x3. Bởi vì nếu một ô chứa ứng viên này thì ô còn lại phải chứa ứng viên kia. Thành thử cả hai ứng viên đó đều không thể xuất hiện ở bất cứ ô nào khác.
Kỹ thuật này có thể áp dụng cho hai ô trở lên, nhưng trong mọi trường hợp, số ô phải bằng với số các ứng viên. Ví dụ, xét một hàng có các ứng viên sau:
{1, 7}, {6, 7, 9}, {1, 6, 7, 9}, {1, 7}, {1, 4, 7, 6}, {2, 3, 6, 7}, {3, 4, 6, 8, 9}, {2, 3, 4, 6, 8}, {5}
(Số {5} đơn độc cho thấy ô này chỉ có thể điền vào số 5). Bạn có thể thấy rằng có hai ô có cùng chứa hai ứng viên 1 và 7. Một trong hai ô này phải chứa số 1, ô còn lại chứa số 7, dù ta chưa biết cụ thể ô nào chứa 1 và ô nào chứa 7. Như vậy 1 và 7 có thể loại bỏ khỏi danh sách ứng viên trong các ô khác. Điều này làm số lượng ứng viên giảm xuống còn:
{1, 7}, {6, 9}, {6, 9}, {1, 7}, {4, 6}, {2, 3, 6}, {3, 4, 6, 8, 9}, {2, 3, 4, 6, 8}, {5}
Bây giờ bạn có hai ô có chỉ chứa hai ứng viên duy nhất là 6 và 9. Hãy lặp lại quy trình trên để còn lại số ứng viên như sau:
{1, 7}, {6, 9}, {6, 9}, {1, 7}, {4}, {2, 3}, {3, 4, 8}, {2, 3, 4, 8}, {5}
Bây giờ ta bạn lại có một ứng viên đơn độc – có nghĩa là bạn đã giảm thiểu số lượng ứng viên đến mức có thể xác định các giá trị duy nhất có thể điền vào.
6. Tập hợp con “ẩn”
Kỹ thuật này được gọi là “bộ đôi ẩn” nếu lien quan đến hai ứng viên, “bộ ba ẩn” nếu lien quan ba ứng viên, hoặc “bộ tứ ẩn” nếu lien quan bốn ứng viên. Đôi lúc, kỹ thuật này cũng có thể gọi là “tập hợp con độc nhất”.
Kỹ thuật này rất giống kỹ thuật tập hợp con hiện, nhưng thay vì tác động đến các các ô khác trong cùng hàng, cột hoặc miền 3x3, các ứng viên bị loại khỏi các ô chứa tập hợp con. Nếu có N ô, giữa các ô đó có N ứng viên không xuất hiện ở các ô khác trong cùng hàng, cột hoặc miền 3x3, thì có thể loại bỏ bất kỳ ứng viên nào khác cho các ô đó.
Ví dụ, xét một khối có các ứng viên sau:
{4, 5, 6, 9}, {4, 9}, {5, 6, 9}, {2, 4}, {1, 2, 3, 4, 7}, {1, 2, 3, 7}, {2, 5, 6}, {1, 2, 7}, {8}
(Số {8} đơn độc chỉ ra rằng ô này chỉ có thể chứa số Cool. Bạn có thể thấy rằng chỉ có ba ô có các ứng viên 1, 3 hoặc 7. (Các ô này cũng chứa các ứng viên khác nhưng đó là những ứng viên có thể loại bỏ). Ba ứng viên với chỉ ba ô có khả năng chứa chúng có nghĩa là mỗi ứng viên phải nằm ở một trong ba ô này. Cho nên hiển nhiên là ba ô này không thể chứa bất kỳ giá trị nào khác, có nghĩa là chúng ta có thể loại bỏ bất kỳ các ứng viên khác khỏi các ô này.
Trong ví dụ này, ta còn lại:
{4, 5, 6, 9}, {4, 9}, {5, 6, 9}, {2, 4}, {1, 3, 7}, {1, 3, 7}, {2, 5, 6}, {1, 7}, {8}
Các tập hợp con hiện và các tập hợp con ẩn liên đới với nhau – Bạn có thể ví chúng như hai mặt của một đồng xu. Nếu một tập hợp con hiện xuất hiện thì một tập hợp con ẩn cũng có mặt, mặc dù để nhận ra nó có thể khó khăn và mất nhiều thời gian hơn. Ngược lại cũng vậy, nếu một tập hợp con ẩn có mặt thì một tập hợp con hiện cũng xuất hiện. Chúng tuân theo mối quan hệ như sau:
Số lượng các con số trong tập hợp con hiện + Số lượng các con số trong tập hợp con ẩn + Số lượng các ô được điền trong đơn vị (hàng/cột/khối) = 9
hoặc trình bày theo cách khác:
Số lượng các con số trong tập hợp con hiện + Số lượng các con số trong tập hợp con ẩn = Số lượng các ô trống trong đơn vị (hàng/cột/khối)
7. Cánh bướm (Nâng cao)
Trong hình dưới đây, những ô duy nhất trong hàng đầu và hàng thứ chín có thể chứa số 9 là những ô được đánh dấu. (Các ô khác trong cùng hàng đã chứa số khác hoặc không thể chứa số 9 bởi vì đã có các số 9 trong cùng cột). Do số 9 phải xuất hiện trong cả hàng thứ nhất và hàng thứ chín, nhưng chúng nhất thiết không thể xuất hiện trong cùng một cột, cho nên số 9 phải hiện diện ô đánh dấu ở trên cùng bên trái và ô đánh dấu ở dưới cùng bên phải chứa số 9, hoặc ô đánh dấu ở dưới cùng bên trái và đánh dấu ô ở trên cùng bên phải. (Không thể là ô dưới cùng bên phải và ô trên cùng bên phải, hoặc ô dưới cùng bên trái và ô trên cùng bên trái, vì nếu vậy sẽ có hai số 9 trong cùng một cột.
Tương tự, không thể là ô trên cùng bên trái và ô trên cùng bên phải, hoặc ô dưới cùng bên trái và ô dưới cùng bên phải, vì nếu vậy sẽ có hai số 9 trong cùng một hàng). Cho nên bạn không thể nói số 9 nằm ở đâu, đỉnh-trái, đáy-phải, hay đáy trái-đỉnh phải, nhưng dù sao bạn cũng có thể loại các số 9 ra khỏi các ô trong cả hai cột. Kết quả là số 9 có thể được loại ra khỏi danh sách ứng viên ở các ô khác trong cả hai cột liên quan.
10 giải thuật chơi SUDOKU Xwing
8. Chuỗi bắt buộc (nâng cao)
Chuỗi bắt buộc là một kỹ thuật cho phép bạn đoán chắc con số phải điền vào một ô từ việc xem xét các mối quan hệ liên quan từ sự sắp đặt mỗi ứng viên trong các ô khác. (Kỹ thuật này còn được gọi là “chuỗi liên quan kép”).
Ví dụ, trong ô Sudoku sau:
10 giải thuật chơi SUDOKU Forcing%20Chains
(Các con số trong ngoặc { } là các ứng viên của ô).
Xét hàng 2 cột 1 (h1c2). Ô này có hai ứng viên, 2 và 7. Bạn hãy xem mối quan hệ của lần lượt hai ứng viên này.
Nếu h1c2 (hàng 1 cột 2) = 2 thì h2c1 = 1, và h5c1 = 2
nếu h1c2 = 7, thì h1c7 = 3, và h5c7 = 1, và h5c1 = 2

Như vậy, dù bạn điền khả năng nào vào h1c2 thì h5c1 vẫn phải chứa số 2. Nói cách khác, dù bạn đi theo chuỗi suy luận nào thì vẫn có một số ô chứa cùng giá trị.
Ghi chú: trừ phi đề Sudoku có nhiều đáp án, một trong những ứng viên được xét phải sai. Điều này có nghĩa là ứng viên đó có thể dẫn bạn đi đến một sự mâu thuẫn hoặc một kết quả chết. Nếu, khi xét một ứng viên riêng lẻ, bạn đi đến một kết quả chết, hoặc tìm ra hai chuỗi dẫn đến các kết luận khác nhau, thì bạn có thể loại ứng viên đó khỏi ô ban đầu. Kỹ thuật này gần gần giống Thử và Sai, và không nhất thiết xem là một phần của chiến lược chuỗi bắt buộc. Tuy vậy, nó có thể hữu dụng khi giải Sudoku bằng thủ công (không dùng máy tính).
9. Nishio
Đây là một dạng giới hạn của kỹ thuật Thử và Sai. Đối với mỗi ứng viên cho một ô, nó đòi hỏi bạn đặt ra câu hỏi:
Nếu mình đặt số này vào ô này thì liệu điều đó có ngăn trở mình hoàn tất (việc xác định) các vị trí khác của con số đó? Nếu câu trả lời là có, thì ứng viên đó có thể bị loại.

10. Thử và Sai
Một số người sẽ cho rằng Thử và Sai không phải là một kỹ thuật logic, chẳng khá gì hơn so với việc đoán mò. Khi có vẻ như bạn không cách chi đi tiếp,Thử và Sai có lẽ là cách duy nhất để giúp bạn dấn tới. Hơn nữa, một số đề Sudoku không thể nào hoàn tất mà không dùng kỹ thuật này.
Kỹ thuật này đòi hỏi chọn lựa một ứng viên cho một ô – mà không cần có lý do đặc biệt nào biện hộ cho chọn lựa đó - rồi xem thử ô Sudoku có thể được hoàn tất hay không. Nếu có thể hoàn tất, thì bạn đã thành công rồi đó (mặc dù, có thể còn có giải pháp khác – thử luôn cả với những ứng viên khác). Nếu không hoàn tất được, hãy tiếp tục kỹ thuật Thử và Sai, và sau khi mỗi lựa chọn được loại bỏ, bạn lại đưa ra những lựa chọn khác. Với một số đề Sudoku, có thể bạn phải sử dụng phương pháp Thử và Sai nhiều lần. Với một số đề khác, bạn chỉ cần áp dụng một lần là đủ.
Thường thì, để qủan lý tính phức tạp, bạn nên chọn ô nào chỉ có 2 lựa chọn. Nhưng điều này không nhất thiết đâu nhé!
Có điều này rất đáng để bạn ghi nhớ : chỉ độc nhất với kỹ thuật này mà bạn luôn luôn tìm ra được đáp án. Không một kỹ thuật nào khác có thể đảm bảo điều đó. Tuy nhiên, việc chỉ sử dụng duy nhất kỹ thuật này sẽ giống như “lấy thịt đè người” vậy.

Admin
Quản trị
Quản trị

Tổng số bài gửi : 311
Registration date : 25/10/2007

https://noibai.forumvi.com

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết