DECISION SUPPORT SYSTEMS

A KNOWLEDGE-BASED APPROACH


Chapter Ten - Summary

In this chapter we have surveyed four techniques particularly concerned with the management of procedural knowledge: solver, spreadsheet, program, and menu management. The first three of these also have some capabilities for handling descriptive knowledge. The fourth is very much oriented toward managing linguistic and presentation knowledge. Additional techniques that focus on representing and processing these two knowledge types are surveyed in the next chapter. Important classes of objects covered in this chapter include solvers, models, data sets, spreadsheets, programs, and menus. Each of these is a candidate for inclusion in a decision support system's KS.

A solver is an executable algorithm that can solve any problem belonging to a certain class of problems. In a fixed-solver DSS, solvers are part of the PPS software. In flexible-solver DSSs, they are held in KS files and are subject to creation, revision, and deletion. The statement of a specific problem that we want a solver to solve is often called a model. Sometimes models explicitly include data. Alternatively, a model may reference data sets containing data that helps characterize the problem. A software tool that implements solver management gives the ability to create, combine, revise, and delete both models and data sets in a DSS's knowledge system -- as well as to execute a solver to get the solution of a problem.

A spreadsheet is a grid-like arrangement of expressions into cells. A cell's expression effectively defines how the value of that cell is to be calculated. This is trivial for cells that are defined in terms of constant expressions. However, a cell's definition can involve operators, functions, and operands (i.e., references to other cells). Spreadsheets can be specified, modified, and deleted in a DSS's knowledge system. Most important, a spreadsheet can be evaluated to study the collective implications of assumptions captured in its cells' definitions. Exploring implications is a common activity within decision making.

A program existing in a KS is a sequence of commands that instruct a computer what to do in support of a decision maker. These may be commands to evaluate expressions, assigning the results to variables rather than cells. They may be commands to interact with a user or with other KS contents. They may be commands to control the use of other commands in the program by way of conditional branching or iteration. Program management is a versatile, flexible means for managing procedural knowledge. However, it generally requires more skill and training than what is needed to effectively use solver or spreadsheet management implementations.

A menu is an object for presenting a set of options to a user, capturing a user's selection, and either reporting that selection to a program or initiating further processing based on that selection. This further processing could be either the presentation of an appropriate submenu (for further processing itself) or the execution of a procedure defined for the selected option when the menu was initially created.

 


DECISION SUPPORT SYSTEMS

A KNOWLEDGE-BASED APPROACH



Chapter Eleven - Summary

In this chapter we have surveyed five more knowledge management techniques: forms, report, graphics, rule, and message management. The first is oriented toward treating linguistic and presentation knowledge. The next two are primarily means for dealing with presentation knowledge. Rule management is principally intended for coping with reasoning knowledge. Message management is not particularly focused on treating one or another knowledge type.

The main knowledge-representation objects relevant to the five surveyed techniques are forms, templates, data sources, graphic images, rule sets, rules, and messages. Each is susceptible to storage in the KS of a decision support system. Methods for processing each are candidates for inclusion in a problem processing system. Such processing methods can be valuable contributions to the capabilities of decision support systems.

Hybrid knowledge-management techniques result from integrating two or more conventional techniques. Also, there is the notion of a universal or super technique comprised of a synergistic integration of all of the conventional techniques. Objects of interest for it include all those objects identified in Chapters 9-11, plus their hybrids. Its processing methods include all those noted in Chapters 9-11, plus those able to process conventionally unrelated objects in a single operation. Implementations of this universal knowledge management technique can function as generalized problem processing systems.

 


DECISION SUPPORT SYSTEMS

A KNOWLEDGE-BASED APPROACH


Chapter Twelve - Summary

Artificially intelligent decision support systems exist for two main reasons. First, advances in AItechnology have made it practical to build systems whose behaviors resemble some aspects of human intelligence. we can expect such advances to continue, leading to new dimensions for DSSs. Second, decision makers can benefit from DSSs that exhibit more, rather than less, intelligence. Such systems become closer approximations to HDSSs than they would in the absence of AI technology.

As does human intelligence, artificial intelligence has many aspects. One of the most significant is the ability to reason. The AI quest for reasoning systems has matured to the point where computers are able to display expert behavior. To assist in the construction of these expert systems, numerous software tools are now commercially available. These include both shells and integrated environments.

Although expert systems are hte most prominent kind of artificially intelligent DSSs and form our focus here, there are other branches of AI that contribute to the realization of artificially intelligent decision support systems. These include natural language processing, which effectively allows a DSS user to specify the LS, knowledge representation, which offers alternative kinds of KS contents, machine learning, which provides mechanisms that could be incorporated in PPS to allow a DSS to learn, automatic programming, which has potential to aid in the construction of DSS solvers and user interfaces, and pattern recognition, which could yield DSSs with nontraditional modes of interaction.

The potential benefits of expert systems are numerous, ranging from operational to strategic. They give decision makers uninterrupted access to consistent advice. They relieve experts from having to five that advice. They allow an organization to formalize and retain some of the expertise that exists within it. The strategic implications of expert systems for business present a challenge and opportunity for top-level management. Management that pays attention to these implications and is alert to the possibilities can find itself with a competitive edge, rather than being out on a competitive ledge. The remaining chapters in Part Four are concerned with fostering a sufficient technical understanding to turn the potential benefits of expert systems into realities.


DECISION SUPPORT SYSTEMS

A KNOWLEDGE-BASED APPROACH


Chapter Thirteen - Summary

As the rule examples in this chapter suggest, rules provide a modular way of representing reasoning knowledge. This is a very different concept than trying to use a programming language to embed such knowledge in a program. Instead of sequencing program statements within traditional control structures, a modular collection of fragments of reasoning knowledge is assembled. This is accomplished with a development tool's rule building software, which may be a text-oriented or menu-driven facility. It is then the inference engine that determines how to make use of these pieces of reasoning knowledge in response to a particular problem posed by a user.

We have taken an inside look at how an inference engine during a consultation. The mechanics of both forward and reverse reasoning have been explored. With forward reasoning, an inference engine takes the attitude of carrying out every action that is logically valid. The user can then study the results. Reverse reasoning is much more focused. The inference engine limits itself to taking only those actions that might help to meet some specified goal. Due to its focused approach, reverse reasoning oftentimes is preferable because it may be able to determine a variable's value much more rapidly than forward reasoning. Forward reasoning is of special interest in situations where we do not have a specific goal, where we know that most rules are to be considered, or where there are relatively few rules in a rule set.

We have also seen various ways that an inference engine can acquire knowledge needed in its reasoning process: from the user (or other external sources) or from its own integral knowledge system, which holds databases, spreadsheets, procedural models, other rule sets, and so forth.

The environment available for invoking an inference engine is important to both developers and users of expert systems. A consultation environment may range from rudimentary and rigid to powerful and flexible. We have highlighted some of the most important factors to examine when evaluating a consultation environment and examined alternatives that could be available within a consultation environment for invoking an inference engine. No matter what interface methods are supported, an expert system's inference engine must be capable of explaining its behavior to a user. Ideally, these explanations should be easily customizable by the expert system developer.

 


DECISION SUPPORT SYSTEMS

A KNOWLEDGE-BASED APPROACH


Chapter Fourteen - Summary

Opportunities for building business expert systems abound for both small and large problems. In each case, the expert system is built by developing its rule set. The planning that precedes rule set development is much like the planning that would precede any project of comparable magnitude within the organization. The development process itself follows an evolutionary spiral composed of development cycles.

Each cycle picks up where the last ended, building on the prior rule set. For a developer, the spiral represents a continuing education process in which more and more of an expert's reasoning knowledge is discovered and formalized in the rule set. Here, each development cycle was presented in terms of seven consecutive stages. Other characterizations of a development cycle (involving different stages or sequences) may be equally valuable. Many aspects of traditional systems analysis and project management can be applied to the development of expert systems.

Rule set development is a process of discovery and documentation. Research continues in search of ways of automating various aspects of the process. It would not be surprising to eventually see expert systems that can assist in this process -- that is, an expert system that "picks the mind" of a human expert in order to build new expert systems. Until that time comes, the topics discussed in this chapter should serve as reminders to developers of expert decision support systems about issues to consider during the development process.

 


DECISION SUPPORT SYSTEMS

A KNOWLEDGE-BASED APPROACH


Chapter Fifteen - Summary

Forward and reverse reasoning are two fundamentally different approaches to reasoning. Within each approach, many variations are possible. There are many kinds of reverse reasoning and many kinds of forward reasoning. Because no single kind of reasoning is best in all situations, skilled developers find it valuable to have mechanisms for easily adjusting an inference engine's exact reasoning behavior so it can differ from one consultation to another and from one rule set to another. Such adjustments can help the developer build an expert system whose advice more closely resembles that of the human expert. They can also allow the developer to tune the inference engine in the interest of maximizing consultation speeds.

Aspects of reasoning that can be adjusted include the degree of reasoning rigor, the selection order for considering competing rules, the testing strategy employed for premise evaluation, and the timing of reverse reasoning for unknown variables. The controls are also meaningful on a rule-by-rule and variable-by-variable basis. It is possible to set the reasoning controls prior to a consultation or have them set by the inference engine whenever it executes the rule set's initialization sequence. There can be additional reasoning controls that pertain specifically to reasoning with uncertainty and with fuzzy variables.

The topics of certainty factors and fuzzy variables are extensive. Only a brief overview of some of the basics has been presented here. Certainty factors are numbers that reflect the degree of certainty about a variable's value, an expression's value, or the appropriateness of a rule's action. In the course of reasoning, certainties need to be combined to derive other certainties. We have distinguished between two major certainty-combining situations: 1) combining certainties about the components of an expression to get a certainty factor for the expression's value, and 2) combining certainties involved in the firing of a rule to get a certainty factor for the value assigned to a variable in the rule's action.

Multiple methods exist for combining certainty factors. The traditional methods fall into two categories: joint (e.g., minimum and product methods) and confirmative (e.g., maximum and probability sum methods). Both categories come into play for each of the certainty-combining situations. Some inference engines give developers reasoning controls to govern which joint and confirmative certainty-combining methods are to be used in the situation of evaluating an expression (JCFE, CCFE) and in the situation of assigning a variable's value (JCFV, CCFV). The settings for such controls are chosen to yield certainties that most nearly approximate those of the expert being modeled.

Fuzzy variables are variables that have multiple values. Each value of a fuzzy variable has a certainty factor. In the course of inference, the multiple values of fuzzy variables (and their certainties) are propagated via additive assignments in fired rules. The result is typically multiple values for the consultation's goal variable, each with some reported degree of certainty.

It should be kept in mind that an understanding of certainty factors and fuzzy variables is not necessary in order to use an expert system. Furthermore, interesting expert systems can be developed without using such features. However, there are many applications where uncertainty arises. It is therefore valuable that an expert system development tool support the kinds of built-in certainty factor and fuzzy variable capabilities described here. They may not be required for some applications, yet they are always available when needed. Obviously, the degrees of flexibility, power, and convenience that a tool provides for reasoning with uncertainty are also very significant.