Як створюють головоломки судоку
Як генерується судоку: побудувати повну розв'язану сітку, потім прибирати підказки, перевіряючи, що розв'язок залишається унікальним.
Кожне судоку, яке ви граєте, було побудоване генератором, і розуміння процесу демістифікує головоломку. Воно відбувається у дві фази: спершу створити повністю заповнену коректну сітку, потім вирізати з неї підказки, доки не дійдете до головоломки, яка все ще однозначно розв'язувана, але не легша, ніж потрібно.
Наші головоломки створюються спільним рушієм із зерна (seed), тому одне й те саме зерно завжди дає однакову дошку — і тому тренувальні сітки в цій вікі є справжніми, згенерованими головоломками, а не прикладами, набраними вручну.
Крок 1: побудувати повний розв'язок
Генератор заповнює порожню сітку повним коректним розташуванням цифр — кожен рядок, стовпець і блок правильні. Це робиться рандомізованим заповненням із поверненням (backtracking), тож кожен запуск дає іншу завершену сітку.
Крок 2: прибрати підказки, перевіряючи унікальність
Потім підказки прибираються по одній. Після кожного видалення генератор перерозв'язує сітку, щоб підтвердити, що вона все ще має рівно один розв'язок; якщо видалення створило б другий розв'язок, цю підказку повертають. Ціль складності керує тим, скільки підказок вийде й які техніки розв'язання знадобляться.
- Заповнити повну коректну сітку (рандомізований backtracking).
- Прибирати підказки одну за одною, щоразу перевіряючи унікальність.
- Зупинитися, коли ціль складності досягнута, а розв'язок усе ще унікальний.
Поширені запитання
- Чому одне й те саме зерно завжди дає одну й ту саму головоломку?
- Рушій детермінований: зерно фіксує випадкові вибори, тож кожна генерація з цього зерна дає ідентичну сітку. Саме це дає змогу вбудувати в цю вікі відтворювані тренувальні головоломки.
- Як генератор знає, що головоломка складна?
- Він націлюється на кількість підказок і перевіряє, які техніки потрібні для розв'язання результату. Менше підказок і складніші необхідні висновки піднімають головоломку вгору драбиною складності.
Пов'язані матеріали
Докладніше
Тренуйтеся онлайн
Застосуйте це на безкоштовних головоломках із підказками, нотатками та чотирма рівнями складності.
Грати в судоку