Поради

Техніка Swordfish у Судоку: Розширення X-Wing до 3x3

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

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

Основний принцип:
Якщо число з'являється в рядках A, B і C лише в певних позиціях стовпців X, Y і Z (у кожному рядку максимум у двох або трьох позиціях з цих трьох стовпців), то це число обов'язково займе певні позиції стовпців X, Y і Z у цих трьох рядках. Тому інші клітинки стовпців X, Y і Z (ті, що не в цих трьох рядках) не можуть містити це число.

Правило Swordfish

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

Перед читанням цієї статті рекомендуємо освоїти техніку X-Wing, оскільки Swordfish є її прямим розширенням.

Діаграма принципу Swordfish
Принцип Swordfish: кандидати розподілені в 3 рядках і 3 стовпцях, утворюючи візерунок меч-риби, червоні стрілки показують напрямки виключення

Аналіз прикладу: Рядковий Swordfish

Розглянемо приклад Swordfish з кандидатом 4 у рядках 2, 4 і 8.

Приклад техніки Swordfish у судоку
Рисунок: Кандидат 4 у рядках 2, 4 і 8 утворює візерунок Swordfish
Відкрити цей приклад у калькуляторі

Поточні дані дошки

Згідно з даними кандидатів у форматі 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

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

1 Досліджуємо рядок 2: У рядку 2 кандидат 4 з'являється лише в двох позиціях: R2C2 (кандидати 1,4) і R2C3 (кандидати 1,4). Тобто стовпець 2 і стовпець 3.
2 Досліджуємо рядок 4: У рядку 4 кандидат 4 також з'являється лише в двох позиціях: R4C3 (кандидати 2,4) і R4C5 (кандидати 4,5). Тобто стовпець 3 і стовпець 5.
3 Досліджуємо рядок 8: У рядку 8 кандидат 4 з'являється в трьох позиціях: R8C2 (кандидати 1,2,4,5,7), R8C3 (кандидати 1,2,4) і R8C5 (кандидати 4,5,7). Тобто стовпці 2, 3 і 5.
4 Виявляємо візерунок Swordfish: Кандидат 4 у рядках 2, 4 і 8 з'являється лише в стовпцях 2, 3 і 5:
  • Рядок 2: Стовпець 2 ✓, Стовпець 3 ✓ (два стовпці)
  • Рядок 4: Стовпець 3 ✓, Стовпець 5 ✓ (два стовпці)
  • Рядок 8: Стовпець 2 ✓, Стовпець 3 ✓, Стовпець 5 ✓ (три стовпці)

Три рядки разом охоплюють лише стовпці 2, 3 і 5, що утворює візерунок Swordfish.

5 Розуміємо логіку: Оскільки кандидат 4 у рядках 2, 4 і 8 може бути лише в стовпцях 2, 3 і 5, ці три четвірки обов'язково займуть певні позиції цих трьох стовпців у цих трьох рядках. Незалежно від конкретного розподілу, кандидат 4 у стовпцях 2, 3 і 5 зайнятий рядками 2, 4 і 8.
6 Визначаємо цілі виключення: У стовпці 2, крім рядків 2 і 8, є інші клітинки з кандидатом 4:
  • 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}
7 Виконуємо виключення: Отже, клітинки в стовпцях 2 і 5, крім рядків 2, 4 і 8, не можуть містити 4. Зокрема:
  • 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, і вимагає більш систематичного аналізу:

1 Виберіть кандидата: Зосередьтеся на одному кандидаті (1-9), рекомендується вибирати числа з меншою кількістю позицій кандидатів.
2 Знайдіть рядки (або стовпці) з малою кількістю позицій кандидатів: Визначте рядки (або стовпці), де цей кандидат з'являється лише в 2-3 клітинках.
3 Шукайте комбінацію з трьох рядків: Перевірте, чи є три рядки, кандидати яких разом охоплюють лише три стовпці (кожен рядок може мати 2 або 3 з цих трьох стовпців).
4 Підтвердіть візерунок Swordfish: Якщо знайдено таку комбінацію три-на-три, утворюється візерунок Swordfish.
5 Виконайте виключення: Видаліть цього кандидата з інших клітинок відповідних стовпців (або рядків).
Важливі примітки:
  • 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 дуже рідкісний і його важко знайти