: I have a question about truth degree of a induced fuzzy relation.
: Let's say we have the following fuzzy fact data.
: Name Age Sex height Truth degree
: ===========================================
: wang 56 male 185 0.9
: smith 26 male 198 0.76
: bob 29 male 190 0.95
: tom 23 male 200 1.0
: susan 20 female 185 1.0
: mary 65 female 180 0.99
: li 23 male 152 0.95
: Now, a non-fuzzy learning algorithm is applied to this set of data to
: induce a concept of 'strong man', suppose we get the concept as:
: All male , young and tall person can be considered as a strong man,
: This concept can be represented as Prolog Horn clause :
: strong_man(Name,Age,Sex,Height):- Age = #young, Sex = male, Height = #tall.
: where, #young and #tall are two fuzzy linguistic values
: My question is how to determine the fuzzy truth degree of this induced concept?
: Your valuable information will be highly appreciated.
It seems to me that you need to define what you mean by the table above first.
What exactly does the "truth degree" column represent?
Uncertainty in a data value, I can understand - e.g. if you put #young
where someone's age was not known precisely. I can also understand the idea
os a fuzzy relation - for example, "smith" and "tom" satisfy the
relation "similar_height" to a very high degree, "bob" and "tom" to a lower
degree, etc. This is like a fuzzy set, where elements have
memberships varying from 0 to 1; in a fuzzy relation, the "elements"
are tuples of values like (bob, tom) but the principle is the same.
In the example above, what is the relation satisfied by
wang 56 male 185
to degree 0.9?
Finally, the rule "strong_man" does not define a relation between name,age,
sex, and height; it is actually a property of "Name" and
should be defined
strong_man(Name) :- people_data(Name, #young, male, #tall).
where "people_data" refers to the table you gave above.
But it is not always true that young, tall males are strong, so you
should have some degree of qualification on the rule. My advice
is to use Fril, which can handle fuzzy sets as fundamental data types,
deal with uncertainty in the relation between data, and also manages
uncertainty in rules. If you never use any uncertainty, it reduces
to a standard Prolog system - with a slightly different syntax.
Try
Baldwin, J. F., Martin, T. P. & Pilsworth, B. W. (1995).
"FRIL - Fuzzy and Evidential Reasoning in AI"
Research Studies Press (Wiley). ISBN 0 471 95523 X
which also contains a demo disk for the Mac and WIndows 3.1
Trevor Martin
------------------------------