![]() |
Модераторы: Akella |
![]() ![]() ![]() |
|
LKhiger |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
С последней версией кода стало меньше, а решение достигается быстрее.
Так level-3 Судоку решатель выдаёт за секунду. level-4 Судоку выдаёт за 10 секунд.... Большиство газетных Судоку решаются за секунды, или доли секунды. Также выдаёт правильные решения при неоднозначном ответе. Попробуйте. There is level 3 sudoku, having 2 empty lines: Sudoku Line XXXXXXXXX X7XXX6X3X X3X72XX4X 7XXXX8XX1 6XX3X7XX5 5X91XXXXX X8XX91X2X X916XXX7X XXXXXXXXX Line 1: | 9 | 6 | 2 | 8 | 3 | 4 | 1 | 5 | 7 | Line 2: | 8 | 7 | 4 | 5 | 1 | 6 | 9 | 3 | 2 | Line 3: | 1 | 3 | 5 | 7 | 2 | 9 | 6 | 4 | 8 | Line 4: | 7 | 2 | 3 | 9 | 5 | 8 | 4 | 6 | 1 | Line 5: | 6 | 1 | 8 | 3 | 4 | 7 | 2 | 9 | 5 | Line 6: | 5 | 4 | 9 | 1 | 6 | 2 | 7 | 8 | 3 | Line 7: | 3 | 8 | 7 | 4 | 9 | 1 | 5 | 2 | 6 | Line 8: | 2 | 9 | 1 | 6 | 8 | 5 | 3 | 7 | 4 | Line 9: | 4 | 5 | 6 | 2 | 7 | 3 | 8 | 1 | 9 | Our solver spent 11 second to find this single solution. Now we make simple experiment: we'll change line 4 by remove 1 from source string: 7XXXX8XX1 ==> 7XXXX8XX0 We expect the same single solution, but not. Because we have 2 empty lines we'll have multiple solutions. Ok, every solution will shown to you, but how ? Line 1: ........ Line 1: ........ .................. Line 1: ........ Line 2: ........ Line 2: ........ .................. Line 2: ........ etc.... How combine these lines in complete sudoku solutions ? For this I created the new conception of (column) named Weight. The weight has to be unique for every single solution. Weight = 'Line 1:... ' || 'Line 2:... ' ||.... || 'Line 9:... '. Then I made Group By and Order BY (Weight & Line##). As Result: Sudoku Line XXXXXXXXX X7XXX6X3X X3X72XX4X 7XXXX8XXX 6XX3X7XX5 5X91XXXXX X8XX91X2X X916XXX7X XXXXXXXXX Line 1: | 1 | 6 | 2 | 8 | 3 | 4 | 7 | 5 | 9 | Line 2: | 9 | 7 | 4 | 5 | 1 | 6 | 8 | 3 | 2 | Line 3: | 8 | 3 | 5 | 7 | 2 | 9 | 6 | 4 | 1 | Line 4: | 7 | 1 | 3 | 9 | 5 | 8 | 2 | 6 | 4 | Line 5: | 6 | 2 | 8 | 3 | 4 | 7 | 1 | 9 | 5 | Line 6: | 5 | 4 | 9 | 1 | 6 | 2 | 3 | 8 | 7 | Line 7: | 3 | 8 | 7 | 4 | 9 | 1 | 5 | 2 | 6 | Line 8: | 2 | 9 | 1 | 6 | 8 | 5 | 4 | 7 | 3 | Line 9: | 4 | 5 | 6 | 2 | 7 | 3 | 9 | 1 | 8 | Line 1: | 1 | 6 | 2 | 8 | 3 | 4 | 7 | 5 | 9 | Line 2: | 9 | 7 | 4 | 5 | 1 | 6 | 8 | 3 | 2 | Line 3: | 8 | 3 | 5 | 7 | 2 | 9 | 6 | 4 | 1 | Line 4: | 7 | 1 | 3 | 9 | 5 | 8 | 2 | 6 | 4 | Line 5: | 6 | 2 | 8 | 3 | 4 | 7 | 9 | 1 | 5 | Line 6: | 5 | 4 | 9 | 1 | 6 | 2 | 3 | 8 | 7 | Line 7: | 3 | 8 | 7 | 4 | 9 | 1 | 5 | 2 | 6 | Line 8: | 2 | 9 | 1 | 6 | 8 | 5 | 4 | 7 | 3 | Line 9: | 4 | 5 | 6 | 2 | 7 | 3 | 1 | 9 | 8 | Line 1: | 1 | 6 | 2 | 8 | 3 | 4 | 7 | 5 | 9 | Line 2: | 9 | 7 | 4 | 5 | 1 | 6 | 8 | 3 | 2 | Line 3: | 8 | 3 | 5 | 7 | 2 | 9 | 6 | 4 | 1 | Line 4: | 7 | 2 | 3 | 9 | 5 | 8 | 1 | 6 | 4 | Line 5: | 6 | 1 | 8 | 3 | 4 | 7 | 2 | 9 | 5 | Line 6: | 5 | 4 | 9 | 1 | 6 | 2 | 3 | 8 | 7 | Line 7: | 3 | 8 | 7 | 4 | 9 | 1 | 5 | 2 | 6 | Line 8: | 2 | 9 | 1 | 6 | 8 | 5 | 4 | 7 | 3 | Line 9: | 4 | 5 | 6 | 2 | 7 | 3 | 9 | 1 | 8 | Line 1: | 1 | 6 | 2 | 8 | 3 | 4 | 9 | 5 | 7 | Line 2: | 9 | 7 | 4 | 5 | 1 | 6 | 2 | 3 | 8 | Line 3: | 8 | 3 | 5 | 7 | 2 | 9 | 6 | 4 | 1 | Line 4: | 7 | 1 | 3 | 9 | 5 | 8 | 4 | 6 | 2 | Line 5: | 6 | 2 | 8 | 3 | 4 | 7 | 1 | 9 | 5 | Line 6: | 5 | 4 | 9 | 1 | 6 | 2 | 7 | 8 | 3 | Line 7: | 3 | 8 | 7 | 4 | 9 | 1 | 5 | 2 | 6 | Line 8: | 2 | 9 | 1 | 6 | 8 | 5 | 3 | 7 | 4 | Line 9: | 4 | 5 | 6 | 2 | 7 | 3 | 8 | 1 | 9 | Line 1: | 9 | 6 | 2 | 8 | 3 | 4 | 1 | 5 | 7 | Line 2: | 8 | 7 | 4 | 5 | 1 | 6 | 2 | 3 | 9 | Line 3: | 1 | 3 | 5 | 7 | 2 | 9 | 6 | 4 | 8 | Line 4: | 7 | 1 | 3 | 9 | 5 | 8 | 4 | 6 | 2 | Line 5: | 6 | 2 | 8 | 3 | 4 | 7 | 9 | 1 | 5 | Line 6: | 5 | 4 | 9 | 1 | 6 | 2 | 7 | 8 | 3 | Line 7: | 3 | 8 | 7 | 4 | 9 | 1 | 5 | 2 | 6 | Line 8: | 2 | 9 | 1 | 6 | 8 | 5 | 3 | 7 | 4 | Line 9: | 4 | 5 | 6 | 2 | 7 | 3 | 8 | 9 | 1 | Line 1: | 9 | 6 | 2 | 8 | 3 | 4 | 1 | 5 | 7 | Line 2: | 8 | 7 | 4 | 5 | 1 | 6 | 9 | 3 | 2 | Line 3: | 1 | 3 | 5 | 7 | 2 | 9 | 6 | 4 | 8 | Line 4: | 7 | 2 | 3 | 9 | 5 | 8 | 4 | 6 | 1 | Line 5: | 6 | 1 | 8 | 3 | 4 | 7 | 2 | 9 | 5 | Line 6: | 5 | 4 | 9 | 1 | 6 | 2 | 7 | 8 | 3 | Line 7: | 3 | 8 | 7 | 4 | 9 | 1 | 5 | 2 | 6 | Line 8: | 2 | 9 | 1 | 6 | 8 | 5 | 3 | 7 | 4 | Line 9: | 4 | 5 | 6 | 2 | 7 | 3 | 8 | 1 | 9 | Line 1: | 9 | 6 | 2 | 8 | 3 | 4 | 7 | 5 | 1 | Line 2: | 8 | 7 | 4 | 5 | 1 | 6 | 9 | 3 | 2 | Line 3: | 1 | 3 | 5 | 7 | 2 | 9 | 6 | 4 | 8 | Line 4: | 7 | 1 | 3 | 9 | 5 | 8 | 2 | 6 | 4 | Line 5: | 6 | 2 | 8 | 3 | 4 | 7 | 1 | 9 | 5 | Line 6: | 5 | 4 | 9 | 1 | 6 | 2 | 3 | 8 | 7 | Line 7: | 3 | 8 | 7 | 4 | 9 | 1 | 5 | 2 | 6 | Line 8: | 2 | 9 | 1 | 6 | 8 | 5 | 4 | 7 | 3 | Line 9: | 4 | 5 | 6 | 2 | 7 | 3 | 8 | 1 | 9 | Line 1: | 9 | 6 | 2 | 8 | 3 | 4 | 7 | 5 | 1 | Line 2: | 8 | 7 | 4 | 5 | 1 | 6 | 9 | 3 | 2 | Line 3: | 1 | 3 | 5 | 7 | 2 | 9 | 6 | 4 | 8 | Line 4: | 7 | 2 | 3 | 9 | 5 | 8 | 1 | 6 | 4 | Line 5: | 6 | 1 | 8 | 3 | 4 | 7 | 2 | 9 | 5 | Line 6: | 5 | 4 | 9 | 1 | 6 | 2 | 3 | 8 | 7 | Line 7: | 3 | 8 | 7 | 4 | 9 | 1 | 5 | 2 | 6 | Line 8: | 2 | 9 | 1 | 6 | 8 | 5 | 4 | 7 | 3 | Line 9: | 4 | 5 | 6 | 2 | 7 | 3 | 8 | 1 | 9 | we got 8 different solutions in 1 minute. Lenny P.S. Code in an attachment Это сообщение отредактировал(а) LKhiger - 11.10.2009, 20:17 Присоединённый файл ( Кол-во скачиваний: 16 ) ![]() |
|||
|
||||
LKhiger |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
Very Hard Sudoku (1 sec):
You can find: http://www.saidwhat.co.uk/veryhard.php Fiendish Sudoku (5 sec):
You can find http://www.saidwhat.co.uk/fiendish.php Lenny[U][/U] |
||||
|
|||||
LKhiger |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
Puzzletype: Slider Symmetrical Sudoku
Startnumbers: 28 Difficulty: Very hard <-- 1 sec -->
Showing puzzle number: 4137865 Puzzletype: Optimal Sudoku Startnumbers: 25 Difficulty: Super hard (554) <-- 3 sec --> http://www.menneske.no/sudoku/eng/ra...uperhardplus=1
Lenny |
||||
|
|||||
LKhiger |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
Elegant Sudoku.
With 2 empty regions. Starting with empty region. Startnumbers: 27. <-- 2 sec -->: Sudoku Line XXX7XXX85 XXXX45XX7 XXXX8123X X8XXXXX9X XX3X2X4XX X9XXXXX6X X7651XXXX 5XX47XXXX 12XXX3XXX
Lenny |
|||
|
||||
LKhiger |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
Минимальная заполненная Судоку.
Самая первая в списке всех заполненных Судоку.
Lenny |
|||
|
||||
Волшебник |
|
||||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 13.9.2009 Репутация: нет Всего: нет |
Я не понял и что с этим, длинным как змея, кодом делать, куда вставлять? ![]() |
||||
|
|||||
LKhiger |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
Спасибо за вопрос, г-н Волшебник. Теперь я знаю, что есть живые и здесь. Код длинный. Но ведь и задача не из простых. Он у меня работает в QDOBC, SPUFI, где угодно. Ведь он основан на SYSIBM.SYSDUMMY1. Вы должны заменить Source part, где "0" - свободные ячейки в Судоку и запустить code в работу. С уважением Lenny Khiger. ![]() ![]() ![]() |
||||||
|
|||||||
LKhiger |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
Необходимые пояснения:
В общем, можно сказать, что решение Судоку программным путём - это решение системы с неизвестным числом неизвестных (обычно не меньше 60 неизвестных) значения которых находятся в интервале [1,9]. Я решил эту задачу 7 способами. Имеется 7 версий решения. Вам я представил наиболее быстрый из всех. Lenny Khiger, ADSPA&VP@C. |
|||
|
||||
LKhiger |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
Today "Metro" NY page 23:
Easy - 0 sec
Hard - 5 sec
Lenny |
||||
|
|||||
LKhiger |
|
||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
Friday 10/23/09 "AM" NY page 32, level-4 <-- 10 sec -->
Result:
Friday 10/23/09 "Metro" NY page 20 HARD <-- 1 sec -->
Result:
Lenny ![]() Это сообщение отредактировал(а) LKhiger - 24.10.2009, 22:35 |
||||||||
|
|||||||||
LKhiger |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
Кому теперь нужны Судоки ?
Зачем нам голову ломать ? Не вижу в них большого проку, Их может СУБД решать ! ![]() ![]() ![]() Lenny Это сообщение отредактировал(а) LKhiger - 14.11.2009, 05:41 |
|||
|
||||
LKhiger |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
....Friday 13....
![]() ![]() ![]() ![]() 11/13/09 "Metro" NY page 25 HARD --> 1 sec <--
Result:
Lenny |
||||
|
|||||
LKhiger |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
Мне удалось сократить размер решателя Судоку почти на 5К не уменьшая его производительность.
Отдаю вам эту версию на тестирование. Кстати, вчерашнее Судоку была решена на нём. Скорость, как вы видите - прекрасная. Лёня Хигер. Присоединённый файл ( Кол-во скачиваний: 5 ) ![]() |
|||
|
||||
LKhiger |
|
||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
New Version of XHard Sudoku Solver
ThanksGiving Sudokus && New Version of XHard Solver
Lenny P.S. The New Version of Extra Hard Sudoku's Solver in attachment: Присоединённый файл ( Кол-во скачиваний: 2 ) ![]() |
||||||||
|
|||||||||
LKhiger |
|
||||||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 7.9.2009 Репутация: 2 Всего: 2 |
3 Sudoku: Very hard + Level-3 + Level-4: total time = 5 seconds:
Lenny |
||||||||||||
|
|||||||||||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Другие СУБД | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |