in order to obtain a consistent fuzzy arithmetic.
I received not_a_lot_of (fuzzy term for "5") replies, but the result is
perfectly clear:
A) It is _possible_. Here is the solution which wins the "Lemon price of
the Laziest One"
SUM(A,B)=a1+b1
PROD(A,B)=a1*b1
OPP(A)=-a1
INV(A)=1/a1
EVAL(A)=a1
B) It is _not_ possible ASA you take into account more than just one
"xi" _and_ if we want our arithmetic is an extension of interval
computations (which seems necessary, for an interval is a particular
fuzzy set).See how to prove it at the end of this mail .
So, in practice, it seems there is no interesting _complete_ solution.
Nevertheless there are some partial solutions. So I have written a
little toolbox for my precise initial purpose (fuzzy Particle Swarm
Optimization). Note that in order to take into account INV(A) where A is
"around" 0, I finally used double-trapezoidal representations.
Also, I defined just what I need for the moment (that is to say SUM,
PROD, OPP, INV, EXP,LOG and SIN, and several EVAL functions) but it can
be easily extended.
If you are interested, source code (ANSI C) is at the end of my PSO
page:
http://www.geocities.com/ResearchTriangle/Lab/4316/PSO/
Thanks to all of you,
Maurice Clerc
-----------------------------------------------------------
http://www.netword.com/ Maurice Clerc (or http://perso.wanadoo.fr/maurice.clerc/)
Kiam kien ni iru ?
"La fin est dans les moyens", "The aim is in the means", "Das Ziel ist
der Weg"
------------------------------------------------------------
============== How to prove the impossibility =================
Suppose, for example, we would take into account at least x1 and x2.
We are looking for a "consistent" EVAL function, that is to say a real
function f(u,v) on R^2 with some properties given by 1)...5)
In interval computations, we have
SUM([a1,a2],[b1,b2])=[a1+a2,b1+b2]
PROD([a1,a2][b1,b2])=[a1*a2, b1*b2] (for positive values, but equivalent
formulas existe int the general case)
So we should have
f(u,v)=f(u,u)+f(0,v-u)=u+f(v-u),v-u)*f(O,1)
=u + (v-u)*f(O,1)
In particular if f(0,1)#0
f(-u,u)=-u + (u+u)*f(0,1)=0
=> f(0,1)=1/2
=> f(u,v)=(u+v)/2
but we have then , for example
f(1/u,u)=(1/2)(1/u + u) which is not equal to 1 (except for u=1) as
required by 2)
So the hypothesis f(0,1)#0 is wrong.
So f(u,v)=u and we go back to the "laziest" solution.
############################################################################
This message was posted through the fuzzy mailing list.
(1) To subscribe to this mailing list, send a message body of
"SUB FUZZY-MAIL myFirstName mySurname" to listproc@dbai.tuwien.ac.at
(2) To unsubscribe from this mailing list, send a message body of
"UNSUB FUZZY-MAIL" or "UNSUB FUZZY-MAIL yoursubscription@email.address.com"
to listproc@dbai.tuwien.ac.at
(3) To reach the human who maintains the list, send mail to
fuzzy-owner@dbai.tuwien.ac.at
(4) WWW access and other information on Fuzzy Sets and Logic see
http://www.dbai.tuwien.ac.at/ftp/mlowner/fuzzy-mail.info
(5) WWW archive: http://www.dbai.tuwien.ac.at/marchives/fuzzy-mail/index.html