Техніка Swordfish у Судоку: Розширення X-Wing до 3x3
Swordfish (Меч-риба) — це розширена версія техніки X-Wing, більш складний і потужний метод серед просунутих технік судоку. Назва походить від форми меч-риби, оскільки ця техніка охоплює три рядки та три стовпці, утворюючи більший візерунок, ніж X-Wing. Основна ідея полягає в тому, що коли кандидат з'являється лише в одних і тих самих трьох стовпцях у трьох рядках, цей кандидат можна виключити з інших клітинок цих трьох стовпців.
Якщо число з'являється в рядках A, B і C лише в певних позиціях стовпців X, Y і Z (у кожному рядку максимум у двох або трьох позиціях з цих трьох стовпців), то це число обов'язково займе певні позиції стовпців X, Y і Z у цих трьох рядках. Тому інші клітинки стовпців X, Y і Z (ті, що не в цих трьох рядках) не можуть містити це число.
Правило Swordfish
Якщо кандидат у трьох рядках разом з'являється лише в однакових трьох стовпцях,
тоді цей кандидат можна видалити з інших рядків цих трьох стовпців (тих, що не входять до трьох рядків Swordfish).
Перед читанням цієї статті рекомендуємо освоїти техніку X-Wing, оскільки Swordfish є її прямим розширенням.
Аналіз прикладу: Рядковий Swordfish
Розглянемо приклад Swordfish з кандидатом 4 у рядках 2, 4 і 8.
Поточні дані дошки
Згідно з даними кандидатів у форматі CSV81, зосередимося на розподілі кандидата 4 у рядках 2, 4 і 8:
Клітинки рядка 2:
- R2C1: Заповнене число 2 (задане)
- R2C2: Кандидати {1, 4}
- R2C3: Кандидати {1, 4}
- R2C4: Кандидати {5, 7}
- R2C5: Кандидати {6, 8}
- R2C6: Кандидати {6, 8}
- R2C7: Заповнене число 3 (задане)
- R2C8: Кандидати {5, 7}
- R2C9: Заповнене число 9 (задане)
Клітинки рядка 4:
- R4C1: Заповнене число 1 (задане)
- R4C2: Заповнене число 8 (задане)
- R4C3: Кандидати {2, 4}
- R4C4: Заповнене число 3
- R4C5: Кандидати {4, 5}
- R4C6: Заповнене число 9 (задане)
- R4C7: Кандидати {2, 5}
- R4C8: Заповнене число 6
- R4C9: Заповнене число 7 (задане)
Клітинки рядка 8:
- R8C1: Заповнене число 9 (задане)
- R8C2: Кандидати {1, 2, 4, 5, 7}
- R8C3: Кандидати {1, 2, 4}
- R8C4: Кандидати {1, 5, 7}
- R8C5: Кандидати {4, 5, 7}
- R8C6: Заповнене число 3 (задане)
- R8C7: Заповнене число 6 (задане)
- R8C8: Кандидати {2, 5, 7}
- R8C9: Заповнене число 8
Процес аналізу
- Рядок 2: Стовпець 2 ✓, Стовпець 3 ✓ (два стовпці)
- Рядок 4: Стовпець 3 ✓, Стовпець 5 ✓ (два стовпці)
- Рядок 8: Стовпець 2 ✓, Стовпець 3 ✓, Стовпець 5 ✓ (три стовпці)
Три рядки разом охоплюють лише стовпці 2, 3 і 5, що утворює візерунок Swordfish.
- R6C2: Кандидати {2, 4, 5}
- R7C2: Кандидати {1, 2, 4, 5, 6, 7}
- R9C2: Кандидати {2, 4, 5, 6, 7}
У стовпці 5, крім рядків 4 і 8, є інші клітинки з кандидатом 4:
- R6C5: Кандидати {1, 4, 8}
- R7C5: Кандидати {2, 4, 5, 6, 7}
- R6C2: Видаляємо кандидата 4 (залишається 2,5)
- R7C2: Видаляємо кандидата 4 (залишається 1,2,5,6,7)
- R9C2: Видаляємо кандидата 4 (залишається 2,5,6,7)
- R6C5: Видаляємо кандидата 4 (залишається 1,8)
- R7C5: Видаляємо кандидата 4 (залишається 2,5,6,7)
Swordfish: У рядках 2, 4 і 8 кандидат 4 розподілений лише в стовпцях 2, 3 і 5.
Дія: Видалити кандидата 4 з R6C2, R7C2, R9C2, R6C5 і R7C5.
Ключові характеристики Swordfish
1. Кожен рядок не обов'язково має з'являтися в усіх трьох стовпцях
Це важлива відмінність між Swordfish і X-Wing:
- X-Wing: У двох рядках кандидати кожного рядка точно з'являються в однакових двох стовпцях
- Swordfish: У трьох рядках кандидати кожного рядка можуть з'являтися в 2 або 3 з цих трьох стовпців, якщо разом вони не перевищують трьох стовпців
У наведеному прикладі рядок 2 має кандидата 4 лише в стовпцях 2 і 3, рядок 4 — лише в стовпцях 3 і 5, а рядок 8 — в стовпцях 2, 3 і 5. Хоча жоден рядок не має кандидата точно в двох стовпцях, три рядки разом охоплюють стовпці 2, 3 і 5, і цього достатньо для утворення Swordfish.
2. Кількість стовпців має точно дорівнювати кількості рядків
Swordfish вимагає три рядки і три стовпці (або три стовпці і три рядки):
- Якщо кандидат у трьох рядках охоплює лише два стовпці, це неповний візерунок і не може використовуватися як Swordfish
- Якщо кандидат у трьох рядках охоплює чотири стовпці, це також не утворює Swordfish
- Має бути точно співвідношення три-на-три
Дві форми Swordfish
Як і X-Wing, Swordfish має дві симетричні форми:
1. Рядковий Swordfish
Це випадок з прикладу вище:
- Об'єкт спостереження: Три рядки
- Характеристика візерунку: Кандидат у цих трьох рядках з'являється лише в однакових трьох стовпцях (або двох з них)
- Ціль виключення: Видалити цього кандидата з інших рядків цих трьох стовпців
2. Стовпцевий Swordfish
Форма протилежна, але принцип той самий:
- Об'єкт спостереження: Три стовпці
- Характеристика візерунку: Кандидат у цих трьох стовпцях з'являється лише в однакових трьох рядках (або двох з них)
- Ціль виключення: Видалити цього кандидата з інших стовпців цих трьох рядків
Рядковий Swordfish виключає зі стовпців, стовпцевий Swordfish виключає з рядків.
Це точно таке ж правило, як і X-Wing, тільки розширене з 2×2 до 3×3.
Як знайти Swordfish?
Знаходження Swordfish складніше, ніж X-Wing, і вимагає більш систематичного аналізу:
- Swordfish вимагає точно три рядки (або три стовпці) і охоплює точно три стовпці (або три рядки)
- Кандидат у кожному рядку може з'являтися в 2 або 3 стовпцях, але три рядки разом не можуть перевищувати три стовпці
- Якщо в рядку кандидат з'являється в 4 або більше позиціях, зазвичай він не підходить для Swordfish
- Swordfish дуже рідкісний; він не зустрічається в більшості головоломок судоку
- Пошук Swordfish займає багато часу; рекомендується спробувати його після використання всіх інших технік
Swordfish та інші техніки
X-Wing vs Swordfish
| Порівняння | X-Wing | Swordfish |
|---|---|---|
| Кількість рядків | 2 рядки (або 2 стовпці) | 3 рядки (або 3 стовпці) |
| Кількість стовпців | 2 стовпці (або 2 рядки) | 3 стовпці (або 3 рядки) |
| Характеристика візерунку | Кандидат у кожному рядку має бути точно в двох стовпцях | Кандидат у кожному рядку може бути в 2-3 стовпцях |
| Складність розпізнавання | Складно | Дуже складно |
| Частота появи | Іноді | Рідко |
Подальші розширення
Swordfish можна розширювати далі:
- Jellyfish (Медуза): Версія з чотирьох рядків і чотирьох стовпців
- Squirmbag: Версія з п'яти рядків і п'яти стовпців (надзвичайно рідкісна, майже ніколи не зустрічається)
Ці техніки мають той самий принцип, що й Swordfish, тільки з більшою кількістю рядків і стовпців, і складність розпізнавання зростає експоненціально.
Підсумок техніки
Ключові моменти для застосування техніки Swordfish:
- Суть: Візерунок X-Wing, розширений з 2×2 до 3×3
- Умова розпізнавання: Кандидат у трьох рядках (або стовпцях) разом охоплює лише три стовпці (або рядки)
- Гнучкість: Кожен рядок не обов'язково має мати кандидата в усіх трьох стовпцях, головне — три рядки разом покривають ці три стовпці
- Правило виключення: Рядковий Swordfish виключає зі стовпців, стовпцевий Swordfish виключає з рядків
- Сценарій застосування: Останній засіб, коли X-Wing та всі інші середні та базові просунуті техніки вичерпані
- Складність розпізнавання: Вимагає систематичного аналізу розподілу кандидатів у кількох рядках і стовпцях, дуже затратно за часом
- Частота появи: Дуже рідко; навіть більшість складних головоломок не потребують цього
Swordfish на практиці надзвичайно рідкісний і з'являється лише іноді в найскладніших експертних головоломках. Рекомендації:
- Спочатку використайте всі техніки середнього рівня та X-Wing
- Для аналізу вибирайте числа з найменшою кількістю кандидатів (наприклад, з 6-9 позиціями кандидатів)
- Використовуйте папір і ручку для запису розподілу кожного числа по рядках і стовпцях, щоб виявити комбінації три-на-три
- Деякі програми для судоку пропонують підказки Swordfish; ви можете використовувати ці інструменти для навчання
- Якщо після 30 хвилин спроб ви все ще не можете знайти, можливо, головоломка не вимагає Swordfish; перевірте, чи не пропустили ви простішу техніку
Практикуйте зараз
Почніть гру судоку експертного рівня і спробуйте використати техніку Swordfish! Рекомендації:
- Виберіть найвищу складність; тільки експертні головоломки можуть потребувати Swordfish
- Переконайтеся, що ви вже освоїли техніку X-Wing
- Систематично аналізуйте кожного кандидата, шукаючи візерунки три-на-три
- Будьте терплячі; Swordfish дуже рідкісний і його важко знайти