Re: 'Unknown' and three-valued logic (was: Example where Euphoria ...)
How does CLIPS 6.0 handles three-valued logic? =20
(CLIPS was created by NASA for use in space research and space =
equipment)
(from user guide)
"As you can se, CLIPS has inserted the DEFAULT value of the null string =
"", for the name field since that is the defualt for a STRING. Likewise, =
the asserts (=3Dassigning something to a var) and the age defaults were =
also inserted by CLIPS. Different types have different symbols such as =
the null string "" for STRING, the integer 0 for integer, the float 0.0 =
for FLOAT, a.s.o. The ?DERIVE keyword selects the appropriate type of =
const for that slot, e.g. the null string. for a slot of tpe STRING.=3D
(strange how many times the author had to repeat that null string =3D "" =
)
.....is this how CLIPS handles nil values?????
Since CLIPS is programmed i C and created to work with C programs .... I =
can very well understand why they represent an uninstanciated integers =
by 0... (it was an easy solution?). Okey, they call it default...(so the =
don't have any other way to know if integer is unassign except testing =
i=3D 0?)=20
How does CLIPS 6.0 handle three-valued logic? =20
CLIPS has a mechanism that they uses all the time when faced with =
unknowns. That is wildcards ( =3D '?').
Wildcards is used in rules like:
Find all names: ? Carlson
and also constructs like:
Find ? lives in New York
? is a laywer
This should be something familiar to most of us. Prolog is working in =
much the same way (this is all related to nil valued (=3D> logic for =
dealing with nil values).
I can see a difference here between three-valued logic and wildcard =
logic also. What three-valued logic answers is:
=20
if A then .....
b :=3D A + 10
if A and B and C then ....
what will conclusion be if A (and other vars) is unknown?
What wildcards matching is stating is:
if ? and B and C then ....
That isn't the same same answer .... maybe not even the same =
question....
Rom
|
Not Categorized, Please Help
|
|