Решение судоку с помощью правил производства
Я пытаюсь решить любую головоломку судоку, используя производственные правила, используя Drools в качестве механизма вывода. Один из примеров, упакованных с помощью Drools, - это решатель судоку, вот соответствующие правила:
... Но это не работает правильно. Все время одна или несколько ячеек в сетке оказываются пустыми, и программа сообщает о головоломке как о "нерешенной".
Кто-нибудь создал работающий логический решатель для судоку? Неважно, используемый язык или движок, я хотел бы увидеть набор правил, чтобы я мог адаптировать их для Drools
2 ответа
Здесь есть решатель судоку, написанный на CLIPS: http://clipsrules.svn.sourceforge.net/viewvc/clipsrules/examples/sudoku/
Не используйте транк (мастер на github сейчас), так как это нестабильно. Используйте последнюю версию со страницы загрузки. Видимо, этот пример был разбит уже в версии 5.1, поэтому вам понадобится версия 5.0... Вот проблема, она может быть решена для версии 5.2.0.M1, которая будет выпущена в любой день, в противном случае позже.