flashAnimatorOrg
@flashAnimatorOrg
Разгельдяй

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

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

На скриншотах показаны две разные головоломки которые привели к тупику:

5eb8543ecffc1294490285.jpeg

5eb8549903818935912568.jpeg
  • Вопрос задан
  • 665 просмотров
Пригласить эксперта
Ответы на вопрос 5
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Нужно искать "схождение" (точную позицию одной любой цифры) двух или более цифр после возникновения неопределённости.

По шагам:
1. Проставляете цифру до тех пор, пока не возникнет неопределённость.
2. Переходите к другой, и т.д.
3. Повторяете п.1
Т.е., как-бы "сворачиваете расхождения в спираль".
Профит!
Ответ написан
Комментировать
profesor08
@profesor08
Тут надо уметь просчитать наперед, делать это надо в уме, так как надо помнить что откуда идет и почему, и к каким результатам приведет та или иная цифра. Иногда надо принять решение по какому пути пойдет дальнейшее развитие.
Ответ написан
Комментировать
Adamos
@Adamos
А кто вам сказал, что сложные судоку должны решаться без перебора?
Человек в уме может прикинуть "если тут эта цифра, то..." на несколько шагов вперед, держа каждый из них в памяти.
Машина делает то же самое перебором. Это нормально.
Другое дело, что если вы делаете программу для составления судоку, вам стоит рассчитывать на решение ее человеком - а значит, необходимости глубоких переборов все-таки избегать.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Поиск в глубину с мини-максом. Тоже самое в шахматах и шашках и крестиках-ноликах. Меняются только ограничители на то куда можно ставить следующую фигуру. Основное ядро поискового алгоритма - это генерик. Обобщенный алгоритм если можно так сказать.
Ответ написан
Комментировать
@SirotaSOFT
Схожая проблема имеется и для более простых судоку 6 на 6.
Буду рад услышать идеи относительно следующего хода.5ebe6b542f67a126194487.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы