Логические головоломки. Как играть в судоку: пошаговое решение головоломки

Первое, с чем следовало бы определиться в методологии решения проблем, это вопрос собственно понимания того, чего мы достигаем и можем достигнуть в вопросах решения проблем. Понимание обычно мыслится как нечто само собой разумеющееся, и мы упускаем из виду тот момент, что понимание имеет определенную начальную точку отсчета понимания, лишь относительно которой мы можем говорить о том, что понимание действительно имеет место с определенного нами конкретного момента. Судоку здесь, в нашем рассмотрении, удобна тем, что позволяет на ее примере в некоторой мере смоделировать вопросы понимания и решения проблем. Однако начнем мы с несколько иных и не менее важных, чем судоку, примеров.

Физик, изучающий специальную теорию относительности, может говорить о "кристально ясных" положениях Эйнштейна. Такое словосочетание мне встретилось на одном из сайтов в интернете. Но с чего начинается это понимание "кристальной ясности". Оно начинается с усвоение математической записи постулатов, из которых могут строиться по известным и понятным правилам все многоэтажные математические конструкции СТО. Но чего не понимает физик, как и я, это почему работают постулаты СТО именно так, а не иначе.

Прежде всего, подавляющее большинство обсуждающих это учение не понимают, что именно заключается в постулате постоянства скорости света в переложении из математического его применения на реальность. А этот постулат подразумевает постоянство скорости света во всех мыслимых и не мыслимых смыслах. Скорость света постоянна относительно любых покоящихся и движущих объектов разом. Скорость луча света, согласно постулату, постоянна даже относительно встречного, поперечного и удаляющегося луча света. А, при этом, реально мы имеем лишь замеры, косвенно связанные со скоростью света, интерпретируемые как ее постоянство.

Законы Ньютона для физика и даже для просто изучающих физику столь привычны, что представляются настолько понятными, как нечто само собой разумеющееся и иного быть не может. Но, скажем, применение закона всемирного тяготения начинается с его математической записи, по которой можно рассчитать даже траектории космических объектов и характеристики орбит. Но почему эти законы работают именно так, а не иначе – такого понимания у нас нет.

Аналогично и судоку. В интернете можно найти многократно повторяющиеся описания "базовых" способов решения задач судоку. Если запомнить эти правила, то можно понимать как решается та или иная задача судоку посредством применения "базовых" правил. Но у меня вопрос: а понимаем ли мы, почему эти "базовые" способы срабатывают именно так, а не иначе.

Итак, мы переходим к следующему ключевому положению в методологии решения проблем. Понимание возможно только на основе какой-то модели, предоставляющей базу для этого понимания и возможность произвести некоторый натурный или мысленный эксперимент. Без этого мы можем иметь лишь правила применения заученных исходных положений: постулатов СТО, законов Ньютона или "базовых" способов в судоку.

У нас нет и в принципе не может быть моделей, удовлетворяющих постулату ничем не ограничиваемого постоянства скорости света. У нас нет, но могут быть придуманы недоказуемые модели, согласующиеся с законами Ньютона. И такие "ньютоновские" модели есть, но они как-то не впечатляют продуктивными возможностями для проведения натурного или мысленного эксперимента. Зато судоку предоставляет нам такие возможности, которые мы можем использовать и для понимания собственно задач судоку, и для иллюстрации моделирования, как общего подхода в решении проблем.

Одна из возможных моделей задач судоку – это рабочая таблица. Создается она простым заполнением всех пустых клеток (ячеек) заданной в задаче таблицы числами 123456789. Далее задача сводится к последовательному удалению всех лишних цифр из ячеек до тех пор, пока все клетки таблицы будут заполнены единичными (эксклюзивными) цифрами, удовлетворяющими условию задачи.

Я создаю такую рабочую таблицу в Excel. Сначала выделяю все пустые ячейки (клетки) таблицы. Нажимаю F5-"Выделить"-"Пустые ячейки"-"OK". Более общий способ выделения нужных ячеек: удерживаю Ctrl и кликом мышки выделяю эти ячейки. Затем для выделенных ячеек устанавливаю синий цвет, размер 10 (исходный – 12) и шрифт Arial Narrow. Это все для того, чтобы хорошо просматривались последующие изменения в таблице. Далее я ввожу в пустые клетки числа 123456789. Делаю это следующим образом: записываю и сохраняю это число в отдельной ячейке. Затем нажимаю на F2, выделяю и копирую это число операцией Ctrl+C. Далее перехожу к ячейкам таблицы и, последовательно обходя все пустые ячейки, ввожу в них число 123456789 операцией Ctrl+V, и рабочая таблица готова.

Лишние цифры, о которых будет речь далее, я удаляю следующим образом. Операцией Ctrl+клик мышкой - выделяю ячейки с лишней цифрой. Затем нажимаю Ctrl+H и в верхнее поле открывшегося окошка ввожу удаляемую цифру, а нижнее поле должно быть совершенно пустым. Далее остается щелкнуть по опции "Заменить все" и лишняя цифра удалена.

Судя по тому, что мне обычно удается сделать более продвинутую обработку таблиц обычными "базовыми" способами, чем в примерах, приводимых в интернете, рабочая таблица является наиболее простым инструментом в решении задач судоку. Более того, многие ситуации, касающиеся применения наиболее сложных из так называемых "базовых" правил, у меня в рабочей таблице попросту не возникали.

В то же время, рабочая таблица – это и модель, на которой можно провести эксперименты с последующим выявлением всех "базовых" правил и разных нюансов их применения, вытекающего из экспериментов.

Итак, перед вами фрагмент рабочей таблицы с девятью блоками, нумеруемыми слева-направо и сверху-вниз. В данном случае у нас заполнен цифрами 123456789 четвертый блок. Это и есть наша модель. Вне блока красным цветом мы выделили "активированные" (окончательно определенные) цифры, в данном случае четверки, которые намерены подставить в оформляемую таблицу. Голубые пятерки – это пока не определенные относительно их дальнейшей роли цифры, о которых после поговорим. Назначенные нами активированные цифры как бы вычеркивают, выталкивают, удаляют – в общем, вытесняют одноименные цифры в блоке, поэтому там они представлены бледным цветом, символизирующим тот факт, что эти бледные цифры удалены. Хотел было сделать этот цвет еще бледнее, но тогда они могли бы стать вообще не заметными при просмотре в интернете.

В итоге в четвертом блоке в ячейке E5 оказалась одна, тоже активированная, но скрытая четверка. "Активированная" потому, что она, в свою очередь тоже может удалять лишние цифры, если таковые окажутся на ее пути, а "скрытая" потому, что она находится среди других цифр. Если ячейку E5 атаковать остальными, кроме 4, активированными цифрами 12356789, то в E5 возникнет "голая" одиночка – 4.

Теперь уберем одну активированную четверку, например из F7. Тогда четверка в заполненном блоке может оказаться уже и только в ячейке E5 или F5, оставаясь при этом активированной в строке 5. Если к этой ситуации привлечь активированные пятерки, без F7=4 и F8=5, то в ячейках E5 и F5 возникнет голая или скрытая активированная пара 45.

После того как вы в достаточной мере отработаете и осмыслите разные варианты с голыми и скрытыми одиночками, двойками, тройками и т.д. не только в блоках, но и в строках и столбцах, мы можем перейти к еще одному эксперименту. Создадим голую пару 45, как было сделано раньше, а потом подключим активированные F7=4 и F8=5. В результате возникнет ситуация E5=45. Подобные ситуация очень часто возникает в процессе обработки рабочей таблицы. Такая ситуация означает, что одна из этих цифр, в данном случае 4 или 5, обязательно должна находиться в блоке, строке и столбце, включающих в себя ячейку E5, потому что во всех этих случаях должны присутствовать две цифры, а не одна из них.

А главное, мы теперь уже знаем, каким образом возникают часто встречающиеся ситуации, подобные E5=45. Подобным же образом определимся с ситуациями, когда в одной ячейке возникает тройка цифр и т.п. И когда мы доведем степень осмысления и восприятия этих ситуаций до состояния самоочевидности и простоты, тогда следующий шаг – это уже, так сказать, научное осмысление ситуаций: мы тогда сможем делать статистический анализ таблиц судоку, выявлять закономерности и использовать наработанный материал для решения самых сложнейших задач.

Таким образом, экспериментируя на модели, мы получаем наглядное и даже "научное" представление относительно скрытых или открытых одиночек, пар, троек и т.д. Если вы ограничитесь только операциями с описанной простой моделью, то некоторые ваши представления окажутся неточными или даже ошибочными. Однако как только вы перейдете к решению конкретных задач, то неточности первоначальных представлений быстро выявятся, ну а модели, на которых проводились эксперименты, придется переосмыслить и уточнить. Таков неизбежный путь гипотез и уточнений в решении любых проблем.

Надо сказать, что скрытые и открытые одиночки, а также открытые пары, тройки и даже четверки, – это обычные ситуации, возникающие при решении задач судоку с рабочей таблицей. Скрытые пары случались редко. А вот скрытые тройки, четверки и т.д. мне при обработке рабочих таблиц как-то не попадались, так же, как и многократно описанные в интернете методы обхода контуров "x-wing" и "рыба-меч", при которых возникают "кандидаты" на удаление при любом из двух альтернативных способов обхода контуров. Смысл этих способов: если уничтожаем "кандидата" х1, то остается эксклюзивный кандидат х2 и при этом удаляется кандидат х3, а если уничтожаем х2, то остается эксклюзивный х1, но и в этом случае удаляется кандидат х3, так что в любом случае следует удалить х3, не затрагивая пока кандидатов х1 и х2. В более общем плане, это частный случай ситуации: если два альтернативных способа приводят к одному и тому же результату, то этот результат может использоваться для решения задачи судоку. В таком, более общем, плане ситуации мне встречались, но не в варианте "x-wing" и "рыба-меч" и не при решении задач судоку, для которых достаточно знания лишь "базовых" подходов.

Особенности применения рабочей таблицы можно показать на следующем нетривиальном примере. На одном из форумов решателей судоку http://zforum.net/index.php?topic=3955.25;wap2 мне встретилась задача, представленная как одна из сложнейших задач судоку, не решаемая обычными способами, без применения перебора с допущениями относительно подставляемых в ячейки цифр. Покажем, что с рабочей таблицей можно решить эту задачу без подобного перебора:

Справа исходная задача, слева рабочая таблица после "вычеркивания", т.е. рутинной операции удаления лишних цифр.

Сначала договоримся об обозначениях. ABC4=689 означает, что в ячейках A4, B4 и C4 находятся цифры 6, 8 и 9 – по одной или по несколько цифр на ячейку. Со строками аналогично. Так, B56=24 означает, что в ячейках В5 и В6 находятся цифры 2 и 4. Знак ">" – это знак обусловленного действия. Так, D4=5>I4-37 означает, что вследствие сообщения D4=5 следует поместить число 37 в ячейку I4. Сообщение может быть явным – "голым" – и скрытым, которое следует выявить. Воздействие сообщения может быть последовательным (передаваться опосредованно) по цепочке и параллельным (воздействовать непосредственно на другие ячейки). Например:

D3=2; D8=1>A9-1>A2-2>A3-4,G9-3; (D8=1)+(G9=3)>G8-7>G7-1>G5-5

Эта запись означает, что D3=2, но этот факт нужно выявить. D8=1 передает A3 свое воздействие по цепочке и в A3 следует записать 4; одновременно D3=2 воздействует непосредственно на G9, что приводит к результату G9-3. (D8=1)+(G9=3)>G8-7 – совместное воздействие факторов (D8=1) и (G9=3) приводит к результату G8-7. И т.п.

В записях может также встретиться сочетание типа H56/68. Оно означает, что в ячейках H5 и H6 запрещены цифры 6 и 8, т.е. их следует из этих ячеек удалить.

Итак, начинаем работу с таблицей и для начала применяем хорошо проявленное, заметное условие ABC4=689. Это означает, что во всех остальных (кроме A4, B4 и C4) ячейках блока 4 (средний, левый) и 4-й строки должны быть удалены цифры 6, 8 и 9:

Аналогичным образом применяем B56=24. В совокупности имеем D4=5 и (после D4=5>I4-37) HI4=37, а также (после B56=24>C6-1) C6=1. Применим это к рабочей таблице:

В I89=68скрытая>I56/68>H56-68: т.е. в ячейках I8 и I9 находится скрытая пара цифр 5 и 6, которая запрещает нахождение этих цифр в I56, что приводит к результату H56-68. Этот фрагмент мы можем рассмотреть по другому, подобно тому, как это делали в экспериментах на модели рабочей таблицы: (G23=68)+(AD7=68)>I89-68; (I89=68)+(ABC4=689)>H56-68. То есть, двусторонняя "атака" (G23=68) и (AD7=68) приводит к тому, что в I8 и I9 могут находиться только цифры 6 и 8. Далее (I89=68) подключается к "атаке" на H56 совместно с предыдущими условиями, что и приводит к H56-68. Дополнительно к этой "атаке" подключается (ABC4=689), что в данном примере выглядит излишним, однако если бы мы работали без рабочей таблицы, то фактор воздействия (ABC4=689) оказался бы скрытым, и вполне уместным было бы обратить на него внимание специально.

Следующее действие: I5=2>G1-2,G6-9,B6-4,B5-2.

Надеюсь, оно уже понятно без комментариев: подставляйте цифры, которые стоят после тире, не ошибетесь:

H7=9>I7-4; D6=8>D1-4,H6-6>H5-8:

Следующая серия действий:

D3=2; D8=1>A9-1>A2-2>A3-4,G9-3;

(D8=1)+(G9=3)>G8-7>G7-1>G5-5;

D5=9>E5-6>F5-4:

I=4>C9-4>C7-2>E9-2>EF7-35>B7-7,F89-89,

то есть, в результате "вычеркивания" – удаления лишних цифр – в ячейках F8 и F9 возникает открытая, "голая" пара 89, которую, вместе с другими результатами, указанными в записи, применяем к таблице:

H2=4>H3-1>F2-1>F1-6>A1-3>B8-3,C8-5,H1-7>I2-5>I3-3>I4-7>H4-3

Их результат:

Затем следуют довольно рутинные, очевидные действия:

H1=7>C1-8>E1-5>F3-7>E2-9>E3-8,C3-9>B3-5>B2-6>C2-7>C4-6>A4-9>B4-8;

B2=6>B9-9>A8-6>I8-8>F8-9>F9-8>I9-6;

E7=3>F7-5,E6-7>F6-3

Их результат: окончательное решение задачи:

Так или иначе, будем считать, что с "базовыми" способами в судоку или в иных областях интеллектуального приложения мы разобрались на основе подходящей для этого модели и даже научились их применять. Но это лишь часть нашего продвижения в методологии решения проблем. Далее, повторюсь, следует не всегда учитываемый, но непременный этап доведения предварительно усвоенных способов до состояния простоты их применения. Решение примеров, осмысливание результатов и способов этого решения, переосмысливание этого материала на основе принятой модели, снова продумывание всех вариантов с доведением степени их понимания до автоматизма, когда решение с применением "базовых" положений становится рутинных и исчезает как проблема. Что это дает: это каждый должен прочувствовать на своем опыте. А суть в том, что когда проблемная ситуация становится рутинной, то поисковый механизм интеллекта направляется к освоению все более сложных положений в области решаемых проблем.

А что такое "более сложные положения"? Это всего лишь новые "базовые" положения в решении проблемы, понимание которых, в свою очередь, тоже можно довести до состояния простоты, если найти для этой цели подходящую модель.

В статье Василенко С.Л. "Числовая гармония Судоку" я нахожу пример задачи с 18 симметричными ключами:

Относительно этой задачи утверждается, что она может быть решена с применением "базовых" приемов только до некоторого состояния, после достижения которого остается лишь применить простой перебор с пробной подстановкой в ячейки некоторых предполагаемых эксклюзивных (единичных, одиночных) цифр. Это состояние (продвинутое чуть далее, чем в примере Василенко) имеет вид:

Такая модель есть. Это своеобразный механизм вращения выявленных и не выявленных эксклюзивных (единичных) цифр. В простейшем случае, некоторая тройка эксклюзивных цифр вращается в правом или левом направлении, переходя этой группой от строки к строке или от столбца к столбцу. В целом же, при этом вращаются в каком-то одном направлении три группы троек цифр. В более сложных случаях, три пары эксклюзивных цифр вращается в одном направлении, а тройка одиночек вращается в противоположном направлении. Так, например, происходит вращение эксклюзивных цифр в первых трех строках рассматриваемой задачи. И, что самое здесь важное, это своеобразное вращение можно заметить, рассматривая расположение цифр в обработанной рабочей таблице. Этих сведений пока достаточно, а другие нюансы модели вращения мы поймем в процессе решения задачи.

Итак, в первых (верхних) трех строках (1, 2 и3) мы можем заметить вращение пар (3+8) и (7+9), а также (2+х1) с неизвестным х1 и тройка одиночек (х2+4+1) с неизвестным х2. При этом, мы можем обнаружить, что каждое из х1 и х2 могут быть либо 5, либо 6.

В строках 4, 5 и 6 просматриваются пары (2+4) и (1+3). Должна быть также 3-я неизвестная пара и тройка одиночек из которых известна лишь одна цифра 5.

Аналогичным образом просматриваем строки 789, затем тройки столбцов ABC, DEF и GHI. Собранную информацию мы запишем в символическом и, надеюсь, достаточно понятном виде:

Пока нам эта информация нужна только для понимания общей ситуации. Тщательно продумайте ее и тогда мы сможем далее продвинуться вперед к следующей специально подготовленной для этого таблице:

Цветами я выделил альтернативные варианты. Голубой цвет означает "разрешено", а желтый – "запрещено". Если, скажем, разрешено в A2=79 разрешено A2=7, то C2=7 – запрещено. Или наоборот – разрешено A2=9, запрещено C2=9. А далее разрешения и запрещения передаются по логической цепочке. Такая расцветка сделана для того, чтобы было проще просматривать разные альтернативные варианты. В общем, это некоторая аналогия упомянутым ранее способов "x-wing" и "рыба-меч" при обработке таблиц.

Просматривая вариант B6=7 и, соответственно, B7=9, мы можем обнаружить сразу два момента, несовместимых с этим вариантом. Если B7=9, то в строках 789 возникает синхронно вращающаяся тройка, что недопустимо, так как синхронно (в одном направлении) могут вращаться либо только три пары (и три одиночки асинхронно им), либо три тройки (без одиночек). Кроме этого, если B7=9, то через несколько шагов обработки рабочей таблицы в 7-й строке обнаружим несовместимость: B7=D7=9. Так что подставляем единственно приемлемый из двух альтернативных вариант B6=9, и далее задача решается простыми средствами обычной обработки без всякого слепого перебора:

Далее, у меня есть готовый пример с применением модели вращения для решения задачи из чемпионата мира по судоку, но этот пример я опускаю, чтобы слишком уж не растягивать данную статью. К тому же, как оказалось, эта задача имеет три варианта решения, что плохо подходит для первоначального освоения модели вращения цифр. Еще я изрядно "попыхтел" над вытащенной из интернета задачей Гэри МакГайра с 17 ключами для решения его головоломки, пока с еще более изрядным раздражением не выяснил, что эта "головоломка" имеет более 9 тысяч вариантов решения.

Итак, волей-неволей, приходится переходить к разработанной Арто Инкала "самой сложной в мире" задаче судоку, имеющей, как известно, единственное решение.

После внесения двух вполне очевидных эксклюзивных цифр и обработки рабочей таблицы, задача имеет следующий вид:

Черным и более крупным шрифтом выделены ключи, заданные исходной задаче. Чтобы продвинуться в решении этой задачи, мы снова должны опереться на адекватную, подходящую для этой цели модель. Модель эта – своеобразный механизм вращения цифр. Она уже не однажды обсуждалась в этой и предыдущих статьях, но чтобы понять дальнейший материал статьи, этот механизм следует продумать и проработать в деталях. Примерно так, как если бы вы поработали с таким механизмом эдак с десяток лет. Но вы все равно сможете понять этот материал если не с первого чтения, то со второго или третьего и т.д. Более того, если проявите настойчивость, то и этот "сложный для понимания" материал вы доведете до состояния его рутинности и простоты. Нового в этом плане здесь ничего нет: то, что сначала очень сложно, постепенно становится не так уж сложным, а при дальнейшей непрекращающейся проработке все самым очевидным и не требующих умственных усилий становится на свои подобающие места, после чего вы можете освободить свой умственный потенциал для дальнейшего продвижения вперед по данной решаемой проблеме или относительно других проблем.

При внимательном анализе структуры задачи Арто Инкала можно заметить, что вся она построена по принципу трех синхронно вращающихся пар и тройки вращающихся асинхронно парам одиночек: (х1+х2)+(х3+х4)+(х5+х6)+(х7+х8+х9). Порядок вращения может быть, например, такой: в первых трех строках 123 первая пара (х1+х2) переходит из первой строки первого блока во вторую строку второго блока, затем в третью строку третьего блока. Вторая пара переходит из второй строки первого блока в третью строку второго блока, затем, в этом вращении, перепрыгивает в первую строку третьего блока. Третья пара из третьей строки первого блока перепрыгивает в первую строку второго блока и далее в этом же направлении вращения переходит во вторую строку третьего блока. Тройка одиночек движется в подобном режиме вращения, но в противоположном вращению пар. Ситуация со столбцами выглядит аналогично: если таблицу мысленно (или реально) повернуть на 90 градусов, то строки станут столбцами, с тем же, как ранее для строк, характером движения одиночек и пар.

Проворачивая в уме эти вращения применительно к задаче Арто Инкала, мы постепенно доходим до понимания очевидных ограничений на выбор вариантов этого вращения для выбранной тройки строк или столбцов:

Не должно быть синхронно (в одном направлении) вращающихся троек и пар – такие тройки, в отличие от тройки одиночек, будем в дальнейшем называть триплетами;

Не должно быть асинхронных между собой пар или асинхронных между собой одиночек;

Не должно быть вращающихся в одном (например, в правом) направлении и пар и одиночек – это повторение предыдущих ограничений, но может быть оно покажется более понятным.

Кроме этого есть и другие ограничения:

Не должно быть ни одной пары в 9-ти строках, совпадающей с парой в каком-либо из столбцов и то же самое относительно столбцов и строк. Это должно быть очевидным: потому что сам факт расположения двух цифр в одной строке свидетельствует о том, что они находятся в разных столбцах.

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

Исследование блоков 4,5,6.

В блоках 4-6 возможны пары (3+7) и (3+9). Если принять (3+9), то получится недопустимое синхронное вращение триплета (3+7+9), так что имеем пару (7+3). После подстановки этой пары и последующей обработки таблицы обычными средствами получим:

При этом мы можем сказать, что 5 в B6=5 может быть лишь одиночкой, асинхронной (7+3), а 6 в I5=6 является параобразующей, так как она находится в одной строке H5=5 в шестом блоке и, следовательно, она не может быть одиночкой и может двигаться лишь синхронно с (7+3.

и расположил кандидатов на одиночки по количеству появления их в этой роли в данной таблице:

Если принять, что наиболее частотные 2, 4 и 5 и есть одиночки, то по правилам вращения с ними могут сочетаться только пары: (7+3), (9+6) и (1+8) - пара (1+9) отброшена, так как она отрицает пару (9+6). Далее после подстановки этих пар и одиночек и дальнейшей обработки таблицы обычными методами получим:

Вот такая непокорная таблица оказалась – не желает обрабатываться до конца.

Придется поднапрячься и заметить, что в столбцах ABC есть пара (7+4) и что 6 перемещается синхронно 7 в этих столбцах, поэтому 6 – параобразующая, так что в столбце "C" 4-го блока возможно лишь сочетания (6+3)+8 либо (6+8)+3. Первое из этих сочетаний не проходит, так как тогда в 7-м блоке в столбце "B" возникнет недопустимая синхронная тройка – триплет (6+3+8). Ну а далее, после подстановки варианта (6+8)+3 и обработки таблицы обычным способом приходим к благополучному завершению задачи.

Второй вариант: вернемся к таблице, полученной после выявления сочетания (7+3)+5 в строках 456 и перейдем к исследованию столбцов ABC.

Здесь мы можем заметить, что пара (2+9) не может иметь место в ABC. Другие комбинации (2+4), (2+7), (9+4) и (9+7) дают синхронную тройку - триплет в A4+A5+A6 и B1+B2+B3, что неприемлемо. Остается одна приемлемая пара (7+4). Причем 6 и 5 двигаются синхронно 7, значит они параобразующие, т.е. образуют какие-то пары, но не 5+6.

Составим список возможных пар и их сочетаний с одиночками:

Сочетание (6+3)+8 не проходит, т.к. иначе образуется недопустимая тройка-триплет в одном столбце (6+3+8), о чем уже говорили и в чем можем убедиться еще раз, проверив все варианты. Из кандидатов на одиночки больше всех очков набирает цифра 3, а наиболее вероятное из всех приведенных сочетаний: (6+8)+3, т.е. (С4=6 + C5=8) + C6=3, что дает:

Далее самый вероятный кандидат на одиночку либо 2, либо 9 (по 6 баллов), однако в любом из этих случаев остается в силе кандидат 1 (4 балла). Начнем с (5+29)+1, где 1 асинхронно 5, т.е. поставим 1 из В5=1 в качестве асинхронной одиночки во все столбцы ABC:

В блоке 7, столбец A, возможны лишь варианты (5+9)+3 и (5+2)+3. Но мы лучше обратим внимание на то, что в строках 1-3 теперь проявились пары (4+5) и (8+9). Их подстановка приводит к быстрому результату, т.е. к завершению задачи после обработки таблицы обычными средствами.

Ну а теперь, потренировавшись на предыдущих вариантах, мы можем попробовать решить задачу Арто Инкала без привлечения статистических оценок.

Снова возвращаемся в исходное положение:

В блоках 4-6 возможны пары (3+7) и (3+9). Если принять (3+9), то получится недопустимое синхронное вращение триплета (3+7+9), так что для подстановки в таблицу имеем только вариант (7+3):

5 здесь, как мы видим, одиночка, 6 – параобразующая. Допустимые варианты в ABC5: (2+1)+8, (2+1)+9, (8+1)+9, (8+1)+2, (9+1)+8, (9+1)+2. Но (2+1) асинхронна (7+3), поэтому остаются (8+1)+9, (8+1)+2, (9+1)+8, (9+1)+2. В любом случае 1 является синхронной (7+3) и, следовательно, параобразующей. Подставим 1 в этом качестве в таблицу:

Цифра 6 здесь является параобразующей в бл. 4-6, но бросающейся в глаза пары (6+4) нет в списке допустимых пар. Следовательно четверка в A4=4 асинхронна 6:

Так как D4+E4=(8+1) и согласно анализу вращения образует эту пару, то получаем:

Если ячейки C456=(6+3)+8, то B789=683, т.е. получится синхронная тройка-триплет, так что остается вариант (6+8)+3 и результат его подстановки:

B2=3 здесь одиночка, С1=5 (асинхронная 3) - параобразующая, A2=8 - также параобразующая. В3=7 может быть и синхронной и асинхронной. Теперь мы можем проявить себя и на более сложных приемах. Натренированным взглядом (или хотя бы при проверке на компьютере) мы видим, что при любом статусе В3=7 – синхронном или асинхронном – мы получаем один и тот же результат A1=1. Следовательно, мы можем подставить это значение в A1 и далее уже более обычными простыми средствами завершить нашу, вернее Арто Инкала, задачу:

Так или иначе, мы смогли рассмотреть и даже проиллюстрировать три общих подхода на пути решения проблем: определить точку понимания проблемы (не предположительный или слепо декларируемый, а реальный момент, начиная с которого мы можем говорить о понимании проблемы), выбрать модель, позволяющую реализовать понимание посредством натурного или мысленного эксперимента и – это в-третьих – довести степень понимания и восприятия достигнутых при этом результатов до состояния самоочевидности и простоты. Есть еще и четвертый подход, который применяю лично я.

У каждого человека случаются состояния, когда стоящие перед ним интеллектуальные задачи и проблемы решаются более легко, чем это бывает обычно. Эти состояния вполне можно воспроизводить. Для этого надо овладеть техникой отключения мыслей. Сначала хотя бы на доли секунды, затем, все более растягивая этот отключающий момент. Далее рассказывать, вернее рекомендовать, что-то в этом отношении не могу, потому что продолжительность применения этого метода дело сугубо личное. Но я прибегаю к этому способу порой надолго, когда передо мной встает проблема, к которой я не вижу вариантов того, как к ней можно подступиться и решить. В результате, раньше или позже из кладовых памяти выплывает подходящий прообраз модели, которая проясняет суть того, что требуется разрешить.

Задачу Инкала я решил несколькими способами, в том числе описанными в предыдущих статьях. И всегда в той или иной мере использовал этот четвертый подход с отключением и последующей концентрацией умственных усилий. Самое быстрое решение задачи я получил простым перебором – что называется "методом тыка" – правда, с использованием лишь "длинных" вариантов: тех, что могли быстро привести к выходу на положительный или отрицательный результат. Другие варианты отымали у меня больше времени, потому что основное время уходило на хотя бы черновую отработку технологии применения этих вариантов.

Хороший также вариант в духе четвертого подхода: настраиваться на решение задач судоку, подставляя лишь по единственной цифре в ячейку в процессе решения задачи. То есть, большая часть задачи и ее данных "прокручиваются" в уме. Именно так и происходит основная часть процесса решения интеллектуальных проблем, и этот навык следует тренировать ради расширения своих возможностей в решении проблем. Я, например, не профессиональный решатель судоку. У меня иные задачи. Но, тем не менее, хочу поставить перед собой такую цель: обрести умение решать задачи судоку повышенной сложности, без рабочей таблицы и не прибегая к подстановке более одной цифры в одну пустую клетку. При этом допускается любой способ решения судоку, включая и простой перебор вариантов.

О переборе вариантов я вспоминаю здесь не случайно. Любой подход к решению задач судоку предполагает в своем арсенале набор определенных способов, включая тот или иной вид перебора. При этом любой из способов, применяемых в судоку в частности или при решении любых других проблем, имеет свою область его эффективного применения. Так, при решении относительно простых задач судоку наиболее эффективны простые "базовые" способы, описанные в многочисленных статьях по этой теме в интернете, а более сложный "метод вращения" оказывается здесь зачастую бесполезным, потому что он лишь усложняет ход простого решения и при этом какой-то новой информации, проявляющейся в ходе решения задачи, не дает. Но в наиболее сложных случаях, как задача Арто Инкала, "метод вращения" может играть ключевую роль.

Судоку в моих статьях – лишь иллюстративный пример подходов к решению проблем. Среди решенных мною задач есть и на порядок посложнее, чем судоку. Например, расположенные на нашем сайте компьютерные модели работы котлов и турбин. О них я тоже был бы не против рассказать. Но пока я выбрал именно судоку, чтобы достаточно наглядным образом показать своим молодым согражданам возможные пути и этапы продвижения к конечной цели решаемых проблем.

На сегодня пока все.

Многим нравится заставлять себя думать: кому-то - для развития интеллекта, кому-то - для поддержания своих мозгов в хорошей форме (да-да, не только телу нужна зарядка), и лучшим тренажёром для ума являются различные игры на логику и головоломки. Одним из вариантов подобных развивающих развлечений можно назвать судоку. Однако некоторые и не слышали про такую игру, что уж говорить про знание правил или другие интересные моменты. Благодаря статье вы узнаете всю необходимую информацию, например, как разгадать судоку, а также их правила и виды.

Общее

Судоку - это головоломка. Иногда сложная, трудно раскрываемая, но всегда интересная и затягивающая любого человека, решившегося на эту игру. Название произошло от японского: «су» означает «цифра», а «доку» - это «стоящая отдельно».

Не все знают, как разгадывать судоку. Сложные головоломки, например, под силу либо умным, хорошо соображающим новичкам, либо профессионалам своего дела, практикующим игру не один день. Просто так взять и за пять минут решить поставленную задачу будет далеко не каждому возможно.

Правила

Итак, как разгадывать судоку. Правила очень просты и понятны, запомнить их легко. Однако не думайте, что несложные правила сулят «безболезненное» решение; думать придётся много, применять логическое и стратегическое мышление, стремиться воссоздать картину. Наверное, нужно любить цифры, чтобы разгадывать судоку.

Сначала чертится квадрат 9 х 9 клеток. Затем более жирными линиями он разделяется на так называемые «регионы» по три квадратика в каждом. В итоге получается 81 клетка, которая в конечном итоге должна быть полностью заполнена числами. В этом и заключается сложность: расставленные по всему периметру цифры от 1 до 9 не должны повторяться ни в «регионах» (квадратах 3 х 3), ни в линиях по вертикали и/или горизонтали. В любом судоку изначально присутствуют некоторые заполненные клетки. Без этого игра просто невозможна, поскольку иначе получится не разгадывание, а придумывание. От количества цифр зависит сложность головоломки. Сложные судоку содержат немного чисел, расставленных зачастую так, что придётся изрядно поломать голову, прежде чем решить их. В лёгких - около половины цифр уже стоят на своих местах, благодаря чему разгадать становится в разы проще.

Полностью разобранный пример

Сложно понять, как разгадать судоку, если нет конкретного образца, пошагово показывающего, как, куда и что нужно вставлять. Предоставленная картинка считается несложной, поскольку многие мини-квадраты уже заполнены необходимыми цифрами. К слову, именно на них мы и будем опираться для решения.

Для начала можно посмотреть на линии или квадраты, где особенно много цифр. Например, прекрасно подходит второй столбец слева, там не хватает всего двух чисел. Если посмотреть на те, что уже есть, становится очевидно, что не хватает 5 и 9 в пустующих клетках на второй и восьмой строках. С пятёркой пока не всё ясно, она может быть и там, и там, но если взглянуть на девятку - всё становится понятно. Так как на второй строке уже есть цифра 9 (в седьмом столбце), значит, чтобы не было повторов, девятку нужно поставить вниз, на 8-ю строчку. Методом исключения добавляем 5 на 2-ю строку - и вот у нас уже есть один заполненный столбец.

Аналогичным способом можно решить всю головоломку судоку, однако в более сложных вариантах, когда в одном столбце, строке или квадрате не хватает не пары цифр, а гораздо больше, придётся применять немного иной способ. Его мы тоже сейчас разберём.

На сей раз возьмём за основу средний «регион», в котором не хватает пяти цифр: 3, 5, 6, 7, 8. Каждую клетку мы заполняем не большими результативными числами, а маленькими, «черновыми». Просто пишем в каждый квадратик те цифры, которых не хватает и которые могут быть там из-за их нехватки. В верхней клетке это 5, 6, 7 (3 на этой строке уже есть в «регионе» справа, а 8 - слева); в клетке слева могут быть 5, 6, 7; в самой середине - 5, 6, 7; справа - 5, 7, 8; снизу - 3, 5, 6.

Итак, теперь смотрим, какие мини-цифры содержат отличные от прочих числа. 3: есть только в одном месте, в остальных её нет. Значит, её можно исправлять на большую. 5, 6 и 7 есть как минимум в двух клетках, значит, оставляем их в покое. 8 есть только в одной, значит, остальные цифры отпадают и можно оставлять восьмёрку.

Чередуя эти два способа, продолжаем разгадывать судоку. В нашем примере мы будем применять первый способ, однако следует напомнить, что в сложных вариациях второй необходим. Без него будет крайне сложно.

Кстати, когда в верхнем «регионе» обнаружилась серединная семёрка, её можно убрать из мини-цифр среднего квадрата. Если это сделать, можно заметить, что в том регионе осталась одна 7, поэтому можно только её и оставить.

Вот и всё; готовый результат:

Виды

Головоломки судоку бывают разными. В каких-то обязательным условием является отсутствие одинаковых цифр не только в строках, столбцах и мини-квадратах, но также по диагонали. В каких-то вместо привычных «регионов» содержатся другие фигуры, из-за чего решить задачу становится в разы сложнее. Так или иначе, как разгадать судоку, по крайней мере, основное правило, что действует на любой вид, вы знаете. Это всегда поможет справиться с головоломкой любой сложности, главное - пытаться изо всех сил добиться поставленной цели.

Заключение

Теперь вы знаете, как разгадать судоку, а потому можете скачивать подобные головоломки с различных сайтов, решать их онлайн или покупать в газетных киосках бумажные варианты. В любом случае, теперь у вас появится занятие на долгие часы, а то и дни, потому что затягивают судоку нереально, особенно когда приходится на деле разобраться в принципе их решения. Практика, практика и ещё раз практика - и тогда вы будете щёлкать эту головоломку как орешки.

– это популярный вид досуга, представляющий собой головоломку с числами, которую еще называют магическим квадратом. Ее решение позволяет развивать логическое мышление, внимание, аналитический подход. Преимущества судоку заключаются не только в пользе для мозга, а также в возможности отвлечься от проблем, полностью сконцентрироваться на задании.

Правила судоку

Данная головоломка занимает мало места, в отличие от сканвордов, кроссвордов и так далее. Игровое поле, состоящее из 81 квадратов, ячейки разбиты на малые блоки, размером 3*3. Его можно легко уместить на листке бумаги. Задание выглядит в виде выборочно заполненных клеток, которые необходимо дополнить значениями и заполнить всю табличку. В судоку правила игры очень просты и позволяют исключить множественные решения. В каждой строке или столбце проставляются цифры от 1 до 9. Также значения не повторяются в рамках одного малого блока.

Судоку различаются по уровню сложности, который зависит от количества заполненных числами клеток и методов решения. Обычно различают около 5 уровней, где самый сложный способны решить только настоящие мастера.

Игра в судоку имеет свои правила и секреты. Наиболее простые головоломки можно решить за несколько минут с помощью дедукции, как есть так всегда, как минимум, одна клетка, для которой подходит только одно число. Сложные судоку можно разгадывать часами. Правильно составленная головоломка имеет только один способ решения.

Правила, как разгадывать судоку

Чтобы получить верное решение, необходимо учесть несколько простых правил:

  • Цифра может быть записана в ячейку только в том случае, если ее нет в горизонтальной и вертикальной линии, а также в малом квадрате 3*3.
  • Если она может быть записана исключительно в одну клетку.

Если оба пункта учтены, значит можно быть уверенным, что ячейка заполнена верно.

Как решать судоку простые?

Рассмотрим на конкретном примере как разгадывать судоку. Игровое поле на картинке представляет собой относительно простой вариант игры. Правила игры судоку для простых сводятся к выявлению зависимостей в горизонтальной и вертикальной плоскости и в отдельных квадратах.

Например, в центральной вертикали не хватает цифр 3, 4, 5. Четверка не может находиться в нижнем квадрате, так как в нем уже присутствует. Также можно исключить пустую центральную клетку, так как мы видим 4 в горизонтальной линии. Из этого делаем вывод, что она располагается в верхнем квадрате. Аналогично можем проставить 3 и 5 и получить следующий результат.

Проведя линии в верхнем среднем малом квадрате 3*3 можно исключить ячейки, в которых не может находиться цифра 3.

Разгадывать Продолжая подобным образом, необходимо заполнить оставшиеся ячейки. В результате получается единственно верное решение.

Такой метод некоторые называют «Последний герой» или «Одиночка». Он также используется в качестве одного из нескольких на мастерских уровнях. Среднее время, затрачиваемое на простой уровень сложности, колеблется около 20 минут.

Как решать сложные судоку?

Многие задаются вопросом, как решать судоку, есть ли стандартные методы и стратегия. Как и в любой логической головоломке есть. Самый простой из них мы рассмотрели. Чтобы перейти на более высокий уровень, необходимо иметь больший запас времени, усидчивость, терпение. Для решения головоломки придется делать предположения и, возможно, получать неверный результат, возвращающий к месту выбора. По сути судоку сложные – это как решать задачу с помощью алгоритма. Рассмотрим несколько популярных методик, применяемых профессиональными «судокуведами» на следующем примере.

В первую очередь необходимо заполнить пустые ячейки возможными вариантами, чтобы максимально облегчить решение и иметь перед глазами полную картину.

Ответ, как решить судоку сложные для каждого свой. Кому то удобнее использовать разные цвета для окрашивания ечеек или цифр, кто то предпочитает черно-белый вариант. На рисунке видно, что нет ни одной ячейки, в которой бы стояла единственная цифра, однако, это не говорит о том, что в данном задании нет одиночек. Вооружившись правилами судоку и внимательным взглядом, можно увидеть, что в верхней строке среднего малого блока стоит цифра 5, которая встречается единожды в своей линии. В связи с этим можно смело проставить ее и исключить из ячеек, окрашенных в зеленый цвет. Данное действие повлечет за собой возможность проставить цифру 3 в оранжевой клетке и смело вычеркнуть ее из соответствующик фиолетовых по вертикали и малом блоке 3*3.

Таким же образом проверяем остальные клеточки и проставляем единицы в обведенных клетках, так как они также являются единственными в своих строках.

Чтобы разобраться, как решать судоку сложные, необходимо вооружиться несколькими простыми методами.

Метод «Открытые пары»

Чтобы очистить поле дальше, необходимо найти открытые пары, которые позволяют исключить имеющиеся в них цифры из других ячеек в блоке и строках. В примере такими парочками являются 4 и 9 из третьей строки. Они наглядно показывают, как разгадывать сложные судоку. Их комбинация говорит о том, что в данных клетках могут быть проставлены исключительно 4 или 9. Этот вывод делается на основании правил судоку.

Из выделенных зеленым ячеек можно удалить значения синих и тем самым сократить количество вариантов. При этом располагающаяся в первой строке комбинация 1249 называется по аналогии «открытой четверкой». Также можно встретить «открытые тройки». Такие действия влекут за собой появление других открытых пар, например 1 и 2 в верхней строке, которые также дают возможность сузить круг комбинаций. Параллельно проставляем в обведенной ячейке первого квадрата 7, так как пятерка в данной строке в любом случае будет располагаться в нижнем блоке.

Метод «Скрытые пары/тройки/четверки»

Данный метод является противоположным к открытым комбинациям. Его суть заключается в том, что необходимо найти ячейки, в которых повторяются цифры в рамках квадрата/строки, не встречающиеся в других клеточках. Как это поможет разгадывать судоку? Прием позволяет вычеркнуть остальные цифры, так как они служат фоном и не могут быть проставлены в выбранные клетки. Данная стратегия имеет несколько других названий, например «Ячейка не резиновая», «Тайное становится явным». Сами имена объясняют суть метода и соответствие правилу, говорящему о возможности проставить единственную цифру.

Примером могут служить окрашенные в голубой цвет клетки. Цифры 4 и 7 встречаются исключительно в этих ячейках, поэтому остальные можно смело удалить.

Подобно действует система сопряжения, когда можно исключить из ячеек блока/строки/столбца значения, несколько раз встречающееся в соседнем или сопряженном.

Перекрестное исключение

Принцип того, как разгадывать судоку, заключается в умении анализировать и сопоставлять. Еще одним способом исключить варианты является наличие какой-либо цифры в двух столбцах или строчках, которые пересекаются между собой. В нашем примере подобной ситуации не встретилось, поэтому рассмотрим другой. На картинке видно, что «двойка» встречается во втором и третьем среднем блоке единожды, при комбинации чем связаны, и взаимоисключают друг друга. Исходя из этих данных, цифру 2 можно удалить из других ячеек в указанных столбцах.

Также можно применять для трех и четырех строк. Сложность метода заключается в трудностях визуализации и выявления связей.

Метод «Сокращение»

В результате каждого действия количество вариантов в ячейках сокращается и решение сводится к методу «Одиночка». Этот процесс можно назвать сокращением и выделить в отдельный метод, так как он предполагает тщательный анализ всех строк, столбцов и малых квадратов с последовательным исключением вариантов. В итоге мы приходим к единственному решению.

Цветовой метод

Данная стратегия мало отличается от описанной, и заключается в цветовой индикации ячеек или цифр. Способ помогает визуализировать весь ход решения, однако, подходит не всем. Некоторых расцветка сбивает и мешает сосредоточиться. Чтобы грамотно использовать гамму, необходимо выбрать два-три цвета и окрашивать в них одинаковые варианты в разных блоках/линиях, а также спорные ячейки.

Чтобы разобраться, как решать судоку, лучше вооружиться ручкой и бумагой. Такой подход позволит натренировать голову, в отличие от использования электронных алгоритмов с наличием подсказок. Команда BrainApps рассмотрела несколько наиболее популярных, понятных и действенных методик, однако, существует множество других алгоритмов. Например, метод «Проб и ошибок», когда выбирается пробный вариант из двух или трех возможных и проверяется вся цепочка. Недостатком данной методики является необходимость использовать компьютер, так как на листке бумаги к исходному варианту вернуться не так просто.

Решая судоку, будьте последовательны в своих рассуждениях. Периодически проверяйте Ваши действия, ведь если вы допустите ошибку в начале решения, то она в итоге может привести к неверному решению всей головоломки. Легче избежать ошибок в начале решения, чем когда в решенной головоломке обнаружится противоречие.

Следующие способы решения судоку изложены в порядке их сложности и частоты использования на практике.

Подбор кандидатов

С этого приема начинают решать любой судоку, не зависимо от его сложности. В соответствии с предложенным заданием в пустые клетки необходимо вписать варианты чисел, которые могут быть определены исключением цифр, уже присутствующих в рядах, колонках или блоках.

Для примера рассмотрим клетку А2, она отмечена серым цветом. "1" – есть в блоке, "2" – есть в строке, "3" – есть в блоке и строке, "4" – есть в строке, "5" – есть в столбце, "7" – есть в блоке, "8" – есть в строке, "9" – есть в столбце. Соответственно, единственный вариант для данной клетки – это число "6".

Но в большинстве случаев, для каждой клетки бывает сразу несколько кандидатов. Заполним сетку всеми возможными кандидатами, для каждой клетки.

Как видно, клеток, в которых всего по одному кандидату, всего две – А2 и D9, их называют единственными кандидатами. После отыскания единственных кандидатов необходимо их также вычеркнуть из кандидатов в другие клетки (клетки этого столбца, строки, блока). Так, вычеркнув из строки 2, столбца А и блока 1 цифру "6", мы получим в клетке В1 также единственного кандидата – цифру "2". Подобным образом действуем и далее.

Однако есть и «скрытые» единственные кандидаты. Для примера возьмем, клетку I7. Данная клетка находится в 9 блоке. В данном блоке цифра 5 может находиться только в клетке I7, так как в столбцах G и H уже есть цифра 5, так же она присутствует и в строке 8. Соответственно из трех кандидатов для клетки I7 оставляем только цифру "5".

Исключение кандидатов

Описанные выше способы позволяют однозначно определить, какую необходимо вписать цифру в ту или иную клетку, следующие позволят сократить их число, что в конечном итоге приведет к единственным кандидатам.

В процессе решения может возникнуть ситуация, когда определенное число в блоке может быть расположено только в одной строке или столбце в пределах этого блока. Как следствие, это число не может находиться в других клетках этой строки или столбца за пределами блока.

Рассмотрим блок 5. В данном блоке цифра "4" может находиться только в клетках D5 и F5, т.е. в строке 5. Соответственно, в какой бы из этих двух клеток не находилась цифра "4", в строке 5 в других блоках её быть уже не может, поэтому её можно смело вычеркивать из кандидатов клетки G5.

Есть и противоположный вариант предыдущему способу. Если определенное число в строке или столбце может быть расположено только в пределах одного блока, то это же число не может находиться в других клетках рассматриваемого блока.

Так в строке 1 цифра "4" может находиться только в клетках D1 и F1, т.е. в блоке 2. Поэтому, в какой бы из этих двух клеток не находилась цифра "4", в блоке 2 в других клетках её быть уже не может, поэтому её можно смело вычеркивать из кандидатов клеток D3 и F3.

Если две клетки в блоке, строке или столбце содержат только пару одинаковых кандидатов, то эти кандидаты не могут находиться в других клетках данного блока, стоки, столбца.

Клетки G9 и H9 содержат пару кандидатов "6" и "8". Соответственно, в какой бы из этих двух клеток не находились цифры "6" и "8" (если "6" в G9, то "8" в H9, и наоборот), в блоке 9 в других клетках их быть уже не может, также как и в строке 9. Поэтому их можно смело вычеркивать из кандидатов клеток H7, G8, B9, C9, F9.

Также этот способ можно применить для трех и четырех кандидатов, только клеток в блоке, строке, столбце необходимо брать три и четыре соответственно.

Из клеток, выделенных желтым цветом, – В7, Е7, Н7 и I7 вычеркиваем кандидатов, содержащихся в клетках, выделенных серым цветом, – А7, D7 и F7.

Аналогично поступаем и с четверками. Из клеток, выделенных желтым цветом, – C1 и C6 вычеркиваем кандидатов, содержащихся в клетках, выделенных серым цветом, – С4, С5, С8 и С9.

Но часто встречаются и «скрытые» пары кандидатов. Если в двух клетках в блоке строке или столбце среди кандидатов встречается пара кандидатов, не встречающаяся ни в одной другой клетке блока, строки или столбца, то никакие другие клетки блока, строки или столбца не могут содержать кандидатов из этой пары. Поэтому, всех остальных кандидатов из этих двух клеток можно вычеркнуть.

Так, например, в столбце G пара цифр "7" и "9" встречается только в клетках G1 и G2. Следовательно, всех остальных кандидатов из этих клеток можно удалить.

Также можно искать «скрытые» тройки и четверки.

Существуют и более сложные способы, применяемые при решении судоку. Они не столько сложны в понимании, сколько в том, когда их можно применить. Так, например, если в одном из столбцов какой-либо кандидат может находиться только в двух клетках и при этом есть столбец, в котором этот же кандидат также может находиться только в двух клетках, а все эти четыре клетки образуют прямоугольник, то этот кандидат может быть исключен из других клеток этих строк.

По аналогии, из двух строк, исключаемые кандидаты тогда будут в столбцах.

В столбце А цифра "2" может быть только в двух клетках А4 и А6, а в столбце Е в Е4 и Е6. Соответственно эти пары клеток находятся в одинаковых строках – 4 и 6, образуя прямоугольник.

Образовалась определенная зависимость:

Если цифра "2" будет в клетке А4, то она же будет в клетке Е6 (в клетке Е4 её не может быть, т.к. цифра "2" уже будет в строке 4, не будет её и в клетке А6, т.к. цифра "2" уже будет в столбце А и блоке 4);

Если цифра "2" будет в клетке А6, то она же будет в клетке Е4 (в клетке Е6 её не может быть, т.к. цифра "2" уже будет в строке 6, не будет её и в клетке А4, т.к. цифра "2" уже будет в столбце Е и блоке 5).

Поэтому, где бы не находилась цифра "2", в клетках А4 и Е6 или А6 и Е4, из других клеток строк 4 и 6 можно смело вычеркивать цифру "2". Кроме того, этот способ может применяться и к блокам. Так как в блоке 4 цифра "2" обязательно будет в клетках А4 или А6, то её можно вычеркнуть и из кандидатов клеток блока 4.

Это основные способы, при помощи которых можно решать классические судоку. Если судоку не сложное, то его можно решить с помощью первых способов. Решая более сложные головоломки без последних способов не обойтись. Но эти способы не являются шаблонными, в процессе отгадывания у Вас сложится своя тактика и стратегия. Чем больше вы будете решать судоку, тем у Вас лучше это будет получаться. И всех кандидатов не надо будет записывать, а Вы легко их сможете держать «в голове».

Пример решения классического судоку

А теперь попробуем решить следующее судоку целиком.

Для начала, запишем всех кандидатов.

Теперь выявим единственных кандидатов (серые клетки). И вычеркнем их из кандидатов в другие клетки в блоках, строках, столбцах (желтые клетки).

При этом в некоторых клетках у нас опять образовались единственные кандидаты (например в строке 1 цифра "2" есть только в клетке В1), мы их также вычеркиваем из кандидатов в другие клетки блоков, строк, столбцов.

Теперь найдем «скрытых» единственных кандидатов (серые клетки). И вычеркнем их из кандидатов в другие клетки в блоках, стоках, столбцах (желтые клетки).

При этом в некоторых клетках у нас опять образовались «скрытые» единственные кандидаты (например в строке 1 цифра "5" есть только в клетке С1), мы их также вычеркиваем из кандидатов в другие клетки блоков, строк, столбцов.

Теперь берем клетку Н5. В строке 5 цифра "2" встречается только в этой клетке. Продолжаем решать наше судоку относительно этой клетки.

После того, как в некоторых клетках остались только единственные кандидаты, вычеркиваем их из других клеток строк, столбцов и блоков.

В результате получаем следующую комбинацию.

Решив её, мы приходим к единственно правильному решению:

Это один из вариантов, как можно решить данное судоку. Конечно, можно было начать решение с других клеток и другими способами, но это решение показывает то, что судоку имеет единственно правильное решение и найти его можно логическим путем, а не перебором цифр.

Поле судоку представляет собой таблицу 9х9 клеток. В каждую клетку заносится цифра от 1 до 9. Цель игры: расположить цифры таким образом, чтобы в каждой строке, в каждом столбце и в каждом блоке 3х3 не было повторений. Другими словами, в каждом столбце, строке и блоке должны быть все цифры от 1 до 9.

Для решения задачи в пустые клетки можно записывать кандидатов. Например, рассмотрим клетку 2-го столбца 4-ой строки: в столбце, в котором она находится, уже имеются цифры 7 и 8, в строке - цифры 1, 6, 9 и 4, в блоке - 1, 2, 8 и 9. Следовательно, из кандидатов в данной ячейке вычеркиваем 1, 2, 4, 6, 7, 8, 9, и у нас остается только два возможных кандидата – 3 и 5.

Аналогично, рассматриваем возможных кандидатов для других ячеек и получаем следующую таблицу:

С кандидатами решать интереснее и можно применять различные логические методы. Далее мы рассмотрим некоторые из них.

Одиночки

Метод заключается в отыскании в таблице одиночек, т.е. ячеек, в которых возможна только одна цифра и никакая другая. Записываем эту цифру в данную ячейку и исключаем ее из других клеток этой строки, столбца и блока. Например: в данной таблице имеются три «одиночки» (они выделены желтым цветом).

Скрытые одиночки

Если в ячейке стоит несколько кандидатов, но один из них не встречается больше ни в одной другой ячейке данной строки (столбца или блока), то такой кандидат называется «скрытой одиночкой». В следующем примере кандидат «4» в зеленом блоке найден только в центральной ячейке. Значит, в этой ячейке обязательно будет «4». Заносим «4» в данную ячейку и вычеркиваем из других ячеек 2-го столбца и 5-ой строки. Аналогично, в желтом столбце кандидат «2» встречается один раз, следовательно, в данную ячейку заносим «2» и исключаем «2» из ячеек 7-ой строки и соответствующего блока.

Предыдущие два метода – это единственные методы, которые однозначно определяют содержимое ячейки. Следующие методы позволяют только уменьшать количество кандидатов в ячейках, что рано или поздно приведет к одиночкам или скрытым одиночкам.

Запертый кандидат

Бывают случаи, когда кандидат в пределах блока находится только в одном строке (или в одном столбце). В силу того, что одна из этих ячеек обязательно будет содержать этого кандидата, из всех остальных ячеек данной строки (столбца) этого кандидата можно исключить.

В примере ниже, центральный блок содержит кандидата «2» только в центральном столбце (желтые ячейки). Значит, одна из этих двух ячеек точно должна быть «2», и никакие другие ячейки в том ряду вне этого блока не могут быть «2». Поэтому «2» может быть исключен как кандидат из других ячеек этого столбца (ячейки зеленого цвета).

Открытые пары

Если две ячейки в группе (строке, столбце, блоке) содержат идентичную пару кандидатов и ничего более, то никакие другие ячейки этой группы не могут иметь значения этой пары. Эти 2 кандидата могут быть исключены из других ячеек в группе. В примере ниже, кандидаты «1» и «5» в колонках восемь и девять формируют Открытую Пару в пределах блока (желтые ячейки). Поэтому, так как одна из этих ячеек должна быть «1», а другая должны быть «5», кандидаты «1» и «5» исключаем из всех других ячеек этого блока (зеленые ячейки).

Тоже самое можно сформулировать для 3 и 4-х кандидатов, только участвует уже 3 и 4 ячейки, соответственно. Открытые тройки: из ячеек зеленого цвета исключаем значения ячеек желтого цвета.

Открытые четверки: из ячеек зеленого цвета исключаем значения ячеек желтого цвета.

Скрытые пары

Если в двух ячейках в группе (строке, столбце, блоке) содержат кандидаты, среди которых идентичная пара, не встречающаяся ни в одной другой ячейке данного блока, то никакие другие ячейки этой группы не могут иметь значения этой пары. Следовательно, все другие кандидаты этих двух ячеек могут быть исключены. В примере ниже, кандидаты «7» и «5» в центральной колонке находятся только в ячейках желтого цвета, значит, всех остальных кандидатов из этих ячеек можно исключить.

Аналогично, можно искать скрытые тройки и четверки.

x-wing

Если значение имеет только два возможных местоположения в какой-то строке (столбце), то оно обязательно должно быть назначено в одну из этих ячеек. Если же существует еще одна строка (столбец), где этот же кандидат также может быть только в двух ячейках и столбцы (строки) этих ячеек совпадают, то ни одна другая ячейка этих столбцов (строк) не может содержать данную цифру. Рассмотрим пример:

В 4-ой и 5-ой строках цифра «2» может быть только в двух ячейка желтого цвета, при чем эти ячейки находятся в одинаковых столбцах. Следовательно, цифра «2» может быть записана только двумя способами: 1) если «2» записать в 5-ый столбец 4-ой строки, то из желтых ячеек «2» надо исключит и тогда в 5-ой строке положение «2» определяется однозначно 7-ым столбцом.

2) если «2» записать в 7-ой столбец 4-ой строки, то из желтых ячеек «2» надо исключит и тогда в 5-ой строке положение «2» определяется однозначно 5-ым столбцом.

Следовательно, 5-ый и 7-ой столбец обязательно будут иметь цифру «2» либо в 4-ой строке, либо в 5-ой. Тогда из других ячеек данных столбцов цифру «2» можно исключить (зеленые клетки).

"Рыба Меч" (Swordfish)

Этот метод является вариацией метода .

Из правил головоломки следует, что если кандидат находится в трех строках и только в трех столбцах, то в других строках этого кандидата в этих столбцах можно исключить.

Алгоритм:

  • Ищем строчки, в которых кандидат встречается не более трех раз, но при этом он принадлежит ровно трем колонкам.
  • Исключаем кандидата из этих трех колонок из других строк.

Эта же логика применима и в случае трех колонок, где кандидат ограничивается тремя строками.

Рассмотрим пример. В трех строчках (3, 5 и 7-ая) кандидат «5» встречается не более трех раз (ячейки выделены желтым цветом). При этом они принадлежат только трем столбцам: 3, 4 и 7-ому. Согласно методу «Рыба меч» из других ячеек этих столбцов кандидата «5» можно исключить (зеленые ячейки).

В примере, приведенном ниже, так же применяется метод «Рыба меч», но уже для случая трех колонок. Исключаем кандидата «1» из ячеек зеленого цвета.

«X-wing» и «Рыба меч» можно обобщить на случай четырех строк и четырех столбцов. Данный метод будет называться «Медуза».

Цвета

Бывают ситуации, когда кандидат встречается только два раза в группе (в строке, столбце или блоке). Тогда искомая цифра обязательно будет в одном из них. Стратегия метода «Цвета» заключается в том, чтобы просматривать эту взаимосвязь с использованием двух цветов, например, желтого и зеленого. При этом решение может быть в клеточках только какого-то одного цвета.

Выделяем все взаимосвязанные цепочки и принимаем решение:

  • Если какой-то незакрашенный кандидат имеет двух разноцветных соседей в группе (строке, столбце или блоке), то его можно исключить.
  • Если в группе (строке, столбце или блоке) имеется два одинаковых цвета, то данный цвет является ложным. Кандидата из всех клеточек этого цвета можно исключить.

В следующем примере применим метод «Цвета» для ячеек с кандидатом «9». Начинаем раскрашивать с ячейки в левом верхнем блоке (2 строка, 2 столбец), закрасим ее в желтый цвет. В своем блоке она имеет только одного соседа с «9», закрасим его в зеленый цвет. Также у нее только один сосед в столбце, закрашиваем и его в зеленый цвет.

Аналогичным образом работаем с остальными ячейками, содержащими цифру «9». Получаем:

Кандидат «9» может быть либо только во всех желтых ячейках, либо во всех зеленых. В правом среднем блоке встретились две ячейки одинакового цвета, следовательно, зеленый цвет неверный, так как в данном блоке получается две «9», что недопустимо. Исключаем, «9» из всех зеленых клеток.

Еще один пример на метод «Цвета». Пометим парные ячейки для кандидата «6».

Клетка с «6» в верхнем центральном блоке (выделим сиреневым цветом) имеет двух разноцветных кандидатов:

«6» обязательно будет или в желтой или в зеленой клетке, следовательно, из этой сиреневой клетки «6» можно исключить.




Top