 - Last login: 8 hours agoRaumohir
- Dan is a 28 year old guy in a relationship from Chicago, Illinois, USA.
- Likes 288 pages, 9 videos, 2 photos • 4 fans
- Member since Aug 23, 2005
I'm halfway through my road to the PhD at Northwestern University just north of Chicago, where I study artificial intelligence. Before grad school, I worked for 2.5 years doing contract data mining, and I got my B.S. in computer science from Carnegie Mellon before that. I love art, literature, music, history, linguistics, and the great outdoors. I fall somewhere between Republican and Libertarian.
Favorites » His Blog
-
Article #1 of Fuzzy Logic and its Uses
-
Jan 2, 2006 2:37am
40 reviews
•http://www.doc.ic.ac.uk/~nd/surprise_...
-
Ack, take it from me. i'm a year from my PhD in A.I. Fuzzy logic is *not* the be-all-end-all of artificial intelligence like the silly paragraph about HAL makes out.
Fuzzy logic went through a brief period when it was all the rage because people saw it as a compromise between probabilities and rules. They thought it would give the same abliity to handle uncertainty that probabilistic methods do, without all the computational overhead. As with many compromises, it turned out not the best of both worlds but a fuzzy blend that doesn't really do justice to either method.
It turns out to require pretty much the same computationality (if not more), but with less precise answers, and often without solving the real problem at hand.
To go with the example on the page, say that John is 24 and you want to decide whether he can be called young or not. Here's several approaches you can take:
1. Probabilistic. If you remember 9 out of 10 24-year-olds being called young, then you can call him young with 90% certainty.
2. Clustering. Put all the ages of people you know as dots on a line-graph. Draw circles around the closest sets of dots to group them together. Now call the first group "young", the last group "old", and groups in between variations on "kind of young".
3. Fuzzy. Make up some membership function that defines how to call a person young (it's not clear how the function is defined). Then look up where John fits on the graph you invented, and label him some degree of youngness accordingly.
4. Rule-based. Have a rule that says "Under 20 => young" and another that says "Over 30 => old". If they're somewhere in the middle, then you just don't know (or you can invent more rules to cover the gap, which then does the same thing as fuzzy logic)
Notice how '1' is the most precise answer, the answer you can do the most with. '2' is probably the most versatile, though some would say that '1' is. '4' is the simplest. The fuzzy approach, '3' tries to be simple like '4' but doesn't really cut it. (For those who understand probabilities, multiplying a couple numbers seems simpler.) It also tries to be able to give an in-between answer like '1', but since it's not precise, no one knows what to do with it. It's more sound to make decisions and easier to generalize the decision process when it's based on the result "90% likely to be called young" than based on "kind of young", which as a unique label, requires unique handling. Finally, the fuzzy approach only put off the problem of how to decide what constitutes youngness onto whatever invents the membership function that it uses.
(If you include other information like context and health to try to answer the question, then all kinds of other methods can be used too, such as decision trees, or bayesian classifiers.)
Fuzzy logic has some uses, but there's usually better methods out there. No one's sure by any means what the best method is.
|