Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Японские кроссворды...


Автор: Haitan_Srany 18.8.2003, 09:48
Ну! товарищи программисты! biggrin.gif кто когда-нибудь думал на тему универсального алгоритма для угадывания японских кроссвордов? помогите пожалуйста на эту тему... кто чем может

Автор: Step 18.8.2003, 11:06
просто надо переложить твои размышления на машину. начинать с больших чисел, определять однозначные, вычеркивать невозможные, переходить к другим числам, опять определять однозначные и вычеркивать невозможные, и т.д. проходить столько раз пока все не будет отмечено, если кроссворд составлен не правельно то необходимо применять вероятностную модель...

Автор: Haitan_Srany 18.8.2003, 15:12
Если я это сделаю то получу интеллект прямо!!! Не хуже чем у меня!!! Хоть и в одной области... по-моему так не получиться... это не алгоритм и первая мылсь которая пришла в голову!!!

Автор: December 19.8.2003, 02:25
Haitan_Srany Что-то низкого ты уровня мнения об интеллекте. Открою тебе страшную тайну, интеллект способен на большее, только никому не говори.
А Step всё абсолютно правильно тебе сказал - я так делал, и не один я. Если не так, то тупым перебором.

Автор: Haitan_Srany 19.8.2003, 11:28
Ну вот и рассказал бы мне про этот самый тупой перебор!

Автор: maxim1000 19.8.2003, 12:30
в этом случае можно сделать перебор не таким тупым, как обычно smile.gif
ставим первую точку в 1
далее цикл:
1. ставим следующую точку в один
2. проверяем, противоречит ли это чему-нибудь
3. если не противоречит, подбираем следующую точку
4. если противоречит, делаем "откат"
возвращаемся на предыдущую точку
если там 1 - меняем ее на ноль и идем дальше
если там уже 0 - делаем "откат" еще на одну позицию
еще нужно подумать над тем, что значит следующая и предыдущая точка, т.е. над последовательностью обхода игрового поля (хотя размышления об этом, думаю, можно отложить на потом)

Автор: Black_Joker 19.8.2003, 15:35
Недавно видел подобную пргу. Работает быстро и наглядно, масштабирует размер ячейки автоматически и т.п.

Автор: Kefir 19.8.2003, 19:35
а чем всё таки "умный" вапиант не проходит? чем плохо?

Автор: suborg 25.8.2003, 19:52
Года два или три назад писал программу для решения таких кроссвордов. Использовал тупой перебор, но результат меня вполне удовлетворил. Хотел таким образом выигрывать деньги, но оказалось, приз дают не первому разгадавшему, а одному из первой тысячи wink.gif
Я делал так: брал например строку в поле, помещал в эту строку все назначеные ей группы клеток. Ну, то есть там если в строке должно быть 5 и 2, то соответственно создавал 2 группы, одну на 5 клеток закрашенных, другую - на 2, и начинал как бы двигать эти группы по строке, отмечая те ячейки, где группа "засветилась". Если в конце перемещений кол-во "засветок" на ячейке равно кол-ву перемещений, значит эта ячейка точно должна быть закрашена. Получается итеративный алгоритм, очень лобовой, но вполне рабочий.

Автор: gu 25.8.2003, 21:51
http://algolist.manual.ru/misc/japancross.php
Там целая статья посвященная этому

Автор: Zzz 29.8.2003, 11:06
Цитата(gu @ 25.8.2003, 13:51)
http://algolist.manual.ru/misc/japancross.php
Там целая статья посвященная этому

В прошлом году писал курсовую на эту тему. Алгоритм брал оттуда. Правда пришлось переделать алгоритм с паскаля на С++ (курсовая по ООП). Результат меня вполне удовлетворил. Решает даже большие кроссворды за приемлемое время, причем находит все возможные варрианты решения.

Автор: Таисия1 19.8.2016, 15:25
я думала мы про кросорды в каких можно зарисовывать клеточки и картинку получать !! я нашла такой сайт http://biggestgame.ru/pictures дулала кто обьяснит как правильно это делать!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)