Анализ игры Судоку. История судоку Прообразом судоку -Магический квадрат, появился в Китае 2000 лет назад. Квадрат размером 3х3 клетки. В каждую клетку.

Презентация:



Advertisements
Похожие презентации
1 Интеллектуальные системы Лекция 3. Задачи удовлетворения ограничений. Поиск в условиях противодействия Вахтин А. А.
Advertisements

Номер варианта выбирается по параметру зачетки d 10 соотв Задача Коммивояжёра Имеется n городов, занумерованных числами.
Возможности Microsoft Excel. Автор: Боброва Татьяна Анатольевна, учитель информатики МОУ «Берёзовская средняя общеобразовательная.
Схема данных в Access Преподаватель: Французова Г.Н.
Этапы компьютерного моделирования. 1. Описание задачи Задача формулируется на обычном языке; Определяется объект моделирования; Представляется конечный.
Презентация по информатике на тему: «Интерактивные тесты в Microsoft Office Excel» Панафидина Л.М. МБОУ «СОШ 17» г. Новомосковск.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Контроль знаний Экспресс - контроль. Постановка задачи структурного синтеза.
Транспортная задача линейного программирования. Постановка транспортной задачи Однородный груз, имеющийся в m пунктах отправления (производства) А 1,
Основные этапы моделирования. Моделирование – исследование объектов путем построения и изучения их моделей. Моделирование – творческий процесс, и поэтому.
Транспортная задача частный случай задачи линейного программирования.
Таблицы Word План 1.Таблица в Word – это … 2.Способы создания таблиц 3.Форматирование текста в таблицах.
1. Строятся вершины первого уровня. Для них подсчитывается оценка ψ( ) 2. Ветвится вершина, которой соответствует лучшая оценка. Подсчитываются оценки.
Автор: учитель информатики МКОУ Плесской средней общеобразовательной школы Юдин Андрей Борисович Часть 1.
Microsoft word В то время как Windows все больше развивался и и привлекал интерес, к нему был перенесён и широко известный текстовый редактор фирмы Microsoft.
План-конспект урока (информатика и икт, 9 класс) по теме: Переменные:тип, имя, значение
ПОИСК В ПРОСТРАНСТВЕ СОСТЯНИЙ. Методы решения задач Представление задач в пространстве состояний
Как найти работу на портале JobTour? Несколько простых шагов, которые позволят Вам найти работу мечты с помощью нашего портала.
1.Откройте программу Microsoft Excel. 2.На первом листе Поставьте курсор в свободную ячейку и напишите тему 3.Сделайте аналогичную таблицу. Для этого на.
1 Массивы 2 Опр. Массивом называется совокупность однотипных данных, связанных общим именем. Основные характеристики массива: 1. Имя массива 2. Тип компонентов.
Транксрипт:

Анализ игры Судоку

История судоку Прообразом судоку -Магический квадрат, появился в Китае 2000 лет назад. Квадрат размером 3х3 клетки. В каждую клетку число от 1 до 9. Сумма чисел в любом столбце, строке и по диагонали равнялась 15. Леонард Эйлер( ). Магические квадраты для 9, 16, 25 и 36 ячеек. 1979г. Word Games magazine. Гарвард Гаррис. Su – число, duko – единственное. 12 ноября 2004г. The Times.

Правила и цель игры Квадрат 9х9. Цифры от 1 до 9. В строке столбце и малом квадрате 3х3 цифры не повторяются.

Правила и цель игры Несколько уровней сложности(сложность зависит не только от количества заполненных клеток, а и от положения). Разные по размеру(4х4, 9х9,16х16 и так далее. В журналах встречаются нестандартного размера, пр. 9х12). Приёмы решения одинаковы(не зависят от размера и сложности, так что один и тот же алгоритм подойдёт как для 9х9, так и для 16х16).

Способы решения судоку Как задачи CSP Множество переменных, Х1,Х2,…,Хn и множеством ограничений, C1,C2,…,Cm. Каждая Xi имеет непустую область определения Di (числа от 1 до 9) возможных значений. Каждое Ci включает некоторое подмножество переменных и задаёт допустимые комбинации значений для этого подмножества. Состояние задачи - присваивание значений некоторым переменным. Присваивание, которое не нарушает никаких ограничений, называется совместимым, или допустимым присваиванием. Полным называется такое присваивание, в котором учавствует каждая переменная, а решением CSP задачи является полное присваивание, которое удовлетворяет всем ограничениям.

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

Способы решения судоку Методы решения таких задач: – Поиск в ширину (n!*d n ветвей дерева) – Поиск в глубину Поиск в глубину может быть усовершенствован: – Эвристики(Minimum Remaining Values - MRV) – Предварительная проверка(распространение ограничений) – Хронологический поиск с возвратами(при неудаче возврат к предыдущей переменной, либо к переменной из конфликтного множества. Его определяет предварительная проверка)

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

Приёмы решения судоку Скрытые одиночки. 4 в зелёном блоке только в одной клетке.

Приёмы решения судоку Запертый кандидат. В пределах блока цифра только в одной строке. Из других блоков исключаем.

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

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

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

X-wing

Реализация программы Среда разработки – Delphi 7. 3 режима : – Решение вводимого судоку программой – Решение судоку, сгенерированного программой, пользователем – Генерация судоку, определённого уровня сложности Работает с судоку общего вида, однако тестировалась в основном для 9х9.

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

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

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

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

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

Итоги и цели Генерация судоку выбранного уровня сложности Тестирование работы алгоритмов решения для судоку произвольного размера Поиск новых приёмов решения судоку Задача судоку, имеющего единственное решение при минимальном количестве цифр. php

Итоги и цели