Приклад вирішення проблем - найскладніший судоку
Ось які відомості я знайшов про це надскладне варіанті в інтернеті:
За його словами, створений ним кросворд неможливо вирішити за допомогою однієї лише тільки логіки. Арто Інка стверджує, що навіть найдосвідченіші гравці на рішення витратять щонайменше кількох днів. Винахід професора отримало назву AI Escargot (AI - ініціали вченого, Escargot - від англ. «Равлик»).
Для вирішення цього непростого завдання, як стверджує Арто Інка, в голові одночасно потрібно тримати вісім послідовностей, на відміну від звичайних головоломок, де пам'ятати потрібно про одну-двох послідовностях.
Ну, "послідовності переборовши" - це все ж віддає машинним варіантом вирішення проблем, а ті, хто вирішував завдання Арто Інка за допомогою власних мізків, говорять про це по-різному. Хтось вирішував її пару місяців, хтось оголосив про те, що на це треба було лише 15 хвилин. Ну що ж, чемпіон світу з шахів можливо і впорався б із завданням за такий час, а екстрасенс, якщо такі мешкають на нашій плані, можливо і ще швидше. А ще міг швидко вирішити задачу той, хто випадково з першого разу підібрав кілька вдалих цифр для заповнення порожніх клітинок. Скажімо, одному з тисячі решателей завдання могло б подібним чином і повезти.
Так ось, про перебір: якщо вдало вибрати дві три правильних цифри, то перебирати вісім послідовностей (а це десятки варіантів) може і не знадобитися. Таке у мене було міркування, коли я вирішив приступити до вирішення зазначеного завдання. Для початку я, будучи вже підготовленим в рамках методик попередніх статей, вирішив забути про те, що знав досі. Є такий прийом, що полягає в тому, що пошук рішення повинен протікати вільно, без нав'язаних йому схем та ідей. А ситуація для мене була новою, так що потрібно на неї і по-новому поглянути. Я розташував (в Ексель) вихідну таблицю (праворуч) і робочу таблицю, про сенс якої я вже мав нагоду розповісти в першій про судоку моєї статті:
Робоча таблиця, нагадаю, містить попередньо допустимі поєднання цифр в початково порожніх осередках.
Після звичайної майже рутинної обробки таблиць ситуації трохи спростилася:
Цю ситуацію я і почав вивчати. Ну а оскільки я вже призабув, як саме я вирішував цю задачу кількома днями раніше, то починаю осмислювати її за новою. Перш за все, я звернув увагу на два числа 67 в осередках четвертого блоку і поєднав їх з механізмом обертання (переміщення) осередків, про який розповідав у попередній статті. Перебравши всі варіанти обертання трьох перших шпальт таблиці, я прийшов до висновку, що цифри 6 і 7 не можуть перебувати в одному стовпці і не можуть обертатися асинхронно, вони, в процесі обертання, можуть лише слідувати одна за одною. Також, якщо придивитися, сімка з четвіркою як би пересуваються синхронно за всіма трьома стовпцями. Тому я роблю правдоподібне припущення, що в нижній лівій клітинці блоку 4 повинна розміститися цифра 7, а в правій верхній - відповідно 6.
Але цей результат я поки приймаю лише як можливий орієнтир в випробуванні інших варіантів. А основна увага я звертаю на число 59 в осередку 4-го блоку. Тут може бути або цифра 5, або 9. Дев'ятка обіцяє знищити дуже багато зайвих цифр, тобто спростити подальший хід вирішення завдання, і я починаю з цього варіанту. Але досить швидко заходжу в "глухий кут", тобто далі треба знову робити якийсь вибір і хтозна, як довго мій вибір буде перевірятися. Я припускаю, що якби дев'ятка дійсно була колись правильним вибором, то Інка навряд чи б залишив такий очевидний варіант на увазі, хоча механізм його програми міг і припустити подібний ляпсус. Загалом, так чи інакше, я вирішив спочатку досконально перевірити варіант з цифрою 5 в осередку з числом 59.
Але вже пізніше, коли вирішив задачу, я, так би мовити для очищення совісті, все ж повернувся до варіанту з цифрою 9, щоб визначити як довго довелося б його перевіряти. Перевіряти довелося не дуже довго. Коли у мене в правій верхній клітинці блоку 4 виявилася цифра 6, як і належало за попередньо обраному орієнтиру, то в правій середньому осередку виникло число 19 (прибрала 6 з 169). Я вибрав для подальшого випробування цифру 9 в цьому осередку і швидко прийшов до суперечливого результату, тобто вибір дев'ятки не вірний. Тоді вибираю цифру 1 і знову перевіряю, що з цього вийде.
На якомусь етапі приходжу до ситуації:
де знову доводиться робити вибір - цифру 2 або 8 у верхній середньому осередку блоку 4. Перевіряю обидва варіанти (2 і 8) і в обох випадках закінчую суперечливим (що не відповідає умові судоку) результатом. Так що міг би перевірити варіант з цифрою 9 в середній нижній осередку блоку 4 з самого початку і багато часу на це не було б потрібно. Але я все ж, як уже говорив, зупинився на цифрі 5 в згаданій осередку. Це привело мене до наступного результату:
Розташування цифр 4 і 7 в перших трьох стовпцях (колонках) свідчить про те, що вони обертаються синхронно, що власне і передбачалося при виборі цифри 7 для нижньої лівої комірки 4-го блоку. При цьому двійка або дев'ятка, будь кожна з них необхідної цифрою в середній лівої осередку цього блоку, повинні відповідно рухатися асинхронно парі 4 і 7. Перевага в даному випадку я віддав цифрі 2, так як вона "обіцяла" усунути багато зайвих цифр з чисел осередків і, відповідно, швидку перевірку допустимості даного варіанту. А дев'ятка швидко заводила в глухий кут - вимагала підбору нових цифр. Таким чином, в лівій середньому осередку блоку з числом 29 я проставив не мій погляд більш зручній з цифр - 2. Результат вийшов такий:
Далі мені довелося ще раз зробити так сказати полупроізвольний вибір: вибрав двійку в осередку з числом 26 в дев'ятому блоці. Для цього достатньо було помітити, що 5 і 2 в трьох нижніх рядках обертаються синхронно, так як 5 Не оберталася синхронно ні з 1, ні з 6. Правда, синхронно могли обертатися ще 2 і 1, але з якихось міркувань - точно не пам'ятаю - я вибрав 2 замість числа 26, можливо тому, що цей варіант, за моєю оцінкою, швидко перевірявся. Втім, вже залишалося трохи варіантів, і можна було досить швидко перевірити будь-який з них. Можна було також замість варіанту з двійкою припустити, що цифри 7 і 8 обертаються синхронно в останніх трьох шпальтах (колонках), а звідси випливало, що в лівій верхній клітинці 9-го блоку могла бути тільки цифра 8, що також призводить до швидкого розв'язання задачі .
А в іншому - бажаю вам успіхів у вирішенні всіх проблем.