FUZZY LOGIC SYSTEMS
Fuzzy logic systems have been relatively under used in effort prediction. To date only a few publications have shown to utilise fuzzy logic. A fuzzy system involves mapping a number between 0 and 1 to input variables to indicate the truth value, 1 representing absolute truth. For example we might say Program Y is small and assign it a truth value at of :
Small to a degree of 0.7
A fuzzy rule based system can then be constructed, based upon the truth variable above :
If Program Y small (0.7) THEN development effort = time short (0.8)
The fuzzy rule above indicates that if a truth value of greater than 0.7 then the rule will fire and produce a short development time, with a confidence of 0.8.
To make the prediction more accurate many fuzzy rules are required. It is also possible to classify the level of valued logic more closely to the dataset. For example, if we know that the development will be in the region of 10000 LOC then the level of valued logic may have the following:
- quite large
- large
- very large
An example of a fuzzy logic system is presented by [GRAY et al.]. In this example truth values are provided for data model size(30), number of screens(26) and process model size(74). This values are plotted on their respected functions below:
Figure 4 Fuzzy Rule Based System
In the example 3 levels of valued logic have been used small, medium, large.
The data model size function indicates an intersection between medium and large, so the truth value for both levels of logic is to a degree of 0.5.
The number of screens function indicates an intersection between small and medium, so the truth value for both levels of logic is to a degree of 0.5.
The final function, process model size only intersects inside the small section and is given a truth value of 0.8.
The truth values of each function are then used in the creation of the fuzzy rule base. The degree of memberships in each category (small, medium, large) determines how much weight to give the fuzzy rule. The consequence of each rule are then combined and produce a single output value indicated as 254 in the example (note all the rules are not shown in this example).
Assessment of fuzzy systems
It is possible for untrained estimators to create intuitive models as the mapping of truth values is relatively easy. However, fuzzy systems suffer from similar symptoms to the rule base machine learning method. It is hard to collect the data on multiple functions. Another weakness identified in the [GRAY] paper indicates that by classifying the levels of valued logic which can make the system more accurate, makes it harder to maintain a degree of meaningfulness as it is harder to differentiate between some levels of valued logic (e.g. quite large - large).
Another use of fuzzy concepts is to combine them to neural net technology to develop hybrid neural-fuzzy systems.