Mẹo

Kỹ thuật Skyscraper trong Sudoku: Phương pháp loại trừ nâng cao sử dụng liên kết mạnh

2025-01-27 · 10 phút đọc

Skyscraper (Tòa nhà chọc trời) là một phương pháp loại trừ dựa trên liên kết mạnh trong các kỹ thuật Sudoku nâng cao, có thể được coi là biến thể của X-Wing. Tên gọi của nó xuất phát từ hình dạng mà kỹ thuật này tạo ra - hai "cột" thẳng đứng được kết nối bằng một "dầm ngang", trông giống như hai tòa nhà chọc trời có chiều cao khác nhau. Ý tưởng cốt lõi là: khi một ứng viên tạo thành một liên kết mạnh trong hai hàng, và hai liên kết mạnh này được kết nối qua cùng một cột, các ô mà hai đầu "treo" có thể nhìn thấy đồng thời có thể loại bỏ ứng viên đó.

Liên kết mạnh là gì?
Khi một ứng viên chỉ xuất hiện trong hai ô trong một hàng (hoặc một cột), hai ô này tạo thành một liên kết mạnh (Strong Link). Liên kết mạnh có nghĩa là: trong hai ô này chắc chắn có và chỉ có một ô sẽ được điền số đó. Nếu một ô không phải, ô còn lại chắc chắn phải là.

Quy tắc Skyscraper

Nếu một ứng viên chỉ xuất hiện ở hai vị trí trong mỗi hai hàng (tạo thành hai liên kết mạnh), và hai liên kết mạnh này có một đầu ở cùng một cột,
Thì các ô mà hai đầu không ở cùng một cột (đầu treo) có thể "nhìn thấy" đồng thời, đều có thể loại bỏ ứng viên đó.

Trước khi đọc bài viết này, nên nắm vững kỹ thuật X-Wing, vì Skyscraper có thể được coi là dạng "không hoàn hảo" của X-Wing - khi ba trong số bốn góc của X-Wing được căn chỉnh thì tạo thành Skyscraper.

Sơ đồ nguyên lý Skyscraper
Nguyên lý Skyscraper: Hai liên kết mạnh được kết nối qua cùng một cột, tạo thành hình "tòa nhà" không đối xứng, dấu X đỏ biểu thị vị trí có thể loại bỏ

Phân tích ví dụ: Skyscraper dựa trên hàng

Chúng ta hãy xem một ví dụ về Skyscraper, liên quan đến ứng viên 6 trong Hàng 1Hàng 5.

Ví dụ kỹ thuật Skyscraper trong Sudoku
Hình: Ứng viên 6 ở Hàng 1 và Hàng 5 tạo thành mô hình Skyscraper
Mở ví dụ này trong bộ giải

Dữ liệu bàn cờ hiện tại

Theo dữ liệu ứng viên định dạng CSV81, chúng ta tập trung vào phân bố của ứng viên 6 trong Hàng 1Hàng 5:

Các ô Hàng 1:

  • R1C1: ứng viên {4, 6}
  • R1C2: số đã điền 7 (cho trước)
  • R1C3: ứng viên {1, 4}
  • R1C4: số đã điền 5
  • R1C5: số đã điền 8
  • R1C6: ứng viên {1, 6}
  • R1C7: số đã điền 9 (cho trước)
  • R1C8: số đã điền 3 (cho trước)
  • R1C9: số đã điền 2

Các ô Hàng 5:

  • R5C1: số đã điền 1 (cho trước)
  • R5C2: ứng viên {3, 6}
  • R5C3: số đã điền 7
  • R5C4: số đã điền 8
  • R5C5: số đã điền 4
  • R5C6: ứng viên {2, 6}
  • R5C7: ứng viên {2, 5}
  • R5C8: số đã điền 9 (cho trước)
  • R5C9: ứng viên {3, 5}

Quá trình phân tích

1 Quan sát Hàng 1: Trong Hàng 1, ứng viên 6 chỉ xuất hiện ở hai vị trí: R1C1 (ứng viên 4,6) và R1C6 (ứng viên 1,6). Hai ô này tạo thành một liên kết mạnh.
2 Quan sát Hàng 5: Trong Hàng 5, ứng viên 6 cũng chỉ xuất hiện ở hai vị trí: R5C2 (ứng viên 3,6) và R5C6 (ứng viên 2,6). Hai ô này cũng tạo thành một liên kết mạnh.
3 Phát hiện điểm kết nối: Chú ý rằng R1C6R5C6 đều nằm ở Cột 6. Điều này có nghĩa là hai liên kết mạnh được kết nối với nhau qua Cột 6, hai ô này tạo thành "mái nhà" của Skyscraper.
4 Nhận diện cấu trúc Skyscraper: Bây giờ chúng ta có:
  • Mái nhà (điểm kết nối): R1C6 và R5C6 (ở Cột 6, được kết nối bằng đường nét đứt)
  • Đầu treo (đỉnh tòa nhà): R1C1 và R5C2 (đỉnh của hai "tòa nhà")

Điều này tạo thành hình "tòa nhà chọc trời" không đối xứng: tòa nhà bên trái kéo dài từ R1C1 đến R1C6, tòa nhà bên phải kéo dài từ R5C2 đến R5C6.

5 Hiểu logic suy luận: Do tính chất của liên kết mạnh, chúng ta có thể suy luận:
  • Số 6 ở Hàng 1 hoặc ở R1C1, hoặc ở R1C6
  • Số 6 ở Hàng 5 hoặc ở R5C2, hoặc ở R5C6
  • Trường hợp 1: Nếu R1C6 là 6, thì R5C6 không thể là 6 (cùng một cột), vì vậy R5C2 phải là 6
  • Trường hợp 2: Nếu R1C6 không phải là 6, thì R1C1 phải là 6

Kết luận: Trong cả hai trường hợp, ít nhất một trong R1C1 hoặc R5C2 là 6.

6 Xác định mục tiêu loại bỏ: Vì ít nhất một trong R1C1 hoặc R5C2 là 6, nên các ô có thể được "nhìn thấy" đồng thời bởi R1C1 và R5C2 đều không thể là 6.

Những ô nào có thể được nhìn thấy đồng thời bởi R1C1 và R5C2?

  • R2C2: ứng viên {3, 5, 6}
    → Cùng một cột với R5C2 (Cột 2)
    → Cùng một khối với R1C1 (Khối 1)
  • R4C1: ứng viên {4, 6, 9}
    → Cùng một cột với R1C1 (Cột 1)
    → Cùng một khối với R5C2 (Khối 4)
7 Thực hiện loại bỏ: Do đó:
  • R2C2: xóa ứng viên 6 (giữ lại 3,5)
  • R4C1: xóa ứng viên 6 (giữ lại 4,9)
Kết luận:
Skyscraper: Số 6 ở Hàng 1 (R1C1-R1C6) và Hàng 5 (R5C2-R5C6) tạo thành hai liên kết mạnh, được kết nối qua Cột 6.
Thao tác: Xóa ứng viên 6 khỏi R2C2R4C1.

Các dạng của Skyscraper

Skyscraper có thể có nhiều dạng khác nhau, tùy thuộc vào hướng và cách kết nối của liên kết mạnh:

1. Skyscraper dựa trên hàng (Row-based Skyscraper)

Đây là trường hợp trong ví dụ trên:

  • Cấu trúc cơ bản: Mỗi hai hàng có một liên kết mạnh
  • Cách kết nối: Hai liên kết mạnh có một đầu chung ở cùng một cột
  • Đầu treo: Hai đầu không nằm ở cột chung

2. Skyscraper dựa trên cột (Column-based Skyscraper)

Dạng ngược lại nhưng nguyên lý giống nhau:

  • Cấu trúc cơ bản: Mỗi hai cột có một liên kết mạnh
  • Cách kết nối: Hai liên kết mạnh có một đầu chung ở cùng một hàng
  • Đầu treo: Hai đầu không nằm ở hàng chung
Mẹo ghi nhớ:
Hãy tưởng tượng hai tòa nhà chọc trời:
Mái nhà được kết nối trên cùng một "con phố" (hàng hoặc cột chung)
Đỉnh tòa nhà là các đầu treo
• Những nơi mà hai đỉnh tòa nhà có thể nhìn thấy đồng thời, đó là vị trí có thể loại bỏ

Cách phát hiện Skyscraper?

Tìm kiếm Skyscraper cần quan sát có hệ thống:

1 Chọn một ứng viên: Tập trung vào một ứng viên (một trong 1-9), chọn ứng viên xuất hiện với số lần vừa phải (5-8 lần) dễ tìm hơn.
2 Tìm liên kết mạnh: Tìm các hàng hoặc cột mà ứng viên đó chỉ xuất hiện hai lần. Mỗi khi tìm thấy một hàng hoặc cột như vậy, bạn đã tìm thấy một liên kết mạnh.
3 Tìm điểm kết nối: Kiểm tra xem có hai liên kết mạnh, mỗi liên kết có một đầu ở cùng một cột (hoặc cùng một hàng) hay không.
4 Xác nhận đầu treo: Tìm hai đầu trong hai liên kết mạnh không nằm ở cột (hoặc hàng) chung - đây chính là "đầu treo".
5 Tìm mục tiêu loại bỏ: Tìm các ô có thể được "nhìn thấy" đồng thời bởi hai đầu treo (cùng hàng, cùng cột hoặc cùng khối), các ô này có thể loại bỏ ứng viên đó.
Lưu ý:
  • Liên kết mạnh yêu cầu ứng viên xuất hiện chính xác hai lần trong hàng (hoặc cột) đó
  • Hai liên kết mạnh phải được kết nối qua cùng một cột (hoặc cùng một hàng)
  • "Nhìn thấy đồng thời" bao gồm: cùng hàng, cùng cột, cùng khối ba trường hợp
  • Nếu hai đầu treo không có ô chung nào có thể nhìn thấy, thì không thể thực hiện loại bỏ
  • Skyscraper là biến thể "không hoàn hảo" của X-Wing - khi ba trong số bốn góc của X-Wing được căn chỉnh, có thể tạo thành Skyscraper

Mối quan hệ giữa Skyscraper và các kỹ thuật khác

Skyscraper vs X-Wing

Cả hai đều liên quan đến liên kết mạnh trong hai hàng (hoặc hai cột), nhưng có sự khác biệt quan trọng:

So sánh X-Wing Skyscraper
Cấu trúc Bốn góc hoàn toàn căn chỉnh, tạo thành hình chữ nhật Chỉ có ba điểm căn chỉnh, một đầu "treo"
Phạm vi loại bỏ Toàn bộ cột (hoặc toàn bộ hàng) các ứng viên Chỉ có thể loại bỏ ứng viên của các ô cụ thể
Tần suất xuất hiện Ít hơn Nhiều hơn (điều kiện lỏng hơn)

Skyscraper vs Chuỗi liên kết mạnh kép

Skyscraper thực chất là một dạng đặc biệt của Chuỗi liên kết mạnh kép (2-String Kite):

  • Hai liên kết mạnh được kết nối qua một điểm chung
  • Sử dụng logic "một trong hai đầu phải đúng" để thực hiện loại bỏ

Tóm tắt kỹ thuật

Các điểm quan trọng khi áp dụng kỹ thuật Skyscraper:

  • Điều kiện nhận diện: Một ứng viên chỉ xuất hiện hai lần trong mỗi hai hàng (hoặc hai cột), và có một cột (hoặc một hàng) chứa đồng thời một đầu của hai liên kết mạnh
  • Cấu trúc tạo thành: Hai liên kết mạnh + một cột (hoặc hàng) chung + hai đầu treo
  • Quy tắc loại bỏ: Các ô mà hai đầu treo có thể "nhìn thấy" đồng thời có thể loại bỏ ứng viên đó
  • Tình huống áp dụng: Giải pháp thay thế khi điều kiện X-Wing không thỏa mãn
  • Độ khó nhận diện: Trung-cao cấp, cần hiểu khái niệm liên kết mạnh
Gợi ý thực hành:
Skyscraper phổ biến hơn X-Wing trong thực tế, vì điều kiện của nó lỏng hơn. Khuyến nghị:
  • Trước tiên hãy thành thạo việc nhận diện liên kết mạnh
  • Khi tìm X-Wing nếu phát hiện bốn góc không hoàn chỉnh, hãy kiểm tra xem có thể tạo thành Skyscraper không
  • Chú ý đến các số có ít ứng viên hơn, dễ tìm liên kết mạnh hơn
  • Sử dụng chức năng làm nổi bật ứng viên, mỗi lần chỉ tập trung vào một số

Luyện tập ngay

Gợi ý luyện tập:
Bắt đầu một trò chơi Sudoku khó hoặc cấp độ chuyên gia, hãy thử sử dụng kỹ thuật Skyscraper! Khuyến nghị:
  • Chọn độ khó cao, bài tập đơn giản thường không cần kỹ thuật nâng cao
  • Trước tiên đánh dấu tất cả ứng viên, sau đó tìm liên kết mạnh cho từng số
  • Sau khi tìm thấy hai liên kết mạnh, kiểm tra xem chúng có hàng hoặc cột chung không
  • Sau khi xác nhận đầu treo, tìm các ô mà chúng có thể nhìn thấy chung