Поради

Детальний розбір техніки Хмарочос в судоку: просунутий метод виключення з використанням сильних зв'язків

2025-01-27 · 10 хв читання

Хмарочос (Skyscraper) — це метод виключення, заснований на сильних зв'язках, серед просунутих технік судоку, який можна розглядати як варіант X-Wing. Його назва походить від форми, яку утворює ця техніка — дві вертикальні "колони", з'єднані "поперечною балкою", що нагадує два хмарочоси різної висоти. Основна ідея: коли певний кандидат утворює сильний зв'язок у двох рядках, і ці два сильних зв'язки з'єднані через один стовпець, клітинки, які одночасно можуть бачити дві "вільні" кінцеві точки, можуть виключити цього кандидата.

Що таке сильний зв'язок?
Коли певний кандидат з'являється лише в двох клітинках у рядку (або стовпці), між цими двома клітинками утворюється сильний зв'язок (Strong Link). Сильний зв'язок означає: обов'язково одна і тільки одна з цих двох клітинок буде заповнена цією цифрою. Якщо одна не є, то інша обов'язково є.

Правило Хмарочосу

Якщо певний кандидат з'являється лише в двох позиціях у двох рядках (утворюючи два сильних зв'язки), і ці два сильних зв'язки мають одну кінцеву точку в одному стовпці,
то клітинки, які можуть "бачити" обидві кінцеві точки, які не знаходяться в одному стовпці (вільні кінцеві точки), можуть виключити цього кандидата.

Перед читанням цієї статті рекомендується спочатку освоїти техніку X-Wing, оскільки Хмарочос можна розглядати як "недосконалу" форму X-Wing — коли три з чотирьох кутів X-Wing вирівняні, утворюється Хмарочос.

Діаграма принципу Хмарочосу
Принцип Хмарочосу: два сильних зв'язки з'єднані через один стовпець, утворюючи асиметричну "будівлю", червоний X позначає позиції, які можна виключити

Аналіз прикладу: Хмарочос на основі рядків

Розглянемо приклад Хмарочосу, який включає рядок 1 та рядок 5 з кандидатом 6.

Приклад техніки Хмарочос у судоку
Рис.: Кандидат 6 у рядках 1 і 5 утворює патерн Хмарочосу
Відкрити цей приклад у калькуляторі

Поточні дані поля

Згідно з даними кандидатів у форматі CSV81, ми зосереджуємося на розподілі кандидата 6 у рядку 1 та рядку 5:

Клітинки рядка 1:

  • R1C1: кандидати {4, 6}
  • R1C2: заповнена цифра 7 (задана)
  • R1C3: кандидати {1, 4}
  • R1C4: заповнена цифра 5
  • R1C5: заповнена цифра 8
  • R1C6: кандидати {1, 6}
  • R1C7: заповнена цифра 9 (задана)
  • R1C8: заповнена цифра 3 (задана)
  • R1C9: заповнена цифра 2

Клітинки рядка 5:

  • R5C1: заповнена цифра 1 (задана)
  • R5C2: кандидати {3, 6}
  • R5C3: заповнена цифра 7
  • R5C4: заповнена цифра 8
  • R5C5: заповнена цифра 4
  • R5C6: кандидати {2, 6}
  • R5C7: кандидати {2, 5}
  • R5C8: заповнена цифра 9 (задана)
  • R5C9: кандидати {3, 5}

Процес аналізу

1 Спостереження за рядком 1: У рядку 1 кандидат 6 з'являється лише в двох позиціях: R1C1 (кандидати 4,6) та R1C6 (кандидати 1,6). Ці дві клітинки утворюють сильний зв'язок.
2 Спостереження за рядком 5: У рядку 5 кандидат 6 також з'являється лише в двох позиціях: R5C2 (кандидати 3,6) та R5C6 (кандидати 2,6). Ці дві клітинки також утворюють сильний зв'язок.
3 Знаходження точки з'єднання: Зверніть увагу, що R1C6 та R5C6 обидві знаходяться в стовпці 6. Це означає, що два сильних зв'язки з'єднані через стовпець 6, ці дві клітинки утворюють "дах" Хмарочосу.
4 Визначення структури Хмарочосу: Тепер у нас є:
  • Дах (точка з'єднання): R1C6 та R5C6 (у стовпці 6, з'єднані пунктирною лінією)
  • Вільні кінцеві точки (вершини будівель): R1C1 та R5C2 (вершини двох "будівель")

Це утворює асиметричну форму "хмарочосу": ліва будівля простягається від R1C1 до R1C6, права будівля простягається від R5C2 до R5C6.

5 Розуміння логіки міркування: Завдяки властивостям сильного зв'язку ми можемо міркувати:
  • 6 у рядку 1 буде або в R1C1, або в R1C6
  • 6 у рядку 5 буде або в R5C2, або в R5C6
  • Випадок 1: Якщо R1C6 це 6, то R5C6 не може бути 6 (той самий стовпець), тому R5C2 має бути 6
  • Випадок 2: Якщо R1C6 не є 6, то R1C1 має бути 6

Висновок: незалежно від випадку, принаймні одна з R1C1 або R5C2 є 6.

6 Визначення цілей для виключення: Оскільки принаймні одна з R1C1 або R5C2 є 6, то клітинки, які можуть бути "побачені" одночасно R1C1 та R5C2, не можуть бути 6.

Які клітинки можуть бути побачені одночасно R1C1 та R5C2?

  • R2C2: кандидати {3, 5, 6}
    → У тому самому стовпці з R5C2 (стовпець 2)
    → У тому самому блоці з R1C1 (блок 1)
  • R4C1: кандидати {4, 6, 9}
    → У тому самому стовпці з R1C1 (стовпець 1)
    → У тому самому блоці з R5C2 (блок 4)
7 Виконання виключення: Таким чином:
  • R2C2: видалити кандидата 6 (залишається 3,5)
  • R4C1: видалити кандидата 6 (залишається 4,9)
Висновок:
Хмарочос: цифра 6 утворює два сильних зв'язки в рядку 1 (R1C1-R1C6) та рядку 5 (R5C2-R5C6), з'єднаних через стовпець 6.
Дія: видалити кандидата 6 з R2C2 та R4C1.

Форми Хмарочосу

Хмарочос може мати різні форми, залежно від напрямку сильних зв'язків та способу з'єднання:

1. Хмарочос на основі рядків (Row-based Skyscraper)

Це ситуація з прикладу вище:

  • Базова структура: По одному сильному зв'язку в кожному з двох рядків
  • Спосіб з'єднання: Два сильних зв'язки мають спільну кінцеву точку в одному стовпці
  • Вільні кінцеві точки: Дві кінцеві точки, які не знаходяться в спільному стовпці

2. Хмарочос на основі стовпців (Column-based Skyscraper)

Протилежна форма, але той самий принцип:

  • Базова структура: По одному сильному зв'язку в кожному з двох стовпців
  • Спосіб з'єднання: Два сильних зв'язки мають спільну кінцеву точку в одному рядку
  • Вільні кінцеві точки: Дві кінцеві точки, які не знаходяться в спільному рядку
Техніка запам'ятовування:
Уявіть два хмарочоси:
Дахи з'єднані на одній "вулиці" (спільний рядок або стовпець)
Вершини будівель — це вільні кінцеві точки
• Місця, які можуть бачити обидві вершини одночасно, це позиції, які можна виключити

Як знайти Хмарочос?

Пошук Хмарочосу вимагає систематичного спостереження:

1 Виберіть кандидата: Зосередьтеся на одному кандидаті (одна з цифр 1-9), вибирайте кандидата з помірною кількістю появ (5-8 разів), їх легше знайти.
2 Шукайте сильні зв'язки: Знайдіть, в яких рядках або стовпцях цей кандидат з'являється лише двічі. Кожен такий знайдений рядок або стовпець — це сильний зв'язок.
3 Шукайте точку з'єднання: Перевірте, чи є два сильних зв'язки, кожен з яких має одну кінцеву точку в одному стовпці (або одному рядку).
4 Підтвердіть вільні кінцеві точки: Знайдіть дві кінцеві точки в двох сильних зв'язках, які не знаходяться в спільному стовпці (або рядку) — це "вільні кінцеві точки".
5 Знайдіть цілі для виключення: Знайдіть клітинки, які можуть бути "побачені" обома вільними кінцевими точками одночасно (той самий рядок, той самий стовпець або той самий блок), ці клітинки можуть виключити цього кандидата.
Важливі зауваження:
  • Сильний зв'язок вимагає, щоб кандидат з'являвся рівно двічі в цьому рядку (або стовпці)
  • Два сильних зв'язки повинні бути з'єднані через той самий стовпець (або той самий рядок)
  • "Бачити одночасно" включає три випадки: той самий рядок, той самий стовпець, той самий блок
  • Якщо дві вільні кінцеві точки не мають спільних клітинок, які можуть бачити, виключення неможливе
  • Хмарочос — це "недосконалий" варіант X-Wing — коли три з чотирьох кутів X-Wing вирівняні, може утворитися Хмарочос

Зв'язок Хмарочосу з іншими техніками

Хмарочос vs X-Wing

Обидві техніки включають сильні зв'язки в двох рядках (або двох стовпцях), але мають важливі відмінності:

Критерій порівняння X-Wing Хмарочос
Структура Чотири кути повністю вирівняні, утворюючи прямокутник Тільки три точки вирівняні, одна кінцева точка "вільна"
Діапазон виключення Кандидати цілого стовпця (або рядка) Можна виключити лише кандидатів конкретних клітинок
Частота появи Менша Більша (умови більш гнучкі)

Хмарочос vs Подвійний сильний зв'язок

Хмарочос насправді є особливою формою подвійного сильного зв'язку (2-String Kite):

  • Два сильних зв'язки з'єднані через спільну точку
  • Використовується логіка "принаймні один з двох кінців істинний" для виключення

Підсумок техніки

Ключові моменти застосування техніки Хмарочос:

  • Умови розпізнавання: Певний кандидат з'являється лише двічі в двох рядках (або двох стовпцях), і один стовпець (або рядок) містить одну кінцеву точку обох сильних зв'язків
  • Утворена структура: Два сильних зв'язки + один спільний стовпець (або рядок) + дві вільні кінцеві точки
  • Правило виключення: Клітинки, які можуть "бачити" обидві вільні кінцеві точки, можуть виключити цього кандидата
  • Сценарій застосування: Альтернативне рішення, коли умови X-Wing не виконуються
  • Складність розпізнавання: Середній-високий рівень, потрібне розуміння концепції сильних зв'язків
Практичні поради:
Хмарочос зустрічається в практиці частіше, ніж X-Wing, оскільки його умови більш гнучкі. Рекомендації:
  • Спочатку добре освойте розпізнавання сильних зв'язків
  • Коли шукаєте X-Wing, якщо виявите, що чотири кути неповні, перевірте, чи можна утворити Хмарочос
  • Зверніть увагу на цифри з меншою кількістю кандидатів, їх легше знайти сильні зв'язки
  • Використовуйте функцію підсвічування кандидатів, зосереджуйтесь на одній цифрі за раз

Негайна практика

Поради щодо практики:
Почніть складну або експертну гру в судоку, спробуйте використати техніку Хмарочос! Рекомендації:
  • Виберіть складний рівень, прості головоломки зазвичай не потребують просунутих технік
  • Спочатку позначте всіх кандидатів, потім шукайте сильні зв'язки для кожної цифри
  • Після знаходження двох сильних зв'язків перевірте, чи мають вони спільний рядок або стовпець
  • Після підтвердження вільних кінцевих точок шукайте клітинки, які вони можуть бачити разом