Anmelden
⎕ ⍆
X

Запись #188880

ssl1959 2
2017-09-15 13:29
Привет уважаемым форумчанам от вновь зарегистрированного! Судоку открыл для себя только пару месяцев назад и эта тема очень увлекла. Начинал с простых, параллельно изучая разнообразные материалы в инете. За это время заметил, что наибольшие трудности для меня представляют диагональные судоку: некоторые из них не поддаются даже из разделов "простых" и "средних", хотя классические сейчас решаю практически все и из раздела "очень сложных". Пока не могу понять причины этого: вроде, ничего "особенного" диагональные не должны содержать (кроме уменьшения количества вариантов на диагоналях). Может я пока что-то не улавливаю в "специфике жанра"? Буду благодарен за ответ.

Gefällt mir + 1     12
nekonyash 37  2017-09-15 15:59 + 1
Когда от обычных судоку начинаешь переходить на различные вариации, то поначалу бывают трудности. Так как на уже привычную головоломку приходится смотреть немного под другим углом, хоть и мозг пытается применять только уже известные методы.
В случае в диагональными (или X-судоку, как их еще называют) нужно не забывать, что введение двух новых зависимостей означает не только исключение кандидатов на линиях, но и применение известных методов к этим диагоналям. Например, на диагоналях частенько встречаются запертые кандидаты, группы. Получается, что дополнительные зависимости - это как введение еще одного измерения в судоку, приходится обобщать известные методы на новый лад.
Зато в итоге мышление становится более гибким и различные вариации головоломки даются проще :)
ssl1959 2  2017-09-15 19:27 + 0
Спасибо за ответ. То, о чем Вы написали я понимаю. Введение "диагональных" ограничительных условий, по идее, должно упрощать разгадывание за счет дополнительных зависимостей на диагоналях (как в любой строке или столбце). Мне кажется, что введение этих "упрощений" компенсируется такой расстановкой изначальных цифр, которая зачастую приводит к невозможности продолжения решения традиционными методами на более ранних стадиях, чем в обычных судоку. И, в итоге, не упрощает, а усложняет процесс решения.
Кроме того, мне не понятно следующее. Если ввести начальное условие любого Х-судоку в программу (например simple sudoku), то появляется предупреждение о наличии множества вариантов решения, чего, вроде, быть не должно.
nekonyash 37  2017-09-15 20:31 + 0
Вы правильно решили, что это не упрощение, а усложнение за счёт правильной расстановки чисел.
По поводу программ не знаю, не пользовалась, только писала чутка :)
Дайте скриншот судоку, где не получается решить дальше - я посмотрю.
ssl1959 2  2017-09-17 13:42 + 1
Вот, например, ссылка на скриншот http://images.vfl.ru/ii/1505644453/a54eb624/18633745.png
-

Те цифры, что мне удалось поставить относительно начального условия, выделил зеленым.wall :)
nekonyash 37  2017-09-19 15:22 + 0
Действительно сложный... Обычными методами решать не получается.
nekonyash 37  2017-09-20 17:00 + 3
Фух. Решение существует и одно единственно :D Так что автоматический решатель был не прав.
Из методов - есть некоторые отличия. Скажем, из простого: если на диагонали стоит всего 2 кандидата одного числа, то на пересечении 2-х столбцов и 2-х сток кандидаты этого числа будут исключены (это похоже на применение х-крыла к диагоналям). Некоторые остальные выводы пока не удалось формализовать. Но для решения конкретно этого судоку методы, основанные на рассмотрении кандидатов одного числа не помогут. Так же, на начальной расстановке мне не удалось построить нормальные цепочки из-за большого количества кандидатов >_> Наверное это все потому, что я пока не научилась нормально готовить цепочки чисел.
Это был диагональный судоку из какой категории? Средний? Или даже простой? :D Обычно простые диагональные решаются совсем влет. Моя программка на телефоне дает мне такие диагональные судоку уровня "жесткий" (это который выше сложного), что я их решаю влет. У меня есть подозрение, что моя программа меня сильно балует, но, почему-то, меня это не радует.
ssl1959 2  2017-09-21 12:28 + 0
Поздравляю! Мне сдвинуться не удалось. То, что Вы указали по специфике диагональных - надо осознать (практики еще маловато) :(
За это время нашел программку, которая позволяет решать именно диагональные: она действительно дает единственное решение этого (о множестве предупреждают программы для решения классических, без возможности ввода диагональных ограничений). К сожалению, этот решатель выдает только результат, без возможности пошагового анализа, поэтому толку от него с точки зрения набора опыта никакого. Если не сложно, киньте пару шагов от этого положения с короткими комментами - буду пробовать набивать шишки дальше :)
Интересно, что этот судоку размещен в журнале под рубрикой "простые" :D Видимо они их расставляют от балды, т.к. "средний" и "сложный" диагональные в этом же журнале мне поддались, хотя и не сразу.
nekonyash 37  2017-09-21 15:13 + 2
Для начала нужно расставить всех кандидатов. Так как я решалки для диагональных не имею, то делала все в экселе, извиняйте за скриншоты... Должно получиться следующее:
-


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

где синяя "#" - это места, где стоят другие числа, зеленое "-" - это исключенные кандидаты, красные двойки - это места, где уже стоят числа.

Здесь цель - анализируя только возможные места для двоек понять, где числа быть не может. То есть, если в определенную клетку поставить 2 и сразу или через несколько ходов будет видно противоречие (в одном из столбцов, строк, квадратов или диагоналей не окажется двойки вообще), то значит, что из этой клетки кандидата нужно убрать. Обычно (матерые судокоисты) глазками находят места, где находится противоречие, опираясь на свой богатый опыт. Я, как распоследняя лентайка, предпочитаю графические методы, которые позволяют рассмотреть подробно каждое число с минимальным влиянием невнимательности.
Далее я рассмотрю исключение лишних кандидатов двойки так, как это делаю я, когда считаю судоку слишком сложным, чтобы решать его исключительно глазами.
1. Нужно завести еще пару картинок как выше. Сначала все 3 квадрата абсолютно одинаковы. Первый нужен чтобы не забыть, какая исходная задача, он остается неизменным. На втором делаем временные отметки. На третьем результирующие итоги.
2. Во втором квадрате я выбираю любую клетку, ставлю туда кружочек и начинаю решать, проставляя в места двоек крестики. В итоге получаю либо некоторую расстановку чисел, либо ошибку. На картинке изображено найденное мной возможное решение:
-

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

Дальше нужно вернуться к пункту 2 - стереть временные отметки и рассмотреть решение, которое еще не было отмечено в результирующем квадрате.
3. б. Я взяла следующее число и напоролась на ошибку:
-

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


Я рассматриваю возможные решения до тех пор, пока полностью не заполню результирующий квадрат:
SPOILER
-

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

После этого можно сделать проверку стандартными методами, искать группы, если что-то нашлось, то снова пройтись по всем числам. Когда-то это все не помогло и образовался очередной тупик - все становится еще страшнее. Кандидатов все еще много, а решения еще не видно. Я сначала проверяла различные варианты неглубоким подбором (1-7 ходов), где применять подбор выбрала как левая пятка прикажет. Левая пятка в судоку явно понимает мало, так что в хороший варианты она не попадала. Но пока я занималась подбором - были выявлены места, которые весьма часто участвуют при подборе, а так же числа, которые часто участвуют.
SPOILER
В итоге я поняла, что моя левая пятка была категорически не права относительно восьмерок. Восьмерка в нужном месте в нижнем правом дает
ход дальнейшему решению! Правда, очень недалеко.

SPOILER
Дальше я снова решила положиться на чутье пятки, но, к счастью, это длилось недолго и я вернулась к восьмеркам - на этот раз в левом верхнем квадрате. И снова недалеко ушла, дольше всех кандидатов перепроверяла и группы высматривала.


Потом я стала запоминать/записывать изменения, когда я рассматриваю 2-4 равновероятных решения. Если где-то числа ставятся любые, но только не число Х - то, может быть, число Х следует исключить? А если при любом варианте ставится число Y - то это ведь то, что и должно там стоять.
SPOILER
Я рассмотрела девятки, там было всего 4 возможных варианта расстановки девяток и если правильный только один - то это сразу огромный прогресс в решении. Итого я нашла под каждый вариант опорную точку (она не встречается в других вариантах), и проверяла даст ли простановка 9 в этой точке ошибку. Одну 9 удалось исключить - медленно, но ползу к решению.


Дальше спойлеров не будет, я вошла в транс и смутно помню что-то с единицами (возможно), коварные восьмерки (и не могу вспомнить, как это понимать - стоит на них обращать внимание, или нет). А потом внезапно судоку решился. Я, получается, три дня его решала. Не полных (еще работу работать приходится), но все же...
ssl1959 2  2017-09-21 18:28 + 1
Большое спасибо за труды rose Чтобы осознать и проанализировать все, мне явно потребуется существенно больше, чем три дня, хоть неполных, хоть полных... Ну а в транс войду, судя по всему, гораздо раньше :)
nekonyash 37  2017-09-21 18:36 + 0
По моему, лучше до уверенности порешать х-судоку попроще. Чтобы лучше осознать особенности и привыкнуть к тому, что диагонали тоже нужно учитывать.
Зато потом, когда переключаешься с диагональных, нужно отвыкнуть их учитывать. Можно после этого переключиться на простые судоку, потом на мультисудоку, потом на "волнистые" (там где основные области не квадратные) и обратно на х-судоку, чтобы основательно отучить мозг думать, будто решение судоку ограничивается классическими известными методами :D
ssl1959 2  2017-09-22 11:43 + 0
Так я, собственно, и хотел с "попроще" начать, это классификация журнальная виновата :)
Спасибо еще раз.
nekonyash 37  2017-09-22 16:03 + 1
Накидала судоку по уровням сложности от простых до нормальных (но не сложных):
https://docs.google.com/spreadsheets/d/1x2ap4xtuu9bwwpMEYYLKzbCKvMR4PhR6VvPGvcQfukI/edit?usp=sharing

Увы, но действительно сложные моя программка мне не дает. Все решается стандартными методами. В нормальных периодически сложно найти тот самый метод, применяемый здесь, но все решается без подбора.
Wenn Sie eine ungenaue oder fehlerhafte Übersetzung der Elemente der Website-Benutzeroberfläche gefunden haben, teilen Sie uns dies bitte mit: @GrandGames
:)
Minimiertes Fenster wiederherstellen