Path: 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 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