🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #1175

Re: Fuzzy Prolog

#1175
From: Richard A. O'Keefe
Date: Tue, 11 Sep 1990 09:16
47 lines
2719 bytes
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?

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 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.)

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.)

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.  Surely you must be doing something much cleverer than that?
-- 
Heuer's Law:  Any feature is a bug unless it can be turned off.
Technical Details
Message-ID: <3728@goanna.cs.rmit.oz.au>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!goanna!ok
References: <6921.26ebb2bb@abo.fi>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!goanna!ok
From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe)
Newsgroups: comp.lang.prolog
Subject: Re: Fuzzy Prolog
Message-ID: <3728@goanna.cs.rmit.oz.au>
Date: 11 Sep 90 09:16:33 GMT
References: <6921.26ebb2bb@abo.fi>
Organization: Comp Sci, RMIT, Melbourne, Australia
Lines: 47