Для сложных СУДОКУ. Sudoku – Игра разума. Головоломки, Кроссворды.
Бесплатные программы решения на нескольких языках программирования.



1. О Судоку (Sudoku) или ВСТУПЛЕНИЕ…

японская головоломка Судоку

Для тех, кто не знаком с Судоку (Sudoku) читать дальше не имеет смысла.
Для тех, кто увлекается Судоку (Sudoku), но не интересуется программированием, целесообразно скачать программу и использовать ее по прямому назначению.

А для программистов, может быть, будет интересно проанализировать алгоритм решения…

Из Википедии мы знаем, что долгое время оставался открытым вопрос о минимальном количестве открытых клеток, необходимых для однозначного решения судоку. Например, не было известно, существует ли однозначно решаемая судоку, в которой известны (открыты) всего 16 клеток. И только в январе 2012 года проект распределённых вычислений на платформе BOINC убедительно доказал, что однозначно решаемых судоку с 16 подсказками не существует…


2. Открытый исходный код VBA для решения головоломки Судоку (Sudoku) в Excel

Это не студенческое задание.
Так, из спортивного интереса, я когда-то написал программку для решения этой японской головоломки на VBA (Excel).

Целью было - просто проверять, имеется ли решение для данного варианта конкретной Судоку. Поэтому и решал методом простого перебора с проверкой истинности условий по всем 18 линиям и 9 квадратикам.
Судоку 9х9 в VBA Excel

Если Вы вписали число в клетку, то при старте шрифт в этой ячейке станет красным и уже ни программа, ни кнопка «Очистить» изменять ее не будут. Такое право (изменять или очищать красную ячейку) предоставляется только пользователю…
решение Судоку в VBA Excel
Конечно, не рационально и долго.
Почти целую минуту…
Хотя для человека это недостижимый результат…

решение Судоку исходный код VBA

Кого интересует код на VBA (Excel)
решение сплошным перебором – скачивайте бесплатно...
Файл xls (2003), так что у всех откроется...
Этим же файлом могут воспользоваться те, у кого не установлена .NET Framework 4.
Только макросы не отключайте...

3. Интеллектуальное решения головоломки разума Судоку (Sudoku) – программа на C# (VS 2008)

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

Мы с Павлом Жигулиным обсуждали и разрабатывали предметную область вместе, а реализацию программы на своем любимом языке C# Павел делал в основном один.
На мой взгляд, задача оказалась менее заковыристой, чем казалась на первый взгляд (но не знаю, как Павел на это дело смотрит).

Минимум классов предметной области:

  • Доступность
  • Клетка
  • Регион
  • ход

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

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

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

Программа работает практически мгновенно. При условии, что Судоку реальное (т.е. не менее 17 клеток на начальный момент заполнено)… Если заданы значения одной или двух клеток, то вариант может быть и не предсказуемым… Например: «решение не найдено», но над этим мы еще поработаем.

Кроме того, программа позволяет при первом найденном решении, продолжить поиск и будет останавливаться при каждом следующем найденном решении, услужливо спрашивая пользователя: «Продолжить? Или уже достаточно?».

4. Судоку (Sudoku) бесплатно скачать программу на компьютер


поиск всех вариантов решения Судоку программа на C#

Скачивайте и тестируйте программу,

а через некоторое время исходный код будет открыт, и, конечно,
в первую очередь для читателей рассылки ! …

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

5. Удобно использовать Судоку (Sudoku) при онлайн (online) играх на время

Какие бы сложные варианты головоломок Судоку (Sudoku) не встретились, вы можете не сомневаться, что решение будет найдено.
Можете проверять себя… Можете поражать противников скоростью просчета вариантов.

Я лично, как апологет кибернетики «черного ящика» (и Искусственного Интеллекта в целом)
получил большое удовольствие от проделанной работы…

Другие примеры на тему «Компьютерные игры (учебные, простенькие)»

Другие примеры на языках «C»,«C++»,«C#»

Можно достаточно легко переделать программу на составление (генерацию) судоку...





Если на этой странице не нашлось того, что Вы так искали...

         Не расстраивайтесь, не все потеряно... Смело щелкайте...

исходный код на заказ. orenstudent.ru Автоматизация документов MS Office. orenstudent.ru исходный код на заказ. orenstudent.ru Помогите найти и устранить ошибку в исходном коде программы. orenstudent.ru Skype-консультирование по программированию
Скайп-консультации

Акция !!!
Весь код по 49 руб


требуются
школьники!


и СТУДЕНТЫ!
Кому не плевать
на деньги!
Сайт помощи студентам по программированию и информатике

Program code