comp.lang.ada
 help / color / mirror / Atom feed
* fuzzy logic
@ 2005-08-16 11:46 Poul-Erik Andreasen
  2005-08-16 13:03 ` Dmitry A. Kazakov
  0 siblings, 1 reply; 7+ messages in thread
From: Poul-Erik Andreasen @ 2005-08-16 11:46 UTC (permalink / raw)


Hej

Are there anyone who have som practiacal source-code exampel of the use 
of Dmitry A. Kazakov's  fuzzy-logic libery. The dokumentation is 
absolutly fine, and very comprehensive, but it gives me the headache :-).

I am new to fuzzy logic and i usely learns new stuff best by eksamples.

Poul-Erik Andreasen.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: fuzzy logic
  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>
  0 siblings, 2 replies; 7+ messages in thread
From: Dmitry A. Kazakov @ 2005-08-16 13:03 UTC (permalink / raw)


On Tue, 16 Aug 2005 13:46:37 +0200, Poul-Erik Andreasen wrote:

> Are there anyone who have som practiacal source-code exampel of the use 
> of Dmitry A. Kazakov's  fuzzy-logic libery. The dokumentation is 
> absolutly fine, and very comprehensive, but it gives me the headache :-).
> 
> I am new to fuzzy logic and i usely learns new stuff best by eksamples.

What kind of examples are you looking for? And what is the problem you want
to apply fuzzy approach to? (It is a wide area)

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

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: fuzzy logic
  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>
  1 sibling, 0 replies; 7+ messages in thread
From: Poul-Erik Andreasen @ 2005-08-16 13:42 UTC (permalink / raw)


Dmitry A. Kazakov wrote:
> On Tue, 16 Aug 2005 13:46:37 +0200, Poul-Erik Andreasen wrote:
> 
> 
>>Are there anyone who have som practiacal source-code exampel of the use 
>>of Dmitry A. Kazakov's  fuzzy-logic libery. The dokumentation is 
>>absolutly fine, and very comprehensive, but it gives me the headache :-).
>>
>>I am new to fuzzy logic and i usely learns new stuff best by eksamples.
> 
> 
> What kind of examples are you looking for? And what is the problem you want
> to apply fuzzy approach to? (It is a wide area)

It is a a system for finacial manegement, i am sorry can not go in to 
details i am working under a non-disclosure-agrement(thou i find it a 
litlle bit silly). Anyway simple eksamples and samples from control 
systems would probely do fine.


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

For one thing comp.ai.fuzzy i a pretty dead group, secondly i do 
comprehend the basic consept(at least i think so) it is the step
from a general model to the use of your libery i struggle with,
so i think it belongs here. And finely Ada is my absolute number one
langauge, so if anyone in comp.ai.fuzzy gives me C eksamples unrelatet
to your libery i vill just get more headaches:-).

I will however write to you.


Poul-Erik Andreasen



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: fuzzy logic
  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>
  2005-08-23 15:45     ` Dmitry A. Kazakov
  1 sibling, 1 reply; 7+ messages in thread
From: Craig Carey <research@ijs.co.nz> @ 2005-08-23 13:23 UTC (permalink / raw)


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




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: fuzzy logic
  2005-08-23 13:23   ` Craig Carey <research@ijs.co.nz>
@ 2005-08-23 15:45     ` Dmitry A. Kazakov
  2005-08-23 16:56       ` Craig Carey <research@ijs.co.nz>
  0 siblings, 1 reply; 7+ messages in thread
From: Dmitry A. Kazakov @ 2005-08-23 15:45 UTC (permalink / raw)


On 23 Aug 2005 06:23:18 -0700, Craig Carey <research@ijs.co.nz> wrote:

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

Do you mean fuzzy numbers or something else?

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

I presume you meant and = min, or = max.

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

This is a rather flawed notation that mixes values and sets. What is 4?

1. A number 4 of R

2. A 1D singleton {x | x=4}

3. A 2D singleton {(x,y) | x=4 }

And what is 2*(0<x)?

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

I cannot tell if I understood the question, because I don't grasp your
notation. But talking about fuzzy logic, fuzzy Booleans form a lattice with
de Morgan's laws. That can be used for simplifying. 

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

That's not fuzzy, but sloppy logic. (:-))

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

Yes, but it has nothing to do with fuzzy logic. Reasoning about geometric
shapes is crisp as long as the predicates involved are crisp.

Fuzzy logic does not add anything to our knowledge of the geometry. Wrong
statements about shapes remain wrong in any logic.

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

See above. Fuzzy logic has any sense only if 1) the data you are working
with or 2) the knowledge of what's going on are incomplete, contradictory
etc. That adds *nothing*. Fuzzy is not a god's oracle. It only allows you
to proceed further in the hope that unknown things will not blur the answer
you need. These unknown things (fuzziness) will stay unknown all the way!
Yet note that on each step of reasoning, each answer a feasible fuzzy
system gives is *correct*. It might end up with "I don't know", but it
cannot derive falsehood from truth.

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

I don't see why you even tried to apply fuzzy to symbolic algebra! Remember
two questions above:

1. Are data fuzzy?
= somebody short-sighted guesses about what are the components of a formula
shown on the display.

2. Are the laws fuzzy?
= somebody was too lazy to take a look into a handbook of elementary
mathematics.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: fuzzy logic
  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
  0 siblings, 1 reply; 7+ messages in thread
From: Craig Carey <research@ijs.co.nz> @ 2005-08-23 16:56 UTC (permalink / raw)


On Tue, 23 Aug 2005 17:45:49 +0200, "Dmitry A. Kazakov" wrote:
>On 23 Aug 2005 06:23:18 -0700, Craig Carey <research@ijs.co.nz> wrote:
>> 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
...

(Purpose) Please, no more ANN messages on fuzzy logic, at this
Usenet group.

>Do you mean fuzzy numbers or something else?.

Anything. There can be two forms for 0.7:
(1) a plain 1-D polytope of 1st order classical logic: (0<=R<=0.7)
(2) the fuzzy logic scalar, 0.7 (a point with a magnitude).

With the 2nd option, simplifying expressions becomes a problem.
Mr Kazakov's software doesn't handle unevaluated symbolic
expressions. With such simplicity, there would tend to be
no discovery that fuzzy logic theory is faulty.

...
>I presume you meant and = min, or = max.

That statement corrects my statement.

>> This:
>>
>>    4 and (2*(0<x) or 3*(0<y));
>
>This is a rather flawed notation that mixes values and sets. What is 4?

There was not a use of sets.
The number "4" is a point polytope.
"*" can mean "and" since "*" and "Min" happen to give the same result.

...
>I cannot tell if I understood the question,

I didn't have a question. I aim to stop the ANN-on-fuzzy-logic
e-mails that comp.lang.ada has gotten, in the past.

...
>Yes, but it has nothing to do with fuzzy logic. Reasoning about geometric
>shapes is crisp as long as the predicates involved are crisp.

Such a trivial program....
Better would be to have the user supply multiplication tables.

>See above. Fuzzy logic has any sense only if 1) the data you are working
>with or 2) the knowledge of what's going on are incomplete, contradictory
>etc.

  http://www.dmitry-kazakov.de/ada/fuzzy.htm

You missed something.
There could be new "error" value, defined so that all outputs
are the error value, if an input has that value. (A competitor to
the 'raise' statement).

...
>Yet note that on each step of reasoning, each answer a feasible fuzzy
>system gives is *correct*. It might end up with "I don't know", but it
>cannot derive falsehood from truth.

If it gets any worse then it would be AI-302-ish:
 trivial, arbitrary, unlikely to be used, probably appealing to
 AdaCore but to increase the chance of a reponse, e-mail can be
 routed via programmers in France.

Lukasiewicz (Poland) had a 3-valued logic (0, 0.5, 1) (that seems to
have been ignored).

...
>2. Are the laws fuzzy?
>= somebody was too lazy to take a look into a handbook of elementary
>mathematics.

So fuzzy logic seems analogous to RISC versus CISC, and CISC (i.e.
classical logic) seems better.

If you read books then does the logic of Zadeh allow the number to
take a value bigger than 1.0?:
 Reference:  L. A. Zadeh, "Fuzzy Sets", Information and Control,
  1965, Vol 8, pp 338-353.



Craig Carey
Auckland




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: fuzzy logic
  2005-08-23 16:56       ` Craig Carey <research@ijs.co.nz>
@ 2005-08-24  8:01         ` Dmitry A. Kazakov
  0 siblings, 0 replies; 7+ messages in thread
From: Dmitry A. Kazakov @ 2005-08-24  8:01 UTC (permalink / raw)


On 23 Aug 2005 09:56:03 -0700, Craig Carey <research@ijs.co.nz> wrote:

> With such simplicity, there would tend to be
> no discovery that fuzzy logic theory is faulty.

You are welcome to make any proposals for improvement of the library. Mail
me privately or use the project page on freshmeat
(http://freshmeat.net/projects/fuzzy/)

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2005-08-24  8:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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>
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

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