# Основні техніки для розв’язання судоку

Ці техніки значно допоможуть вам розв’язувати судоку швидко, незалежно від рівня складності.

import { YouTube } from "../../fe/src/components/YouTubeEmbed";

Існує кілька різних технік і стратегій, які можна використовувати для розв’язання головоломок судоку. Ось деякі найпоширеніші:

## Вилучення кандидатів

<YouTube id="Xa13k7a9wos" />

Для кожної порожньої клітинки в сітці судоку проаналізуйте числа в тому самому рядку, стовпці та блоці, щоб вилучити числа, які вже присутні. Решта чисел стає можливими кандидатами для цієї клітинки.

Базова й проста стратегія, яку можна застосовувати на ранніх етапах головоломки, щоб вилучити некоректні кандидати та звузити можливості.

Може бути виснажливою та неефективною в більш складних головоломках, де потрібні просунутіші стратегії.

## Єдиний кандидат

<YouTube id="Tc7tLelw9ug" />

У певному рядку, стовпці або блоці, якщо існує лише одне число, яке може бути кандидатом для конкретної клітинки, це число потрібно поставити саме туди.

Ефективна стратегія для знаходження та встановлення числа, коли для нього є лише одне можливе місце.

Обмежена окремими клітинками й сама по собі не може розв’язати складніші головоломки.

## Нага Пари/Трійки/Четвірки

<YouTube id="dCf1b3ZeKdg" />

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

Вилучає можливі кандидати, виявляючи спільні набори чисел у пов’язаних рядках, стовпцях і блоках.

Потребує, щоб дві або більше клітинок містили точно такі самі можливі кандидати, що трапляється рідко.

## Приховані одиночні

Якщо в рядку, стовпці або блоці для певного числа лишається лише одне місце, це число треба поставити туди.

Швидкий спосіб знаходити та встановлювати числа, коли для конкретного числа залишається тільки одне можливе місце.

Потребує уважного перегляду кожного рядка, стовпця та блока, щоб знайти «самотні» можливі кандидати.

## X-Wing

<YouTube id="ooMuXjuOF1E" />

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

Вилучає можливі кандидати, визначаючи патерни, що включають два рядки й два стовпці, де певне число можна розмістити.

Потребує наявності патерна, що охоплює два рядки й два стовпці; це може траплятися не дуже часто.

## Swordfish

<YouTube id="_pqEqn_E57A" />

Розширення техніки X-Wing: є три рядки та три стовпці, де лише дев’ять конкретних клітинок містять можливі кандидати для певного числа. Це може вилучити це число з інших клітинок у цих рядках і стовпцях.

Обмежує можливі кандидати, визначаючи патерни, що охоплюють три рядки й три стовпці, де певне число можна розмістити.

Знайти складніше, ніж X-Wing, бо потрібно, щоб три рядки й три стовпці мали однаковий патерн.

## Jellyfish

<YouTube id="AsTVGxpJZEg" />

Розширення техніки Swordfish: є чотири рядки та чотири стовпці, де лише шістнадцять конкретних клітинок містять можливі кандидати для певного числа. Це може вилучити це число з інших клітинок у цих рядках і стовпцях.

Визначає патерни, що охоплюють чотири рядки й чотири стовпці, де певне число можна розмістити, додатково звужуючи можливості.

Рідко трапляються патерни, що охоплюють чотири рядки й чотири стовпці.

## Зворотний хід (Backtracking)

Коли неможливо зробити жодних логічних висновків, можна застосувати backtracking. Він полягає в тому, щоб зробити припущення для порожньої клітинки та спробувати розв’язати решту головоломки. Якщо це призводить до неправильного розв’язку, потрібно повернутися назад (backtrack) і спробувати інше припущення. Продовжуйте, доки головоломка не буде розв’язана.

Ці техніки можна використовувати в поєднанні, щоб розв’язувати судоку різного рівня складності. Застосовуючи логіку та стратегії, сітку можна поступово заповнювати, доки вона не буде правильно завершена.

Застосовується, коли інші логічні висновки вже більше не працюють, і дозволяє робити припущення, щоб рухатися далі.

Може бути витратним у часі та вимагає перевірки різних припущень, щоб знайти правильний розв’язок. Якщо припущення приводить до неправильного розв’язку, ви маєте backtrack і спробувати інше.

## Підсумок

Коли неможливо зробити жодних логічних висновків, можна застосувати backtracking. Він полягає в тому, щоб зробити припущення для порожньої клітинки та спробувати розв’язати решту головоломки. Якщо це призводить до неправильного розв’язку, потрібно повернутися назад (backtrack) і спробувати інше припущення.

Це лише деякі з найпоширеніших технік для розв’язання судоку. Рівень складності конкретної головоломки може вимагати застосування більш просунутих стратегій або комбінацій кількох технік. Також можна використовувати комп’ютерні програми або застосунки, які автоматично розв’язують судоку, застосовуючи різні алгоритми та стратегії.

Пам’ятайте: різні техніки краще працюють у різних ситуаціях і на різних рівнях складності. Поєднуючи кілька технік, ви підвищуєте шанси на розв’язання навіть складного судоку.
