Fuzzy systems can be viewed as universal approximators, capable to deal with problems in which implementing exact solutions is too much expensive or we don't have exact solutions at all.
For example, it is usually hard to design a regulator for highly non-linear operation, because its exact transfer function may be unknown or impractical to find by using classic analytical methods.
Humans solve every day a wide class of problems that don't need exact (crisp) solution: driving a car requires processing a large amount of information and taking consequent actions; human brain succeeds in accomplishing the task without precise determination of any input information and output action (in fact, only vague (fuzzy) linguistic qualifications like "normal speed", "speed up moderately" "turn fast right" are commonly used).
You can read a paper about fuzzy logic here (italian only).
Fuzzy systems can be programmed using "IF x(AND y) THEN z" rules. In each rule, x,y and z are set of values. These sets are designed so to have some of their intersections not null; so, many rules can be fired at the same time but with different effect percentages, depending on the particular input values.
We present here two projects: a multiobjective decision making software (PHP version) and a fuzzy 2-axis controller demonstrator (Labview version).