• No se han encontrado resultados

1.2 FORMULACIÓN DEL PROBLEMA

2.2.3.3 El personal es el rostro de la empresa

To make the design and implementation of an advanced computing application easier, it is recommended to adopt a set of guidelines or a development cycle. As described in chapter two, adaptive and symbolic techniques have their own development cycles, such as knowledge elicitation and representation in expert systems and training and evaluation in neural networks. What is required is a similar set of guidelines that developers can adopt and follow when constructing hybrid systems.

Figure 3.6 shows the development cycle for a hybrid system. The main phases of hybrid systems construction are problem analysis, property matching, hybrid category selection, implementation, validation and maintenance

Chapter 3 Hybrid System s: Issues and Classification 52 PROBLEM ANALYSIS Identify sub-tasks Identify properties Redesign PROPERTY MATCHING What techniques can best solve the sub-tasks ?

R edesign

HYBRID CATEGORY SELECTION

Select Hybrid Classes

IMPLEMENTATION

Find Best method of Implementation Refinem ents

VALIDATION

Are tfte results correct ?

MAINTENANCE System Monitoring Knowledge Maintenance

Retraining

Figure 3.6 — Hybrid System Development Cycle.

The first step in developing intelligent hybrid systems is the problem analysis stage which involves two distinct steps.

The first step is to identify any existing subtasks of the problem. A complex problem such as retail distribution, for example, may have both a product demand prediction subtask and a distribution optimisation subtask. However, there may also be problems which do not decompose into subtasks (e.g. a simple prediction task).

The second step is to identify the properties of the problem. If the problem has subtasks, this involves identifying properties of the subtasks. Examples of the identified properties may include the need for automated knowledge acquisition, coping with brittleness and explanation, etc.

The next step, property matching, involves the matching of properties of available techniques against the requirements of the identified tasks. To assess the computational properties of the available techniques, a property assessment table similar to Table 3.3

Chapter 3 Hybrid System s: Issues and Classification 53

should be constructed. This type of table provides a rating scheme that grades the competence of each intelligent technique in performing tasks such as learning or providing explanations.

P ro p erties T ech n o lo g ies Automated

Knowledge Acquisition Coping with Brittleness High-level Reasoning Low-level Reasoning Explanation Expert Systems y / y y y y y y Rule Induction y y / / / / / / / y y y y y Fuzzy Systems y / y y y y / / y y y y y y y y y Neural Networks ✓✓✓✓✓ y / y y y y y y y y y y Genetic Algorithms y y y y y y y y y y y y

Table 3.3 — Property Assessment of Different Intelligent Techniques.

The hybrid category selection phase selects the type of hybrid system required (Intercommunicating, Function-replacing, or Polymorphic) for solving the problem. This phase uses the results of the previous problem analysis and property matching stages. If the developer finds that there is one intelligent technique which has high ratings in all the desired properties, then there is obviously no need for a hybrid systems solution.

If the problem is composed of distinct, non-overlapping sub-tasks and if there are techniques which have been successfully matched in the previous stage, then an

intercommunicating hybrid approach can be taken. For example, assume that there is a problem that consists of a prediction task (e.g. energy prediction) followed by a distribution task (e.g. optimisation of energy distribution). Here a neural network, which scores highly in its ability to predict, could be used for the prediction task. This can be followed by a genetic algorithm, which scores highly for its ability to optimise, for the distribution task.

If the problem does not contain distinct subtasks that can be solved using different intelligent techniques, then one has to use a function-replacing hybrid approach.

The first step is to list the candidate techniques which score highly on the different properties of the problem (obtained from the property matching stage).

C hapter 3____________________ Hybrid System s: issu es and Classification___________________________ 54

Then the task is to find a mechanism to combine the different techniques in a manner so that the resulting hybrid has the desired high ratings. Usually such an improvement can be achieved by replacing a principal function of one technique by another technique. For example, the neural networks can be used to induce the decision­ making knowledge for the fuzzy system, thus replacing the function of a domain expert manually specifying knowledge.

A Polymorphic hybrid is appropriate in situations where the desired functionality dynamically changes, this requires the ability to switch firom one style of processing to another. For example, in a robot vision task, a Polymorphic hybrid system maybe used to dynamically switch to either a rule-based or pattem-recognition processing style depending on incoming information.

The developer will be now be in a position to start implementation of the system and will need to select the programming tools and environments needed to implement the hybrid systems. Object-oriented programming offers a natural model for implementing hybrid systems. Object-oriented applications represent the problem domain as a set of objects that interact by passing messages. These messages not only contain data but also the operation to be executed by the receiving object. Because objects have a well defined message interface, they are highly interchangeable. Also, as objects are independent entities that interact through message passing, they are ideally suited for distribution across a network of computers. Using object-oriented programming to represent different processing techniques enables one to mix several processing styles within the same application.

The validation phase is used to test and verify the functioning of the individual components of the application and the hybrid system as a whole. If any malfunctions are discovered, either at the component level or at the integrated system level, then the whole application should be redesigned or refined depending on the severity of the problem.

The purpose of the maintenance phase is to periodically evaluate the hybrid system’s performance, and to refine it as the need arises. Maintenance is particularly important for adaptive components (e.g. neural networks and genetic algorithms) in rapidly changing environments where performance can easily degrade if they are not continually re-trained with recent domain data.

An aspect that is not covered in the development cycle is the involvement of domain expertise. A domain expert can be invaluable if available during the problem analysis and property matching stages. The expert’s knowledge of the domain helps to identify the sub-tasks and also assess different intelligent techniques.

C hapter 3____________________ Hybrid System s: Issues and Classification___________________________ %

The above development cycle is believed to be general enough to be applied to most commercial and industrial hybrid systems. Although the development cycle has concentrated on hybrids of intelligent techniques it can be applied to hybrids of any set of computational techniques.

3.7.

Summary

The current interest in hybrid systems has been brought about by the realisation that symbolic and adaptive systems have complementary strengths and weaknesses and because real-world problems are best solved by using purely symbolic or adaptive processing, but instead need the synergy of these approaches. On examining the complementary strengths and weaknesses of symbolic and adaptive techniques a novel classification scheme has been detailed that takes into account the functionality, architectural and communication issues of constructing hybrid systems. This classification provides a mechanism to make qualitative assessment of existing hybrid systems and also helps to guide the development of new hybrid systems. Expert systems and neural networks are used as an example of how these different hybrid approaches can be integrated to solve different types of problems.

In an attempt to devise a methodology for hybrid systems, the proposed hybrid classes are examined with respect to possible implementation problems. To help new designers of hybrid systems, a development cycle and a set of implementation guidelines have been constructed from the experience gained during this research.

Documento similar