?

Log in

необычное судоку - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

необычное судоку [янв. 4, 2015|06:41 pm]
Anatoly Vorobey
[Tags|]

Программист и криптограф Бен Лори сказал как-то: "Судоку - это DoS-атака на человеческий интеллект".

Сегодня я потратил часа два на вот этот необычный вариант, но все же решил:

sudoku-empty
(можно нажать и получить размер больше)

Как в обычном судоку, нужно заполнить доску цифрами от 1 до 9, так, чтобы в каждой строке, каждом столбце, и каждом из девяти квадратов 3x3 цифры не повторялись. В отличие от обычного судоку, здесь нет заранее заполненных цифр, зато даны отношения больше-меньше внутри каждого из девяти квадратов 3x3. Решение есть, причем единственное. Приятного времяпровождения :)
СсылкаОтветить

Comments:
[User Picture]From: gray_bird
2015-01-04 04:44 pm
Глядя на подобные картинки я прихожу в бешенство!
Для чего люди мучаются, если обычный компьютер решит подобную задачу?
(Ответить) (Thread)
[User Picture]From: braindancer
2015-01-04 06:10 pm
Для чего люди мучаются, таская штангу, если ее легко можно поднять лебедкой?
(Ответить) (Parent) (Thread)
[User Picture]From: tlkh
2015-01-04 06:50 pm
Натренировавшись поднимать штангу, можно перенести умение на что-то более общественно полезное - поднимать там диваны или женщин.
А натренировавшись решать судоку, человек всего лишь натренировался решать судоку.
(Ответить) (Parent) (Thread)
[User Picture]From: Михаил Безух
2015-01-04 10:59 pm
С одной стороны, да, судоку - это вещь в себе, т.е. эти навыки в реальной жизни не могут пригодиться.
С другой стороны, решение подобных "ненужных" задач помогает держать мозги в тонусе - кто знает, какие там нейроны под черепом шевелятся, и как они нам пригодятся завтра.
(Ответить) (Parent) (Thread)
[User Picture]From: h_yuash
2015-01-04 11:24 pm
можно потом помочь женщине решить судоку :)
(Ответить) (Parent) (Thread)
From: huzhepidarasa
2015-01-05 03:40 am
Или вот умение быстро кататься на коньках очень пригождается в реальной жизни, если вдруг надо быстро убежать от белого медведя, а вы как раз на коньках, например.
(Ответить) (Parent) (Thread)
[User Picture]From: grundik
2015-01-04 07:24 pm
Пожалуйста, приведите пример программы, которая решает вот это вот судоку.
(Ответить) (Parent) (Thread)
[User Picture]From: ilya_dogolazky
2015-01-04 08:18 pm
перестановок девяти чисел несколько десятков тысяч, неравенства из условия уменьшают это число на порядки, так что всё это с лёгкостью перебирается; совершенно не понимаю, зачем такой фигнёй страдать, когда действительно написать программу проще (и в некотором смысле приятнее)
(Ответить) (Parent) (Thread)
[User Picture]From: _winnie
2015-01-04 09:41 pm
Пример программы, или не верю!
(Ответить) (Parent) (Thread)
[User Picture]From: ilya_dogolazky
2015-01-04 10:52 pm
если ваши навыки программирования составляют хотя бы один процент вашего же ЧСВ, то вы запросто эту программу самостоятельно напишете
(Ответить) (Parent) (Thread)
[User Picture]From: _winnie
2015-01-04 11:49 pm
Напишу, но сомневаюсь, уложусь ли я в 2 часа за которые задачу решил avva
(Ответить) (Parent) (Thread)
[User Picture]From: grundik
2015-01-05 10:37 am
Я, как стартер треда, просил просто дать программу. Я в программировании с 91 года, я читаю Норвига, я знаю, что написать можно. Об этом рассуждать совершенно неинтересно.

Интересно, что из всех людей, которые говорят "да проще написать", привёл решение только ОДИН (плюс автор журнала упомянул, что он доработал чужое решение).
(Ответить) (Parent) (Thread)
From: ilyakor
2015-01-05 04:12 pm
Программа (в "олимпиадном" стиле, написана с нуля за 7 минут, + ещё ~5 минут на вбивание знаков <> с картинки): http://ideone.com/8mKZAk

Почему все так недооценивают возможности написания говнокода на скорость...

Edited at 2015-01-05 16:13 (UTC)
(Ответить) (Parent) (Thread)
From: (Anonymous)
2015-01-07 04:33 am

ой..

Хотел уж восхититься, но.. 7 минут?? Тупо вбил, копируя с экрана. time cat >a.C сказал 15m1.964s. ОК, пару раз притормозил, пытаясь осмыслить, вычтем пару минут, равно не 7.
Говорите, печатаете быстро? Вбил знаки. 1m7.554

Забудем, что вбитый код пришлось исправлять, Вы конечно опечаток в таком темпе не делаете, на отладку времени не тратите...



(Ответить) (Parent) (Thread)
From: ilyakor
2015-01-07 10:04 am

Re: ой..

Нет, я просто пишу код в IDE, а не в блокноте - это сильно ускоряет процесс. Опечаток в начальной версии вообще не было, ошибка была одна и была найдена сразу (без отладки).

Вы всё же существенно недооцениваете скорость написания подобных программ - я уверен, что топовые спортивные программисты (вроде tourist'а) написали бы это существенно быстрее меня.
(Ответить) (Parent) (Thread)
[User Picture]From: ftqkatel
2015-01-05 07:24 am
интересно, какой алгоритм перебора здесь будет самым эффективным. Генетический?

но это конечно не отвечает на первостепенный вопрос )
(Ответить) (Parent) (Thread)
[User Picture]From: hyperpov
2015-01-04 08:35 pm
Не проблема написать.
(Ответить) (Parent) (Thread)
[User Picture]From: grundik
2015-01-05 10:31 am
Не проблема и решить.

В комментах один вариант уже предложили, и ещё один от avva (но он читор, не с нуля).

Вы программу дайте, чо рассуждать-то.
(Ответить) (Parent) (Thread)
[User Picture]From: obill
2015-01-04 08:55 pm
12*9 неравенства +
27 точных равенств
для 81 переменной на множестве целых чисел от 1 до 9.

Это можно и Матлабом решить. Или другими универсальными решалками.

Но можно и мозгом. Что сейчас и попробуем.
(Ответить) (Parent) (Thread)
[User Picture]From: obill
2015-01-04 10:49 pm
Не так уж и сложно оказалось.
(Ответить) (Parent) (Thread)
[User Picture]From: avva
2015-01-04 09:13 pm
Я сейчас любопытства ради добавил немного некрасивого кода к красивому решателю Норвига (http://norvig.com/sudoku.html), и программа легко нашла решение. Это не очень сложно.
(Ответить) (Parent) (Thread)
[User Picture]From: kit1980ukr
2015-01-05 05:57 am
Я решил при помощи constraint logic programming: http://sdymchenko.com/blog/2015/01/04/greater-than-sudoku-clp/
(Ответить) (Parent) (Thread)
[User Picture]From: avva
2015-01-05 08:17 am
Очень мило, спасибо!
(Ответить) (Parent) (Thread)
[User Picture]From: mr_k_bx
2015-01-04 05:13 pm
если есть "тренировка на повышение Ай-Кю" - это она.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: ninieltorwen
2015-01-06 11:06 am
Не знаю, почему вы так говорите. Я несколько лет решала много судоку пресловутый айкью как был 125 в пике, так и остался, и со временем навострилась решать их совершенно рефлекторно, мозг не включая. Это может быть некоторая тренировка восприятия, зрительной памяти, концентрации (хотя концентрация на судоку напоминает скорее транс), но не интеллекта.
(Ответить) (Parent) (Thread)
[User Picture]From: amarao_san
2015-01-04 05:11 pm
Частичное решение:

(Ответить) (Thread)
[User Picture]From: mr_k_bx
2015-01-04 05:11 pm
спасибо, порешаем. Я еще КЕНКЕН люблю.
(Ответить) (Thread)
[User Picture]From: spamsink
2015-01-04 05:57 pm
А-а-а! Человек-tsort!
(Ответить) (Thread)
[User Picture]From: Михаил Безух
2015-01-04 09:29 pm
Это еще не очень сложный вариант. Гораздо сложнее, когда 70% указанных здесь значков "больше" и "меньше" отсутствуют.
(Ответить) (Thread)
[User Picture]From: Михаил Безух
2015-01-04 10:56 pm
Решил за 1 час 20 минут.
Без ложной скромности - считаю, что результат не очень хороший, если учесть, что судоку я разгадываю часто, т.е. имею некоторый опыт.
(Ответить) (Parent) (Thread)
[User Picture]From: vb_k
2015-01-04 10:02 pm
Кошмар,2 часа ушло. Получилось.
(Ответить) (Thread)
From: (Anonymous)
2015-01-04 10:06 pm
По-моему мнению, решать перебором - это самый неинтересный способ. Гараздо интереснее логически найти единственное правильное решение
Решил за 1ч 50 мин
(Ответить) (Thread)
[User Picture]From: dima_i
2015-01-04 10:39 pm
1:35 ) -- вместо того, чтоб спать.
(Ответить) (Thread)
[User Picture]From: avla
2015-01-04 10:47 pm
Я вообще все головоломки с детства воспринимаю как DoS атаку
(хотя тогда и не было такого слова)
и отсылаю в игнор
(Ответить) (Thread)
From: ichthuss
2015-01-05 04:10 pm
Головоломками почему-то называют две совершенно разные категории задач: брутфорсообразные, типа этой, и задачи на мышление.
(Ответить) (Parent) (Thread)
[User Picture]From: bookworm_the
2015-01-10 10:29 pm
и путают интеллект с комбинаторикой (последнее - те же шахматы - перебор вариантов и только)

кстати, в этом свете новыми красками заиграла шутка про "это вам не шахматы - тут думать надо" %)
(Ответить) (Parent) (Thread)
[User Picture]From: nefedor
2015-01-05 03:30 am
Чуть меньше часа.
Простая. Сначала девятки, потом дальше до шестерок-пятерок, потом выписываются варианты и все просто решается.
(Ответить) (Thread)
From: smalgin
2015-01-05 04:24 am
Хотите таких и много?
Everyday Genius: Square Logic.

Отличная вещь для тренировки мозга, ИМО
(Ответить) (Thread)
[User Picture]From: avva
2015-01-05 09:07 am
посмотрю, спасибо.
(Ответить) (Parent) (Thread)
[User Picture]From: snyders
2015-01-05 04:50 pm

offtop

This song needs a much better translation
https://www.youtube.com/watch?v=Gq-U6InUCLM
(Ответить) (Thread)
[User Picture]From: migmit
2015-01-07 09:49 pm
Ага, тоже часа два. Не хронометрировал. На одной бумажке — нарисовал квадратик, переписал знаки и стал вычёркивать невозможные варианты.

В отличие от обычных судоку сложного уровня — никакого бэктрекинга не потребовалось.
(Ответить) (Thread)
[User Picture]From: negr_o
2015-01-08 09:07 am
вспомнил что у меня так и не добит регексп-кроссворд, который вы когда-то постили)
(Ответить) (Thread)