Техніка Групова хмарочос в судоку: розширення сильних зв'язків за допомогою груп
Групова хмарочос (Grouped Skyscraper) є розширеною формою звичайної техніки Хмарочос. У звичайній хмарочосі кожна кінцева точка сильного зв'язку є окремою клітинкою; а в груповій хмарочосі кінцева точка сильного зв'язку може бути "групою", що складається з кількох клітинок в одному блоці. Таке розширення дозволяє застосовувати техніку хмарочос у більшій кількості сценаріїв.
Коли певний кандидат з'являється в кількох клітинках в одному рядку або стовпці, але деякі з цих клітинок знаходяться в одному блоці, ці клітинки можна розглядати як "групу". Після групування, якщо в рядку/стовпці залишається лише дві "позиції" (окрема клітинка або група), це формує груповий сильний зв'язок, який може поєднуватися з іншим сильним зв'язком для утворення групової хмарочосі.
Правила групової хмарочосі
Якщо два сильних зв'язки (принаймні один з яких є груповим сильним зв'язком) з'єднані через спільний рядок, стовпець або блок,
То клітинки, які одночасно "бачать" обидві вільні кінцеві точки, можуть видалити цього кандидата.
Перед читанням цієї статті рекомендується спочатку освоїти техніку Хмарочос (Skyscraper), щоб зрозуміти основну концепцію сильних зв'язків.
Аналіз прикладу: груповий сильний зв'язок у рядку
Розглянемо приклад групової хмарочосі з кандидатом 5.
Поточні дані поля
Згідно з даними кандидатів у форматі CSV81, зосередимося на розподілі кандидата 5:
Клітинки рядка 2:
- R2C1: Заповнено число 7 (задано)
- R2C2: Заповнено число 8
- R2C3: Кандидати {1, 3, 5}
- R2C4: Кандидати {1, 3, 6}
- R2C5: Кандидати {1, 6, 9}
- R2C6: Кандидати {3, 9}
- R2C7: Заповнено число 4 (задано)
- R2C8: Заповнено число 2 (задано)
- R2C9: Кандидати {1, 5, 6, 9}
Клітинки рядка 8:
- R8C1: Заповнено число 6
- R8C2: Заповнено число 4 (задано)
- R8C3: Кандидати {1, 5, 7}
- R8C4: Заповнено число 9 (задано)
- R8C5: Заповнено число 3
- R8C6: Заповнено число 8 (задано)
- R8C7: Кандидати {1, 5, 7}
- R8C8: Кандидати {1, 5}
- R8C9: Заповнено число 2 (задано)
Цільові клітинки для виключення (стовпець 9 та блок 9):
- R7C9: Кандидати {1, 3, 4, 5, 6}
- R9C9: Кандидати {1, 3, 4, 5, 7}
Процес аналізу
- R8C7 та R8C8 обидві знаходяться в блоці 9
- Ми можемо розглядати R8C7 та R8C8 як групу [R8C7,R8C8]
- Таким чином, кандидат 5 у рядку 8 знаходиться лише в двох "позиціях": R8C3 та [R8C7,R8C8]
Отже, R8C3 та група [R8C7,R8C8] формують груповий сильний зв'язок.
Слабкий зв'язок означає: якщо R2C3=5, то R8C3≠5 (виключення в одному стовпці), і навпаки.
- Сильний зв'язок 1: R2C3 — R2C9 (в рядку 2)
- Сильний зв'язок 2: R8C3 — [R8C7,R8C8] (в рядку 8, груповий сильний зв'язок)
- Слабкий зв'язок: R2C3 і R8C3 (в стовпці 3)
- Вільні кінцеві точки: R2C9 та [R8C7,R8C8]
- П'ятірка в рядку 2 знаходиться або в R2C3, або в R2C9
- Якщо R2C3=5, то R8C3≠5 (той самий стовпець), отже п'ятірка в рядку 8 повинна бути в [R8C7,R8C8]
- Якщо R2C3≠5, то R2C9=5
Висновок: у будь-якому випадку, принаймні одне з R2C9 або [R8C7,R8C8] містить 5.
- R7C9: В стовпці 9 (бачить R2C9) і в блоці 9 (бачить [R8C7,R8C8]) — видалити кандидата 5
- R9C9: В стовпці 9 (бачить R2C9) і в блоці 9 (бачить [R8C7,R8C8]) — видалити кандидата 5
Групова хмарочос: кандидат 5 у рядку 2 (R2C3-R2C9) формує звичайний сильний зв'язок, у рядку 8 (R8C3-[R8C7,R8C8]) формує груповий сильний зв'язок, з'єднаний через слабкий зв'язок у стовпці 3.
Дія: видалити кандидата 5 з R7C9, R9C9.
Детальне пояснення концепції групи
Розуміння "групи" є ключем до освоєння групової хмарочосі:
За яких умов можна сформувати групу?
- Вимога до блоку: Клітинки в групі повинні бути в одному блоці
- Той самий рядок або стовпець: Клітинки в групі повинні бути в одному рядку або одному стовпці (щоб разом брати участь у сильному зв'язку рядка/стовпця)
- Однакові кандидати: Кожна клітинка в групі повинна містити цього кандидата
Роль групи
Основна ідея групи полягає в тому, що: хоча в групі є кілька клітинок, вони розглядаються як єдине ціле у сильному зв'язку.
• Якщо кандидат знаходиться в групі, він обов'язково в якійсь клітинці групи, але ми не знаємо точно в якій
• Група може формувати сильний зв'язок з окремою клітинкою або іншою групою
• Група може формувати слабкий зв'язок з іншими клітинками в тому самому рядку/стовпці/блоці
"Поле зору" групи
Коли група виступає як вільна кінцева точка, вона "бачить" всі клітинки блоку, в якому знаходиться група:
- Група [R8C7,R8C8] знаходиться в блоці 9, тому вона "бачить" всі клітинки блоку 9
- Це включає R7C7, R7C8, R7C9, R8C7, R8C8, R8C9, R9C7, R9C8, R9C9
- Окрема кінцева точка R2C9 бачить всі клітинки рядка 2, стовпця 9, блоку 3
- Перетин цих двох є ціллю для виключення
Як знайти групову хмарочос?
Кроки для пошуку групової хмарочосі:
- Кандидат з'являється лише в 2 позиціях → звичайний сильний зв'язок
- Кандидат з'являється в 3 позиціях, але 2 з них в одному блоці → може сформувати груповий сильний зв'язок
- Клітинки в групі повинні бути в одному блоці, інакше не можна сформувати групу
- Після формування групи вимогою сильного зв'язку є те, що рядок/стовпець має лише дві "позиції"
- Слабкий зв'язок може з'єднуватися через той самий рядок, стовпець або блок
- При обчисленні діапазону виключення "поле зору" групи — це її блок
- Групову хмарочос важче знайти, ніж звичайну хмарочос, потрібно більше практики
Порівняння групової хмарочосі та звичайної хмарочосі
| Характеристика | Звичайна хмарочос | Групова хмарочос |
|---|---|---|
| Кінцеві точки сильного зв'язку | Всі є окремими клітинками | Принаймні одна є групою (кілька клітинок в одному блоці) |
| Вимоги до рядка/стовпця | Кандидат з'являється рівно в 2 клітинках | Кандидат може з'являтися в 3+ клітинках (після групування вважається 2 позиціями) |
| Поле зору вільної кінцевої точки | Рядок, стовпець, блок цієї клітинки | Блок, в якому знаходиться група |
| Складність розпізнавання | Висока | Дуже висока |
| Область застосування | Суворий розподіл кандидатів | Більш вільний розподіл кандидатів |
Підсумок техніки
Ключові моменти застосування техніки групова хмарочос:
- Умови розпізнавання: Два сильних зв'язки (принаймні один є груповим сильним зв'язком), з'єднані слабким зв'язком через той самий рядок/стовпець/блок
- Правила групування: Кілька клітинок в одному блоці і одному рядку/стовпці можуть розглядатися як одна "позиція"
- Формування структури: Два сильних зв'язки + один слабкий зв'язок + дві вільні кінцеві точки
- Правило виключення: Клітинки, які одночасно "бачать" обидві вільні кінцеві точки, можуть виключити цього кандидата
- Поле зору групи: Поле зору групової кінцевої точки — це весь її блок
Групова хмарочос — це досить складна техніка, рекомендується:
- Спочатку добре освоїти звичайну хмарочос
- При пошуку сильних зв'язків, якщо кандидат з'являється в рядку/стовпці 3 рази, перевірте, чи можна його згрупувати
- Зверніть увагу, що клітинки в групі повинні одночасно задовольняти умовам того самого блоку та того самого рядка/стовпця
- Використовуйте функцію підсвічування кандидатів, легше побачити патерн розподілу
Практикуйтесь зараз
Почніть гру в судоку експертного рівня, спробуйте використовувати техніку групова хмарочос! Рекомендується:
- Виберіть експертний рівень складності, групова хмарочос в основному з'являється в задачах високої складності
- Спочатку позначте всі кандидати, знайдіть всі сильні зв'язки
- Для кандидатів, що з'являються 3 рази в рядку/стовпці, перевірте, чи можна їх згрупувати
- Після знаходження групового сильного зв'язку шукайте інший сильний зв'язок, з'єднаний через той самий рядок/стовпець/блок