Использование pyDatalog для хранилищ ограничений
Рассмотрим следующие правила:
pyDatalog.create_atoms('X')
pyDatalog.create_atoms('Y')
pyDatalog.create_atoms('a')
pyDatalog.create_atoms('b')
b(X,1) <= (X<0)
b(X,Y) <= (X==1) & (Y>0)
a(X,Y) <= b(X,Y) & (X>0)
И проблема нахождения ограничений, которые удовлетворяют: a(X,1)
Вопрос в том, можете ли вы использовать pyDatalog для составления списка [(X==1)]? или [(X>0), (X==1)]?
Спасибо,
1 ответ
К сожалению нет, по крайней мере, с текущей версией:-)
pyDatalog может решать дискретные проблемы с ограничениями, а не общие проблемы с ограничениями, подобные той, которую вы описываете. pyDatalog может возвращать только значения, но не критерии, такие как X>0.
Примечание: вы можете объединить первые 4 оператора в одном:
pyDatalog.create_atoms('X, Y, a, b')