0
번호의 모든 파티션을 생성하는 클립으로 프로그램을 만들고 싶습니다. 우선 나는 그의 기본 파티션과 같은 숫자로 시작 : (1 1 1 1 1)은 숫자 5 인 경우 등클립의 이상한 오류
(deftemplate partition (multislot p))
(deffacts facts (p 1 1 1 1 1))
(defrule adds
(p $?a ?b ?c $?d)
(not (p $?a (+ ?b ?c) $?d))
(not (p (+ ?b ?c) $?a $?d))
(not (p $?a $?d (+ ?b ?c)))
=> (assert (p $?a (+ ?b ?c) $?d))
)
문제는 코드가 잘 보이지만, 그것은에 오류가 있다는 것입니다 "not"가있는 행 - 작성한 새 파티션이 사실에 존재하지 않아야한다고 지정합니다. 나는 무엇이 문제인지 모르겠다. 어떤 생각이라도 환영한다.
(defrule adds
(p $?a ?b ?c $?d)
(not (p $?a =(+ ?b ?c) $?d))
(not (p =(+ ?b ?c) $?a $?d))
(not (p $?a $?d =(+ ?b ?c)))
=>
(assert (p $?a (+ ?b ?c) $?d)))
: 감사 규칙의 조건 부분에서