Реализация кроссворда как CSP - PullRequest
0 голосов
/ 16 февраля 2012

моя программа, написанная на c #, получает сетку из черных и пустых ячеек и список слов в качестве входных данных, и она должна соответствовать словам в сетке. Я хочу сгенерировать этот кроссворд с помощью алгоритмов CSP и хочу получить слова (наборы поперечных или нисходящих пробелов) в качестве переменных, но я не знаю, как определить, какие ячейки вместе являются переменной. например, если у меня есть эта матрица в качестве входных данных, 0 означает пустую ячейку, а 1 означает черную ячейку:

    0001
    0100
    0000
    1010

как моя программа может понять, сколько существует переменных и какова их длина? Я много раз пытался написать это с помощью вложенных «для», но не смог. Я буду оценивать любые баллы.

1 Ответ

0 голосов
/ 03 мая 2014

Если вы все еще читаете это, имеете ли вы в виду какие-либо алгоритмы CSP (или фреймворки) или также пытаетесь их создать?

Если вы используете какую-то платформу CSP, у них должен быть интерфейс для добавления ограничений для этой проблемы

Если вы хотите создать платформу CSP для этой проблемы, есть несколько ссылок (также на SO), которые касаются компиляции CSP и / или кроссвордов

например, http://thesis.cambon.dk/, используемый компилятором открытого кода CWC

...