Ronni said:
It is getting too complicated now
Your problem is more complicated than the typical textbook example. It won't be solvable by pencil and paper. It will involve fitting finding good parameters to fit a multi-parameter function to data. So it will at at least involve writing code to compute this function so you can vary the parameters and inspect the answer. You might be able to do that much with a spread sheet.
How complicated it gets beyond that depends on how seriously you pursue finding optimum parameters. You could "eyeball it" or do something more systematic. The function defined by the fuzzy rules is generally non-differentiable, so searching for good parameters often amounts to trial and error. There are computer methods for doing trial-and-error in an organized fashion such as simulated annealing.
(There are probably fuzzy logic software packages that do problems like this. I've never used such a package.)
Creating the multi-parameter function:
It's necessary to define a function that maps an objective fact (such as 5 unread messages in the inbox) to a degree of membership in each of the fuzzy sets that describe that fact. Sets such as "little in Munrib" and "much in Munrib" are not treated as mutually exclusive fuzzy sets. The same number of messages can cause the situation to have a degree of membership in "little in Munrib" and "much in Munrib". It's probably clearer to to think of "little in Munrib" as "small Munrib" and "much in Munrib" as "large Munrib" - (and I probably should have explained that better in my previous post!) Your rules are OK as written Just don't be confused that we are going to assign a degree of membership in sets whose names appear to denote a degrees of membership.
The most common function I see in books is the "trapezoidal rule". For example for "little in Munrib", it would be a function of the number of messages n and 4 parameters. The function is:
f(n,a,b,c,d) = 0 if n < a
f(n,a,b,c,d) = the linear function between (a,0) and (b,1) if a <= n < b
f(n,a,b,c,d) = 1 if b <= n < c
f(n,a,b,c,d) = the linear function between (c,1) and (d,0) if c <= n < d
f(n,a,b,c,d) = 0 if n >= d
For "very little in Munrib", you would use a different set of parameters. You can dispense with the left part of the trapezoid since "very little in Munrib" is the lower extreme of Munrib ratings. You can have a function whose graph is a horizontal line segment beginning at (0,1) and transitions to a downward sloping linear function.
Fiddling with the parameters a,b,c,d is part of the fitting the function defined by the fuzzy rules to data, so you won't want to "hard code" a,b,c,d if you write a program. Each different set may have a different a,b,c,d. Usually fuzzy sets that signify "adjacent" ratings like "very little Munrib" and "little in Munrib" have trapezoids that overlap, so some values of n can produce a non-zero degree of belonging to both sets. Usually non-adjacent ratings like "very little" and "very much" have non-overlapping trapezoids - at least in textbook examples.
The "if ..." part of a rule contains statements about the situation being in sets and these statements are joined by the logical connectives "or" and "and". These connectives will be interpreted as defining the union and intersection of fuzzy sets. Although "Fuzzy Set Theory" sounds like it refers to a particular method of doing calculations with fuzzy sets, fuzzy set enthusiasts have proposed alternative ways of doing calculations for almost every set operation. The "traditional" function used to evaluate the degree of membership in the union of two fuzzy sets is to take the maximum of the two individual degrees of memberships. The traditional way to evaluate the degree of membership in an intersection is to take the minimum of the two individual degrees.
Still to be done is to evaluate the "then" part of the rules and evaluate the net result of applying all the rules. I'd better review before trying to describe it