* 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