Expert systems in project management

Share to0

ArticleNovember 2000

PM Network

Schuyler, John R.

How to cite this article:

Schuyler, J. R. (2000). Expert systems in project management. PM Network, 14(11), 27–29.
Reprints and Permissions – opens in a new tab

An expert system (ES) is a computer program designed to solve procedural problems. Knowledge is represented in a expert system as frames, or data structures, and rules, which encode the procedural rules for problem-solving. This article overviews expert systems, explains how they work, and cites numerous examples. It describes artificial neural networks (NNs) and inference engines and offers a set of guidelines for deciding when a problem is appropriate for an expert system solution. Expert systems have been successfully used in such fields as project design and estimation, project cashflow modeling, and medical diagnosis but are also useful in solving nonprocedural problems.

img

by John Schuyler, PMP

Knowledge management is hot! And people are finding ways to capture knowledge and embed it in software.

How does a project manager perform his or her job? How do you train a person to be a good project manager? The idea behind expert systems is that we can capture the knowledge needed to perform certain types of work in a knowledge base of rules. A computer program then applies these rules in guiding the user in performing some task. The effective expert system can assist a nonexpert in performing tasks, such as planning and analysis, at or near an expert's performance level.

Smart Computers. Artificial intelligence (AI) is a broad area of computer science devoted to designing ways to make computers perform tasks previously thought to require human intelligence. The main subdivisions of AI include natural language processing (computers that understand our speech and words), vision systems (such as recognizing objects and patterns), robotics, expert systems (rule-and frame-based, including “fuzzy logic”), and neural networks. AI techniques, including rule-based expert systems, provide new ways to represent and share hard-won knowledge.

Some people bristle at the name expert system, because such programs are vastly inferior to the overall capabilities of a human expert. Expert systems and neural networks are instead popularly called “knowledge systems.”

Expert Systems. An expert system (ES) is a computer program that solves a procedural problem in much the same way as would a human expert. The ES assists a less-experienced person in performing a particular task in a manner similar to and with nearly the performance of a human expert.

The most popular ES applications include diagnosis and prescription, classification, and planning and configuring. These are all functions that project managers perform. As such, ES technology offers software developers a way to build in project management expertise. This technology is often operating behind-the-scenes in software systems. You've probably used expert systems already.

Representing Knowledge. There are two common ways of representing knowledge in an expert system:

Frames are a way to store information about “objects” (chunks of data). Each frame represents a hierarchical data structure relating objects to each other and containing attributes of each object. Modern databases and object-oriented programming languages have increasingly incorporated this approach in recent years. Here is a simple frame example:

Truck Transport Billing System
Type Project: New Development
Platform: PCs running MS Windows
Language: C++

Neural Networks

An artificial neural network (NN) is a simple arrangement of calculation nodes, called neurons, used for pattern recognition. We design NNs to operate in ways that approximate, and perhaps improve upon, the operation of a living brain.

NNs mathematically process complex data. One can view this as massive, multivariable, nonlinear regression. (Regression is where we determine an expression in which one calculated variable is a function of one or more other variables. Linear regression is best known, where we find the best line to represent a relationship between values plotted on an x-y graph. All but the simplest handheld calculators will do linear regression, calculating a “least squares” fit through data points of y versus x.)

In a neural network structure (see exhibit) we relate various inputs to one or several outputs. Also, there may be one or more “hidden” layers of nodes to improve performance. Weighted values of the input nodes determine what happens at successor nodes. The key is “training” the network; that is, cycling through data to establish the best weights for each connection. Once trained, the network can examine new data and predict the outcomes, sometimes with astonishing accuracy. Estimation is an obvious application in project management. Given the parameters of the project or activity, the neural networks can predict time and cost to complete.

Low-costs PC software is available for building NNs. Some require little user knowledge, automatically training the network with the available data and testing the performance of different network structures.

Applications include data filtering, pattern recognition, forecasting and trend analysis, process control, and optimization. Both expert systems and neural networks capture knowledge and experience. NNs can process data, and an ES can process the information further. The two methods are very different and complementary.

A neural network relates several inputs to one to several outputs.The reasoning is nearly incomprehensible to the user. We care mainly whether it generates good predictions. Knowledge is represented solely by the network configuration and the weights assigned to the branches

Exhibit 1. A neural network relates several inputs to one to several outputs.The reasoning is nearly incomprehensible to the user. We care mainly whether it generates good predictions. Knowledge is represented solely by the network configuration and the weights assigned to the branches.

ESs are not feasible when the problem is nonprocedural. We may know how to solve the problem by recognizing the solution, but we do not know the rules. Also, sometimes it would be too expensive to build a knowledge base of rules. In an evening one graduate student trained a NN that performed comparable to an ES (a sunspots forecasting expert) that took months to build.

Interfaces: General Ledger; Accounts Receivable

There is often a hierarchy of object types, and some of the attributes can be “inherited.”. In a project model the activities are often detailed as tasks, which in turn are detailed into actions or steps. Certain features of the “parent” object can be inherited by its “children.”

Rules are the action part of the knowledge base. They encode and contain the logic for solving the problem. Here are two example rules:

IF Weather Forecast = rain AND Outdoor Activity

THEN Expect Weather Delay. cf. 0.7

IF Change Order AND Electrical

THEN Need Architect Approval AND Need Engineer Approval. cf. 1.0

A typical expert system might contain 50–500 such rules. Commonsense reasoning is not a feature of the system, so the tasks need to be clearly defined and the rule base very complete.

Often the ES functions only as an advisor, and a human decides whether to accept the program's advice or not. Well-designed systems usually feature an “explanation facility,” a way of backtracking through the rules that were used in arriving at the recommendation or conclusion. By examining the system, the program user taps into the wisdom of the experts who contributed in building the knowledge base. It's a great learning tool. Users can note exceptions (overrides), and these are a common source of new rules.

The world isn't black and white, and builders of these systems often want to recognize shades of gray. Sometimes data are incomplete and uncertain. Not all rules apply to every situation. The most popular way to represent confidence in knowledge is by “fuzzy logic,” where we rate knowledge completeness as confidence factors (cf's, also called certainty factors, appended to the rules above) on a 0–1 scale: 0 means “no information or knowledge,” and 1 means “absolutely true.” We can attach confidence factors to (a) assertions provided by the user or knowledge base, (b) rules in the knowledge base, and (c) conclusions “inferred” by the expert system as it operates. If the problem has multiple solutions, then confidence factors provide a means to rank the proposed solutions. (These confidence factors may look and sometimes act similar to probabilities. However, they are not probabilities and should not be used for risking.)

With these knowledge representations, it's difficult to imagine a procedural problem that cannot be solved with ES technology. Some among us believe we humans are inventing our successors, and that our tools will replace us. (See sidebar.)

Operation. The “reasoning” part of an expert system is its inference engine. The IE is a procedure that works through the frames and rules in order to draw conclusions. This is what gives an expert system its power. The IE borrows from rules of logic, analysis, and search techniques.

Typical analysis tasks where we might want assistance include:

Helping design the project to meet a list of target specifications; developing the work breakdown structure, bill of materials, and cost estimates

Helping develop the project plan, watching for resource problems and looking for ways to level workgroup loading and shorten the schedule

Analyzing the project situation, reporting problem areas (elegant “exception reporting”), and suggesting remedies

Monitoring for risk events and early warning signs; and generating action lists.

Here's an example “utility” expert system: Teknowledge Corp. developed the “Wine Advisor” several years ago to demonstrate their ES software. They acquired permission to extract wine-selection rules from a respected wine authority's book. They encoded this wisdom into a knowledge base of about 200 rules. Suppose your project is to prepare an elegant meal for your friends. The Wine Advisor assists you in deciding what type of wine to buy. The ES asks questions about what food you are planning to serve: Will you have meat? If so, what type? Will there be a tomato or cream sauce? The program asks only pertinent questions based upon answers you provided earlier. The interactive process takes only a couple of minutes. The Wine Advisor then presents a list of recommend wines, prioritized according to the selection expertise of the expert.

In over two decades of popular use, ES technology has diffused into some project management applications. Following are several examples:

Digital Equipment Corp. developed one of the early, large-scale expert systems to configure complex computer orders. Millions of combinations were possible among thousands of components. Everything had to be shipped, fit together, and work.

Design and estimation projects are a prime application area for ES developers. Much of the work in design and estimation is procedural, and frame structures and rules work well for representing this knowledge.

My experience has been in developing an expert system for project cashflow modeling. The knowledge base and inference engine represent the process of developing feasibility models (functionally equivalent to what an analyst would develop with a computer spreadsheet). The knowledge base can recognize different types of projects, in different industries and in different countries.

Even if the initial project plan is done well, maintaining the project database for all changes is often a major effort. Monitoring is especially time-consuming and tedious. An ES can manage many of the details.

Applying the Technology. What makes a good candidate for an expert system? Here are guidelines for qualifying a problem for an ES solution:

The problem is important.

A body of knowledge exists related to the problem.

There are recognized experts who are substantially better than nonexperts at solving the problem.

Experts are scarce and expensive.

We can teach the skill; that is, explain the process and reasoning of the experts.

We can recognize a good solution.

Solving the problem currently requires several hours to several days.

Software tool developers have long-recognized the need for dynamic programs—those that change their function and presentation to suit the circumstances. The old and still most common way to provide flexibility is by embedding conditional branching logic using IF statements. When we hard-code the logic this way, the program is “brittle” (easily fails) and difficult to change and maintain. Expert systems take more computer time to operate but generate fresh reasoning as needed. Expressing the logic as rules is very much simpler for tasks suitable for an ES design approach.

THE FUTURE OF PROJECT MANAGEMENT includes tools to help us work faster and better. We don't have time to learn everything, and we don't have time to do all we're marketplace. With expert systems, we don't have to be specialists to perform some tasks at an expert level. Further, we can accomplish work faster, more alertly, and more rigorously. Our “assistant in the box” never gets tired and never has a bad day.

This is the last article in this series. My 1993–1995 series of articles was packaged into Decision Analysis in Projects [PMI, 1997]. The articles in this year's series will be embellished and added to new chapters in the second edition of Decision Analysis in Projects, planned for release by PMI in 2001. ■

John Schuyler, PMP, of Decision Precision in Aurora, Colo., provides training and assistance in economic decision analysis and in project risk management. Questions about this article should be directed to john@max value.com. Comments on this series should be directed to [email protected].

Reader Service Number 084

November 2000 PM Network

Like what you just read?

Log in or register for a free PMI account to get access 
to even more articles like this one.

Offer from our training partner

Advertisement

Offer from our training partner

Advertisement

Related Content

Offer from our training partner

Advertisement