comp.lang.ada
 help / color / mirror / Atom feed
From: "Craig Carey <research@ijs.co.nz>" <research@ijs.co.nz>
Subject: Re: fuzzy logic
Date: 23 Aug 2005 06:23:18 -0700
Date: 2005-08-23T06:23:18-07:00	[thread overview]
Message-ID: <1124803398.655387.185810@g44g2000cwa.googlegroups.com> (raw)
In-Reply-To: kk3dmji2b7yi$.1zej60nowbfw.dlg@40tude.net

On Tue, 16 Aug 2005 15:03:41 +0200, "Dmitry A. Kazakov" wrote:
>On Tue, 16 Aug 2005 13:46:37 +0200, Poul-Erik Andreasen wrote:
>> ...source-code examples of the use of Dmitry A. Kazakov's  fuzzy-logic
>> library?.
...
>P.S. If that is not directly related to Ada, then comp.ai.fuzzy is a better
>place to discuss it. Or write me (E-mail is on the page.)


A tall rectangle can fit inside of a smaller square, providing that the
former has no volume and isn't even a line. It seems plausible to
replace
real numbers (used in science, etc.) with 'fuzzy logic' polytopes, but
idea seems to too flawed to make it.

Suppose Booleans are replaced with non-negative reals, and 'and' means
 'Max', and 'or' is 'Min'

This:

   4 and (2*(0<x) or 3*(0<y));

would simplify to this:

   2*(0<x) or 3*(0<y);

since the second term takes values in the range 0 to 3, and that is
 smaller than 4.

So maybe to implement simplifying, subexpressions would be recursed
over,
 and the upper and lower values would be computed.

Let "implies" mean that one polytope fits inside of another.
E.g. simplify "P implies Q" where P and Q are rectanges:

   Tall rectangle: P = (0<y<10)(1<x<1)  [empty]
   Short square:   Q = (0<y<3)(0<x<2)

To simplify  "a*F implies b*G",  could make the answer be
     (a<=b) and (All ...)(F implies G)

Substituting in from the example: a=10, F=(1<x<1), b=3, G=(0<x<2)
Then the algorithm finds that P is not inside of Q since not (10<=3).

So that algorithm is wrong.

It certainly seems that the best way to proceed is to throw away
fuzzy logic and for the relatively infrequent cases when it is needed,
an extra variable (the "y" above), can be used.

'Not' need not be defined (it could be that 'Not x' equals 1-x or x<1).


I just deleted Zadeh Booleans (fuzzy logic) from my symbolic algebra
code. It seems that classical logic seems better despite how
non-negatives
are a convenient extrapolation (a use of an extrapolating principle
that
almost opposes itself in this topic).


Craig Carey
research@ijs.co.nz




  parent reply	other threads:[~2005-08-23 13:23 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-16 11:46 fuzzy logic Poul-Erik Andreasen
2005-08-16 13:03 ` Dmitry A. Kazakov
2005-08-16 13:42   ` Poul-Erik Andreasen
2005-08-23 13:23   ` Craig Carey <research@ijs.co.nz> [this message]
2005-08-23 15:45     ` Dmitry A. Kazakov
2005-08-23 16:56       ` Craig Carey <research@ijs.co.nz>
2005-08-24  8:01         ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox