Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.02.06;
Скачать: CL | DM;

Вниз

А кто нить делал сканворды?   Найти похожие ветки 

 
Polkin ©   (2010-10-26 12:27) [0]

Добрый день!

Никто случаем не разрабатывал построение сетки скандвордной. А то случайно буркнул тему диплома... А задача оказалась не такой легкой.

Вроде порылся по инету, почитал, алгоритма построения сетки как такового нету. Мож кто нить делал?


 
Mystic ©   (2010-10-26 12:49) [1]

Я когда-то пытался строить с правого нижнего угла. Перебор + битовые маски по первой, второй, ..., последней, предпоследней, ... буквам.


 
Dennis I. Komarov ©   (2010-10-26 12:49) [2]

А в чем проблема то? И чего там на диплом такого?


 
И. Павел ©   (2010-10-26 12:58) [3]

Программа должна обеспечивать интерфейс для разработки сканворда, или шаблон наполнять словами, или и то, и другое?
И еще не понятно, в чем возникла сложность. ИМХО, тут могут быть 2 основные проблемы:
1. Не знаете, как этот перебор сделать - тогда берите тему попроще.
2. Знаете, как сделать, но не устраивает производительность. Тут можно покопаться. Например: подставлять сперва слова, имеющие на перекрестках часто встречающиеся буквы ("о", "а" и т.д.). Или генерировать кросворд не по заданному шаблону, а как получиться по ходу перебора, лишь бы симметрично. Ну или просто делать кроссворды поменьше размером :)


 
TUser ©   (2010-10-26 13:29) [4]

А на вход - что поступает? Словарь или словарь+сетка?


 
vajo   (2010-10-26 13:33) [5]

http://forum.vingrad.ru/topic-136778/kw-%EA%F0%EE%F1%F1%E2%EE%F0%E4.html


 
Polkin ©   (2010-10-26 13:58) [6]


> И. Павел ©   (26.10.10 12:58) [3]


В проге есть словарь (неск десятков тыс. слов). Она должна генерировать сетку и туда пихать слова.

1. С темой поздняк
2. Производительность не важна.


> Mystic ©   (26.10.10 12:49) [1]

Можно поподробнее


> vajo   (26.10.10 13:33) [5]

Тут немного другое - кроссворды, их то полегче буит... А скандинавские - жуть


 
polkin   (2010-10-26 22:10) [7]

ээхх...ну если и тут не помогут, значит нигде (((


 
Думкин ©   (2010-10-27 05:55) [8]


>  Мож кто нить делал?

Это ты замахнулся, конечно. Соболезную. Я только Эрудита писал.


 
И. Павел ©   (2010-10-27 08:32) [9]

> [6] Polkin ©   (26.10.10 13:58)

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


 
Mystic ©   (2010-10-27 17:52) [10]

> Можно поподробнее

А что подробнее? Cтроим битовые маски. Например, битовая маска всех слов, где первая буква "a", где вторая буква "a", ..., где N-я буква "a", где N-1-я буква а. Если максимальная длина слова 12, то всего получаем 24 * 32 = 768 разных битовых маск. Если слов 100 000, то получаем 768 * 100 000 / 8 ~= 10 M индекса.

Далее, например, у нас есть нечто такое


......=
......c
......у
......н
=баунти
...=кот


Смотрим, куда мы можем прилеплять слова. У нас есть двубуквенные сочетания *нк и *то. Соответственно, делая AND для битовых масок, где последняя "к" и где последняя "к" мы получаем битовую маску слов, которые можно впендюрить по вертикали. То же самое и в случае окончания *то. Потом выбираем тот вариант, где меньше слов возможно, и перебираем его в случайном порядке). И так пока не дойдем до финиша.



Страницы: 1 вся ветка

Текущий архив: 2011.02.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.008 c
2-1290065729
DoKZ
2010-11-18 10:35
2011.02.06
Indy TCP Client Server (Delphi 7)


8-1209231401
Sound
2008-04-26 21:36
2011.02.06
mp3 format


6-1233683745
Xandr
2009-02-03 20:55
2011.02.06
Почта


2-1289747895
Анонимус
2010-11-14 18:18
2011.02.06
Пара вопросов по Дэльфи 7


2-1290146683
Phoenix
2010-11-19 09:04
2011.02.06
TOraTable и Blob