🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #1186

Re: Fuzzy Prolog (Fuzzier,the merrier)

#1186
From: Harry Virtanen
Date: Wed, 12 Sep 1990 14:06
127 lines
6568 bytes
In article <3728@goanna.cs.rmit.oz.au>, ok@goanna.cs.rmit.oz.au 
(Richard A. O'Keefe) writes:
> In article <6921.26ebb2bb@abo.fi>, hvirtanen@abo.fi (Harry Virtanen) writes:
>> I have recently been developing the theoretical foundations for a Fuzzy
>> Prolog system, called LukLog, a connection between Lukasiewicz logic and
>> logic programming.
> 
>> LukLog is however built on the following functions/connectors
>> 		a'    = 1-a
>> 		a^b   = max(a+b-1,0)
>> 		avb   = max(a,b)
>> 		a<-b  = min(1-b+a,1)
> 
> Would you care to say something about the relationship between "fuzzy" and
> whichever of Lukasiewicz's logics you have in mind?

The fact is, that I have allready written my thesis (master thesis I think it's
called in english) that is simply called Fuzzy Prolog. The idea to the thesis
comes from a preprint by Ulrich Hohle (1989): MONOIDAL CLOSED CATEGORIES, WEAK
TOPOI, AND GENERALIZED LOGICS. He writes: "This paper is motivated by the 
problem of finding the categorial foundation of fuzzy set theory. Refering to 
Zadeh's pioneering paper on "fuzzy sets" (Information and Control 8 (1965) 
338-358) it is evident that from a logical point of view fuzzy set theory is 
based on Lukasiewicz logic...........we are interested in a category C such that
the logicla connectives of the [0,1]-valued Lukasiewicz logic appear as truth
arrows in C..........."
   Motivation for max(a+b-1,0) for AND, a'=1-a for NOT and min(1-b+a,1) for 
a<-b are found in this paper.

Another interesting paper is FUZZY INFERENCE IN A FORMAL THEORY OF SEMANTIC
EQUIVALENCE by Daniel G. Schwartz (Fuzzy Sets and Systems 1989 volume ??). The 
paper studies several fuzzy implication operators including the Lukasiewicz 
operator min(1,1-a+b) (for a->b).

> 
> For a system without negation, Udi Shapiro had a paper in a conference
> years ago on logic programming with certainty factors.  Basically, if
> you have
> 	head <-[f]- goal1 & ... & goaln
> meaning
> 	certainty(head) >= f(certainty(goal1), ..., certainty(goaln))
> where f is monotone (details spelled out in the paper), the usual
> T^w(P) fixed point approach carries over just fine.

The Shapiro paper: LOGIC PROGRAMS WITH UNCERTAINTIES: A TOOL FOR IMPLEMENTING
RULE-BASED SYSTEMS (proc. 8th IJCAI 1983), is included in my references to my
thesis.

In my thesis I have also compared Mycin and Prolog/P (the swedish system, P, 
I think stands for Possibility) with my LukLog Approach. One of the 
conclusions is that both max(a+b-1,0) and min(a,b)  have their pros and cons,
but to my oppinion the max is preferable because it takes into consideration
all the truth values in a clause. The min(a,b) operator cannot "see" changes
of higher values when there is a constant min-value present in the body of the
clause. The problem with max(a+b-1,0) is that it goes very fast towards zero.

> 
> The really exciting thing about this is that *numeric* certainties
> are (a) too limited and (b) too detailed:  (b) people can never figure
> out what the numbers are to be (whereas with a coarse classification
> -- say four certainty levels, as used in some medical programs --
> they can often manage) but (a) when strange things go happen there isn't
> enough information in the numbers to figure out _why_.  Shapiro's approach
> applies to *any* complete lattice used as a certainty space.  (There isn't
> the least reason for fuzzy logic to be confined to numbers.  There was an
> MSc thesis done at Auckland University Mathematics Department about 11
> years ago that generalised fuzzy stuff to other lattices.)

It is very true that many people has a hard time understanding what these
numbers (call them what you like: propabilites, possibilities, uncertainties,
certainties or truth values) really are, and would prefere words like "true",
"unlikely","likely","very likely" etc.

> 
> After reading Shapiro's paper I started to write a paper on the
> generalisation to other lattices, but someone from MIRU convinced
> me that it was too trivial to be worth writing up.  (There were some
> interesting details about cutoffs when you haven't got numbers, but
> alas, I've forgotten how I was going to solve the problem.)

A question that is unanswered by my thesis, by the Shapiro paper and also by
Istvan P. Orci (the man behind Prolog/P) is whether the resolution in Fuzzy
Prolog is Sound and Complete. As Shapiro writes: "A less trivial exercise is
to associate a transformation Tp with the program P, and to prove that the
least fixpoint of Tp is M(P)" M(P)=The minimal model (or interpretation).

> 
> Handling negation with certainty factors in something resembling Prolog
> is going to be at least as hard as handling "simple" negation; I find it
> incredible that doing something like
> 	non G has certainty 1-X if G has certainty X
> would work.  

Very true. To handle negation in this way is not the best. But everybody is 
using it !. There is of course the exception of (Dempster) Shafer's evidence
theory, but then again, I don't think its ever been implemented.

>
>Surely you must be doing something much cleverer than that?

I guess I'm not that clever after all, but I bet I would beat You in chess, 
which in turn would implicate that Your not that clever either !??


P.S.
Talking about category theory, I just found a interesting article in LOGIC 
PROGRAMMING, proc. 6th int. conf., MIT press: PROJECTIONS INSTEAD OF VARIABLES,
A CATEGORY THEORETIC INTERPRETATION OF LOGIC PROGRAMMING by Andrea Aperti and 
Simone Martini, 337-352.


P.P.S.
My "boss" Dr.Patrik Eklund has come up with an interesting idea: "...linking
neural nets and LukLog we first interrelate the specification of uncertainty
factors in implications with adaptation of synaptic weights...................
.......... As a consequence, we can transform any net to a corresponding
Lukasiewicz logic program". 


			It's All Fuzzy To Me !

Harry Virtanen
Abo Akademi University
Department of Computer Science
DataCity
SF-20520 Turku
Finland
Technical Details
Message-ID: <6925.26ee40ee@abo.fi>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watserv1!watmath!att!occrsh!uokmax!munnari.oz.au!samsung!zaphod.mps.ohio-state.edu!rpi!uupsi!sunic!news.funet.fi!ra!abo.fi!hvirtanen
References: <6921.26ebb2bb@abo.fi> <3728@goanna.cs.rmit.oz.au>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watserv1!watmath!att!occrsh!uokmax!munnari.oz.au!samsung!zaphod.mps.ohio-state.edu!rpi!uupsi!sunic!news.funet.fi!ra!abo.fi!hvirtanen
From: hvirtanen@abo.fi (Harry Virtanen)
Newsgroups: comp.lang.prolog
Subject: Re: Fuzzy Prolog (Fuzzier,the merrier)
Message-ID: <6925.26ee40ee@abo.fi>
Date: 12 Sep 90 14:06:37 GMT
References: <6921.26ebb2bb@abo.fi> <3728@goanna.cs.rmit.oz.au>
Organization: Abo Akademi University, Finland
Lines: 127