Решение неравенства с использованием Пролога
Я работаю над решением проблем неравенства, используя пролог. Я нашел код, который решает уравнения типа ax+b>=0.
Код, который я использовал, выглядит следующим образом.
:-use_module(library(clpr)).
dec_inc(left,right):-
copy_term(left-right,Copyleft-Copyright).
tell_cs(Copyleft).
max(Copyright,right,Leq).
tell_cs(Leq).
max([],[],[]).
max([E=<_|Ps],[_=<P1|P1s],[K=<P1|Ls]):-
sup(E,K),
max(Ps,P1s,Ls).
tell_cs([]).
tell_cs([C|Cs]):-
{C},
tell_cs(Cs).
например
когда мы даем {2*X+2>=5}. это дает правильный ответ. {Х>=1,5}.
2. Но если я введу дробь как {(X+3)/(3*X+1)>=1}. это дает {1- (3+X)/ (1+3,0*X)=<0,0}.
Как я могу решить этот тип вопросов о неравенстве, чтобы найти окончательный ответ.(Вопросы, которые включают дроби).
Пожалуйста, помогите мне.
Если есть какие-либо учебные материалы, на которые я могу ссылаться, пожалуйста, дайте мне знать.
1 ответ
Документация библиотеки (clpr) советует, что она имеет дело с нелинейными ограничениями только пассивно, так что вам не повезло. Вам нужна более сложная система алгебры.