Expert system help

26 views
Skip to first unread message

Travis LaVallee

unread,
Aug 28, 2018, 10:12:32 PM8/28/18
to swi-p...@googlegroups.com
Hey all, 

I am trying to make a knowledge base for an expert system called Exshell. when the expert system uses the fallowing


rule((A :- B),C1).

to call

rule((move(St1, Cu1) :-
   
(start(state(St1, St2, St3, St4)),
   
switch(state(St1, St2, St3, St4), state(Cu1, Cu2, Cu3, Cu4), [state(St1, St2, St3, St4)]))), 100).


start
(state(east_side, east_side, east_side, east_side)).


switch(state(F1, G1, W1, C1), state(F2, G2, W2, C2), History) :-
    is_end
(state(F1, G1, W1, C1))
   
;
    move_state
(state(F1, G1, W1, C1), state(F2, G2, W2, C2)),
   
not(is_history(state(F2, G2, W2, C2), History)),
   
switch(state(F2, G2, W2, C2), state(F3, G3, W3, C3), [state(F2, G2, W2, C2)|History]).

it returns the fallowing to.

A = move(_4238,_4240)



Is it not able to see the start predicate? if so, why not?

Thanks in advance!
Reply all
Reply to author
Forward
0 new messages