2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5, 6  След.
 
 AI Escargot...
Сообщение22.05.2007, 20:31 


22/05/07
1
Для меня так и осталось загадкой почему судоку "AI Escargot" считается самым сложным. Решил за 2 часа с одним подбором первого уровня. может я конечно чего-то не понимаю, но о каком миллиарде комбинаций там идет речь??
Для меня лично судоку Lion'а были сложнее, за что большое спасибо :D

 Профиль  
                  
 
 
Сообщение02.06.2007, 00:28 


21/04/07
7
пожалуйста, подскажите, что значит симметрия и ассиметрия в судоку?

 Профиль  
                  
 
 
Сообщение08.06.2007, 19:23 
Заслуженный участник
Аватара пользователя


26/11/06
696
мехмат
Предлагаю еще один оригинальный вид сканворда --- ХИТОРИ. Суть игры: вычеркнуть из таблицы некоторые числа так, чтобы среди оставшихся не было одинаковых, стоящих в одном ряду или одном столбце. При этом должны соблюдаться следующие правила:
1) вычеркнутые числа не могут стоять рядом (т.е. соприкасаться сторонами квадратиков; по диагонали можно);
2) множество невычеркнутых чисел должно быть связным.

Предлагаю подумать над следующим хитори:

    $$\begin{array}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}\hline 
9 & 3 & 6 & 4 & 8 & 8 & 15 & 6 & 12 & 1 & 5 & 2 & 12 & 3 & 15\\ \hline 
13 & 4 & 4 & 5 & 6 & 10 & 13 & 14 & 7 & 14 & 2 & 14 & 1 & 11 & 12\\ \hline 
7 & 9 & 5 & 15 & 11 & 9 & 1 & 10 & 9 & 3 & 12 & 4 & 6 & 5 & 8\\ \hline 
3 & 4 & 9 & 7 & 14 & 7 & 13 & 12 & 2 & 6 & 6 & 13 & 4 & 10 & 8\\ \hline 
12 & 15 & 8 & 13 & 7 & 5 & 6 & 11 & 5 & 14 & 3 & 13 & 5 & 9 & 2\\ \hline 
14 & 6 & 12 & 4 & 2 & 9 & 4 & 4 & 3 & 15 & 6 & 8 & 7 & 13 & 10\\ \hline 
11 & 2 & 4 & 6 & 15 & 15 & 2 & 1 & 5 & 9 & 8 & 4 & 10 & 3 & 13\\ \hline 
6 & 14 & 1 & 11 & 5 & 12 & 8 & 3 & 8 & 10 & 10 & 15 & 4 & 2 & 4\\ \hline 
8 & 12 & 8 & 10 & 7 & 2 & 11 & 6 & 14 & 4 & 10 & 9 & 15 & 5 & 7\\ \hline 
5 & 13 & 15 & 3 & 13 & 3 & 14 & 10 & 6 & 12 & 7 & 12 & 11 & 1 & 4\\ \hline 
6 & 10 & 3 & 1 & 8 & 4 & 7 & 2 & 11 & 7 & 14 & 7 & 7 & 15 & 4\\ \hline 
2 & 8 & 7 & 12 & 1 & 4 & 5 & 9 & 13 & 13 & 15 & 13 & 14 & 8 & 3\\ \hline 
12 & 8 & 4 & 1 & 13 & 14 & 12 & 7 & 13 & 5 & 11 & 3 & 14 & 9 & 9\\ \hline 
10 & 4 & 14 & 10 & 9 & 6 & 3 & 7 & 1 & 7 & 4 & 6 & 2 & 7 & 15\\ \hline 
2 & 7 & 2 & 9 & 12 & 14 & 8 & 13 & 10 & 6 & 4 & 14 & 3 & 13 & 11 \\ \hline 
\end{pmatrix}$$

 Профиль  
                  
 
 
Сообщение12.06.2007, 03:40 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
ГБ писал(а):
пожалуйста, подскажите, что значит симметрия и ассиметрия в судоку?

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

Добавлено спустя 2 минуты 49 секунд:

geomath писал(а):
В начальной расстановке у него 24 цифры и, что необычно, два квадрата из девяти - пустые. <…> Два я вот видел. Три наверное тоже может быть. А больше может быть?

Очевидно, что 7 свободных квадратов быть не может. Может ли 6? Не знаю, но почему бы не проверить на компе все комбинации (их не больше 51 миллиона)… Только лень: вряд ли это прибавит что-либо к нашему пониманию мира.

 Профиль  
                  
 
 
Сообщение25.06.2007, 09:48 
Аватара пользователя


25/06/07
1
NightmareZ, чего исходники не выкладываешь? +)
Короче мне тут надо было сделать судоку. Вот open source версия:
http://www.cs.dubki.ru/files/sudoku.zip (по дизайну почти как у NightmareZ) +)

P. S.
С алгоритмами так и не разобрался. Если кто подскажет - буду рад.
http://forum.sources.ru/index.php?showtopic=192143

 Профиль  
                  
 
 
Сообщение25.06.2007, 16:55 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Если хотите обсудить алгоритмы, я готов это сделать в Computer Science (может быть, там уже об этом говорили). Хотя, с моей точки зрения, примитивные до безобразия алгоритмы работают.

В некотором смысле, алгоритмически интересна задача построения судоку.

 Профиль  
                  
 
 
Сообщение30.07.2007, 13:52 
Аватара пользователя


27/08/06
23
Drakon писал(а):
NightmareZ, чего исходники не выкладываешь? +)

Выложил: http://systemhalt.org/index.php?req=MakarovSudoku

 Профиль  
                  
 
 
Сообщение16.08.2007, 01:21 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
А встречалась ли кому-нибудь нетривиальная информация о глобальных свойствах судоку? Я имею в виду утверждения типа «каждая цифра встретится в центре 3x3 блока ровно один раз» (это утверждение заведомо неверно). Ясно, например, что больше трех раз быть не может, а три — может. Но известны ли нетривиальные факты такого типа (возможно, о больше, чем одной цифре)?

 Профиль  
                  
 
 
Сообщение17.08.2007, 17:10 
Аватара пользователя


15/11/06
2689
Москва Первомайская
Всё никак не собирусь полистать книгу "Судоку для «чайников»", все-таки это книга, а не просто сборник задачек...

http://www.dialektika.com/books/978-5-8459-1271-8.html (с оглавлением)

 Профиль  
                  
 
 
Сообщение23.08.2007, 14:27 
Аватара пользователя


15/11/06
2689
Москва Первомайская
Неужели судоку будут решать теперь и в школе?! Я видел в метро, как девочка - с виду второклассница - рассматривала судоку в книжке, похожей на учебник и, видимо, только что купленной к 1 сентября. Судоку-задачка у нее, конечно, замечательная: 8 из 9 квадратов заполнены целиком, а центральный квадрат - совершенно пустой...

 Профиль  
                  
 
 
Сообщение16.10.2007, 16:14 
Аватара пользователя


15/11/06
2689
Москва Первомайская
Изображение
http://www.planetax.ru/catalog/detail.php?ID=29

 Профиль  
                  
 
 Re: Судоку
Сообщение13.05.2009, 18:16 


13/05/09
1
Помогите кто может! Мне нужно построить алгоритм по которому из судоку убираются цифры что бы это судоку однозначно решалось? Если кто знает ответьте на форуме. Еще алгоритм составления программы которая решает судоку. Пускай хоть перебором но что бы компьютер мог решать. Заранее спасибо

 Профиль  
                  
 
 Re: Судоку
Сообщение13.05.2009, 20:22 
Заслуженный участник


15/05/05
3445
USA
Apelsin" в сообщении #213588 писал(а):
Помогите кто может!
Ищите книгу:
Programming Sudoku, by Wei-Meng Lee - Apress. 2006

 Профиль  
                  
 
 Re: Судоку
Сообщение22.06.2009, 06:45 
Заслуженный участник


08/04/08
8562
Я прочел тут все, сам потренировался в решении судоку. Вот что у меня получилось (простые определения не привожу и формально тоже писать неохота).
1. Сложность судоку и алгоритмов его решения можно оценивать так. Пусть есть судоку С и алгоритм А, который позволяет его решить. Ходом в судоку назовем однозначное определение какой-либо цифры в какой-либо клетке. Состоянием судоку С назовем таблицу, получаемую из С в результате некоторой последовательности ходов. Тогда можно все состояния и ходы представить в виде ориентированного дерева с истоком С и стоком О - конечным состоянием С (оно одно)(дерево будет слоеное, так что расстояние от истока до стока по любому маршруту постоянно). У этого дерева можно найти среднее число степеней исходов из вершин - это и будет сложность судоку. Иначе говоря - среднее количество ходов, которые можно сделать при решении С. Найти такую сложность судоку сложнее, чем решить его. Можно также учесть количество элементарных шагов алгоритма А для хода - получится средняя взвешенная сумма. Если у алгоритмов А1 и А2 множества элементарных шагов совпадают, то оценивая сложность решения некоторого судоку С с помощью А1 и А2 и получая оценки S1 и S2, можно сравнивать эффективность алгоритмов А1 и А2. Усредняя по всевозможным судоку, можно определить, какой из алгоритмов эффективнее. Но эта задача, видимо, очень тяжелая, хотя сразу очевидно, что алгоритмы, которые использует человек будут эффективнее алгоритмов тупого полного перебора.
(Можно также рассматривать среднее числа шагов по всем маршрутам)
2. Хорошо бы придумать такой алгоритм решения судоку, чтобы он основывался на тех способов, которые использует человек, но решал бы любое судоку. В процессе решения нашел 3 простых алгоритма.
Обозначим горизонтали слева направо буквами a,b,c,...,h,i, а вертикали снизу вверх 1,2,...,9, клетки - парами буква-цифра (напр (g,5)=g5), ограничениями назовем В-,Г- и К-ограничения. В-ограничения - это условия вида {x1,x2,...,x9} = {1,2,...,9}, где x лежит в {a,b,...,i}. Г-ограничения - это условия вида {ax,bx,...,ix} = {1,2,...,9}, где x лежит в {1,2,...,9}. К-ограничения - условия по типу {a1,a2,a3,b1,b2,b3,c1,c2,c3}={1,2,...,9}. Каждому ограничению F взаимно-однозначно соответствует его вертикаль, горизонталь или квадрат - множество клеток M(F).
Алгоритм А1: берем любое ограничение F и цифру х, которой нет в заполненных клетках M(F). Если для всех незаполненных клеток k из M(F), кроме одной - u, подстановка х в k ведет к невыполнению какого-то другого ограничения F2, то в u должно стоять х. А1 на каждом ходе перебирает все 27 ограничений, и если хотя бы одни х и u найдены, то он его вставляет x в u и перебирает заново. А1 останавливается, если на очередном ходе х не был найден.
Думаю, что А1 доступен всем и 99% судоку, упомянутых Leon может быть решено им. Ни одно из 3-х судоку здесь написанных, решить по А1 у меня не получилось (хотя я мог ошибиться, считал вручную).
А2 у меня точно сформулировать не получилось. Смысл был в том, что возможны такие случаи, когда для того, чтобы исключить все клетки, кроме одной, куда мы хотим вставить х, для данного ограничения, достаточно знать не сами клетки, где тоже стоят х, а только их координаты. Но потом обнаружилось, что во всех таких случаях удается взять другое ограничение, рассмотрение которого по А1 ведет к тому же результату. То есть А1 и А2 получились эквиваленты (строго я, ессно, не доказывал).
А3 работает на каждом ходе как алгоритм А1 с последующим применением следующеих шагов. С учетом заполненных клеток ограничения F разбиваются на более мелкие ограничения F1, F2,..., а потом А1 применяется к ним. Тут проще на примере. Пусть а1=1, а2=2, а3 = 3, b1=4, b2=5, b3=6, g2=7, i2=8, остальные пусты (безразличны). Тогда К-ограничение принимает вид F:{c1,c2,c3}={7,8,9}, а ввиду g2=7, i2=8 оно разбивается на F1:{c1,c3}={7,8}, F2:{c2}={9}, к которым мы уже и будем применять А1. В данном примере, конечно, сразу c2=9, но это только в случае одно элементных множеств.
Очевидно, хотя бы на этом примере, что А3 не сводим к А1.
Достаточно ли А3 для решения любого судоку? - я не знаю. Хотя мне пока даже 3-е судоку здесь им решить не удается (вручную делал, мог ошибиться).

 Профиль  
                  
 
 Re: Судоку
Сообщение26.06.2009, 06:23 
Заслуженный участник


08/04/08
8562
"Поскольку эту фигню никто читать не будет, сердечник трансформатора выполним из дерева..."
Насчет А3 чушь написал. Лучше А1 дополнить следующим подалгоритмом. Если F - ограничение и u - незаполненная клетка и в клетке, исходя их других ограничений, не может стоят ни одной цифры, кроме х, то в u стоит х.
Получим алгоритм А0. Он всем доступен и понятен. 3-е судоку (Lion) решается по А0, 1-е и 2-е - не решается.
Действительно, пусть H(u) - множество допустимых цифр в клетке u на данном шаге. Тогда по А0 можно в u поставить x тогда и только тогда, когда H(u)={x}. Множество всех H(u) легко вычисляется и в 11-м состоянии в 1-м судоку (Lion) одноэлементных множеств нету (во 2-м судоку (Наш ответ Чемберлену) такая ситуация вылазит в 7-м состоянии).
Что делать?
З.Ы. В связи с А0 неясно, как решает судоку ГБ? Было бы оч интересно знать! А сказка про то, что их решит только гений становится серьезней.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 78 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: CDDDS


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group