Mimic the process of natural evolution to generate solutions to optimization and search problems.


INTELLIGENT TECHNIQUES

Artificial intelligence and database technology provide a number of intelligent techniques that organizations can use to capture individual and collective knowledge and to extend their knowledge base. Expert systems, case-based reasoning, and fuzzy logic are used for capturing tacit knowledge. Neural networks and data mining are used for knowledge discovery. They can discover underlying patterns, categories, and behaviors in large data sets that could not be discovered by managers alone or simply through experience. Genetic algorithms are used for generating solutions to problems that are too large and complex for human beings to analyze on their own. Intelligent agents can automate routine tasks to help firms search for and filter information for use in electronic commerce, supply chain management, and other activities.

           Data mining, which we introduced in Chapter 7, helps organizations capture undiscovered knowledge residing in large databases, providing managers with new insight for improving business performance. It has become an important tool for management decision making, and we provide a detailed discussion of data mining for management decision support in Chapter 13.

           The other intelligent techniques discussed in this section are based on artificial intelligence (AI) technology, which consists of computer-based systems (both hardware and software) that attempt to emulate human behavior. Such systems would be able to learn languages, accomplish physical tasks, use a perceptual apparatus, and emulate human expertise and decision making. Although AI applications do not exhibit the breadth, complexity, originality, and generality of human intelligence, they play an important role in contemporary knowledge management.


Capturing Knowledge: Expert Systems

Expert systems are an intelligent technique for capturing tacit knowledge in a very specific and limited domain of human expertise. These systems capture the knowledge of skilled employees in the form of a set of rules in a software system that can be used by others in the organization. The set of rules in the expert system adds to the memory, or stored learning, of the firm.

           Expert systems lack the breadth of knowledge and the understanding of fundamental principles of a human expert. They typically perform very limited tasks that can be performed by professionals in a few minutes or hours, such as diagnosing a malfunctioning machine or determining whether to grant credit for a loan. Problems that cannot be solved by human experts in the same short period of time are far too difficult for an expert system. However, by capturing human expertise in limited areas, expert systems can provide benefits, helping organizations make high-quality decisions with fewer people. Today expert systems are widely used in business in discrete, highly structured decision-making situations.

HOW EXPERT SYSTEMS WORK

Human knowledge must be modeled or represented in a way that a computer can process. The model of human knowledge used by expert systems is called the knowledge base. A standard programming construct is the IF�THEN construct, in which a condition is evaluated. If the condition is true, an action is taken. For instance,

IF INCOME > $45,000 (condition)

THEN PRINT NAME AND ADDRESS (action)

           A series of these rules can be a knowledge base. A software program for an expert system may have 200 to 10,000 of these rules, which are much more interconnected and nested than in a traditional software program (see Figure 12-11).

Mimic the process of natural evolution to generate solutions to optimization and search problems.


FIGURE 12-11 Rules in an AI program

An expert system contains a number of rules to be followed when used. The rules are interconnected; the number of outcomes is known in advance and is limited; there are multiple paths to the same outcome; and the system can consider multiple rules at a single time. The rules illustrated are for simple credit-granting expert systems.


           Could you represent the knowledge in the Encyclopaedia Britannica this way? Probably not, because the rule base would be too large, and not all the knowledge in the encyclopedia can be represented in the form of IF�THEN rules. In general, expert systems can be efficiently used only in those situations in which the domain of knowledge is highly restricted (such as in granting credit) and involves no more than a few thousand rules.

           The AI shell is the programming environment of an expert system. In the early years of expert systems, computer scientists used specialized artificial intelligence programming languages, such as LISP or Prolog, that could process lists of rules efficiently. Today, a growing number of expert systems use AI shells that are user-friendly development environments. AI shells can quickly generate user-interface screens, capture the knowledge base, and manage the strategies for searching the rule base.

           The strategy used to search through the rule base is called the inference engine. Two strategies are commonly used: forward chaining and backward chaining (see Figure 12-12).

Mimic the process of natural evolution to generate solutions to optimization and search problems.


FIGURE 12-12 Inference engines in expert systems

An inference engine works by searching through the rules and �firing� those rules that are triggered by facts gathered and entered by the user. Basically, a collection of rules is similar to a series of nested IF statements in a traditional software program; however, the magnitude of the statements and degree of nesting are much greater in an expert system.

           In forward chaining the inference engine begins with the information entered by the user and searches the rule base to arrive at a conclusion. The strategy is to fire, or carry out, the action of the rule when a condition is true. In Figure 12-12, beginning on the left, if the user enters a client�s name with income greater than $100,000, the engine will fire all rules in sequence from left to right. If the user then enters information indicating that the same client owns real estate, another pass of the rule base will occur and more rules will fire. Processing continues until no more rules can be fired.

           In backward chaining the strategy for searching the rule base starts with a hypothesis and proceeds by asking the user questions about selected facts until the hypothesis either confirmed or disproved. In our example, in Figure 12-12, ask the question, �Should we add this person to the prospect database?� Begin on the right of the diagram and work toward the left. You can see that the person should be added to the database if a sales representative is sent, term insurance is granted, or a financial adviser visits the client.

           Developing an expert system requires input from one or more experts, who have a thorough command of the knowledge base, and one or more knowledge engineers, who can translate the knowledge (as described by the expert) into a set of rules. A knowledge engineer is similar to a traditional systems analyst but has special expertise in eliciting information and expertise from other professionals.

           An expert systems development project balances potential savings from the proposed system against the cost. The team members develop a prototype system to test assumptions about how to encode the knowledge of experts. Next, they develop a full-scale system, focusing mainly on the addition of a very large number of rules. The complexity of the entire system grows with the number of rules, so the comprehensibility of the system may be threatened. Generally, the system is pruned to achieve simplicity and power. The system is tested by a range of experts within the organization against the performance criteria established earlier. Once tested, the system is integrated into the data flow and work patterns of the organization.


EXAMPLES OF SUCCESSFUL EXPERT SYSTEMS

The following are examples of expert systems that provide organizations with an array of benefits, including reduced errors, reduced costs, reduced training time, improved decisions, and improved quality and service.

           Countrywide Funding Corporation in Pasadena, California, is a loan-underwriting firm with about 400 underwriters in 150 offices around the country. The company developed a PC-based expert system in 1992 to make preliminary creditworthiness decisions on loan requests. The company had experienced rapid, continuing growth and wanted the system to help ensure consistent, high-quality loan decisions. Countrywide�s Loan Underwriting Expert System (CLUES) has about 400 rules. Countrywide tested the system by sending every loan application handled by a human underwriter to CLUES as well. The system was refined until it agreed with the underwriters in 95 percent of the cases.

           Countrywide does not rely on CLUES to reject loans because the expert system cannot be programmed to handle exceptional situations, such as those involving a self-employed person or complex financial schemes. An underwriter must review all rejected loans and makes the final decision. CLUES has other benefits. Traditionally, an underwriter could handle six or seven applications a day. Using CLUES, the same underwriter can evaluate at least 16 per day. Countrywide now is using the rules in its expert system to answer inquiries from visitors to its Web site who want to know if they qualify for a loan.

           Galeria Kaufhof, a German superstore chain, uses a rule-based system to help it manage more than 120,000 deliveries of goods that it receives each day, ranging from clothing to complex electronics and fine china. Inspecting each delivery is time consuming and expensive, but the company wants to make sure that it is receiving goods that are not damaged or defective. Kaufhof implemented a rule-based system that identifies high-risk deliveries and passes along lower-risk ones automatically. The system scans delivery labels and identifies each delivery in terms of its size, type of product, whether the product is a new product, and the supplier�s past history of deliveries to Kaufhof. Deliveries of large numbers of complex products that are new or that have suppliers with unfavorable delivery histories are carefully inspected, whereas other deliveries are passed on without inspection (Booth and Buluswar, 2002).

           The investment banking firm Goldman Sachs uses a rule-based expert system to keep unwanted stocks out of individual portfolios. Almost all of its client portfolios have restrictions specified by owners on which stocks or even entire sectors to exclude. Goldman wants to make sure its global network of financial advisers respect these restrictions so they do not make any purchases that clients do not want. Goldman�s business managers, compliance officers, and private wealth managers all play roles in deciding which stocks to purchase for a portfolio. The company developed a rule-based system that maintains rules for keeping a particular stock from entering a client�s portfolio. By creating a centralized portfolio-filtering system, Goldman is better able to catch mistakes before erroneous trades go through (Guerra, 2001).

           Although expert systems lack the robust and general intelligence of human beings, they can provide benefits to organizations if their limitations are well understood. Only certain classes of problems can be solved using expert systems. Virtually all successful expert systems deal with problems of classification in which there are relatively few alternative outcomes and in which these possible outcomes are all known in advance. Many expert systems require large, lengthy, and expensive development efforts. Hiring or training more experts may be less expensive than building an expert system. Typically, the environment in which an expert system operates is continually changing so that the expert system must also continually change. Some expert systems, especially large ones, are so complex that in a few years the maintenance costs equal the development costs.

           The applicability of expert systems to managerial problems is very limited. Managerial problems generally involve drawing facts and interpretations from divergent sources, evaluating the facts, and comparing one interpretation of the facts with another; they are not limited to simple classification. Expert systems based on the prior knowledge of a few known alternatives are unsuitable to the problems managers face on a daily basis.


Organizational Intelligence: Case-Based Reasoning

Expert systems primarily capture the tacit knowledge of individual experts, but organizations also have collective knowledge and expertise that they have built up over the years. This organizational knowledge can be captured and stored using case-based reasoning. In case-based reasoning (CBR), descriptions of past experiences of human specialists, represented as cases, are stored in a database for later retrieval when the user encounters a new case with similar parameters. The system searches for stored cases with problem characteristics similar to the new one, finds the closest fit, and applies the solutions of the old case to the new case. Successful solutions are tagged to the new case and both are stored together with the other cases in the knowledge base. Unsuccessful solutions also are appended to the case database along with explanations as to why the solutions did not work (see Figure 12-13).

Mimic the process of natural evolution to generate solutions to optimization and search problems.


FIGURE 12-13 How case-based reasoning works

Case-based reasoning represents knowledge as a database of past cases and their solutions. The system uses a six-step process to generate solutions to new problems encountered by the user.


           Expert systems work by applying a set of IF�THEN�ELSE rules against a knowledge base, both of which are extracted from human experts. Case-based reasoning, in contrast, represents knowledge as a series of cases, and this knowledge base is continuously expanded and refined by users. One can find case-based reasoning in diagnostic systems in medicine or customer support where users can retrieve past cases whose characteristics are similar to the new case. The system suggests a solution or diagnosis based on the bestmatching retrieved case.

Fuzzy Logic Systems

Most people do not think in terms of traditional IF�THEN rules or precise numbers. Humans tend to categorize things imprecisely using rules for making decisions that may have many shades of meaning. For example, a man or a woman can be strong or intelligent. A company can be large,medium, or small in size. Temperature can be hot, cold, cool, or warm. These categories represent a range of values.

           Fuzzy logic is a rule-based technology that can represent such imprecision by creating rules that use approximate or subjective values. It can describe a particular phenomenon or process linguistically and then represent that description in a small number of flexible rules. Organizations can use fuzzy logic to create software systems that capture tacit knowledge where there is linguistic ambiguity.

           For example, FordMotor Company developed a fuzzy logic application that backs a simulated tractor trailer into a parking space. The application uses the following three rules:

IF the truck is near jackknifing, THEN reduce the steering angle.

IF the truck is far away from the dock, THEN steer toward the dock.

IF the truck is near the dock, THEN point the trailer directly at the dock.

           This logic makes sense to us as human beings because it represents how we think as we back that truck into its berth. To see how such logic would be translated into a software system, let us look at the way fuzzy logic would represent various temperatures in a computer application to control room temperature automatically. The terms (known as membership functions) are imprecisely defined so that, for example, in Figure 12-14, cool is between 50 degrees and 70 degrees, although the temperature is most clearly cool between about 60 degrees and 67 degrees. Note that cool is overlapped by cold or norm. To control the room environment using this logic, the programmer would develop similarly imprecise definitions for humidity and other factors, such as outdoor wind and temperature. The rules might include one that says: �If the temperature is cool or cold and the humidity is low while the outdoor wind is high and the outdoor temperature is low, raise the heat and humidity in the room.� The computer would combine the membership function readings in a weighted manner and, using all the rules, raise and lower the temperature and humidity.

Mimic the process of natural evolution to generate solutions to optimization and search problems.

FIGURE 12-14 Implementing fuzzy logic rules in hardware
The membership functions for the input called temperature are in the logic of the thermostat to control the room temperature. Membership functions help translate linguistic expressions such as warm into numbers that the computer can manipulate.

Source: James M. Sibigtroth, �Implementing Fuzzy Expert Rules in Hardware,� AI Expert, April 1992. � 1992 Miller Freeman, Inc. Reprinted with permission.


           Fuzzy logic provides solutions to problems requiring expertise that is difficult to represent in the form of crisp IF�THEN rules. In Japan, Sendai�s subway system uses fuzzy logic controls to accelerate so smoothly that standing passengers need not hold on. Mitsubishi Heavy Industries in Tokyo has been able to reduce the power consumption of its air conditioners by 20 percent by implementing control programs in fuzzy logic. The autofocus device in cameras is only possible because of fuzzy logic. Williams-Sonoma sells a rice steamer made in Japan that uses fuzzy logic. A variable heat setting detects the amount of grain, cooks it at the preferred temperature, and keeps the food warm up to 12 hours. In these instances, fuzzy logic allows incremental changes in inputs to produce smooth changes in outputs instead of discontinuous ones, making it useful for consumer electronics and engineering applications.

           Fuzzy logic can be used to express relationships very generally and compactly, requiring fewer IF�THEN rules than traditional software programs. Compact software programs require less computer capacity, enabling, for example, Sanyo Fisher USA to implement fuzzy logic for camcorder controls without adding expensive memory to its product.

           Management also has found fuzzy logic useful for decision making and organizational control. A Wall Street firm created a system that selects companies for potential acquisition, using the language stock traders understand. Recently, a system has been developed to detect possible fraud in medical claims submitted by health care providers anywhere in the United States.


Neural Networks

Neural networks are used for modeling complex, poorly understood problems for which large amounts of data have been collected. They are especially useful for finding patterns and relationships in massive amounts of data that would be too complicated and difficult for a human being to analyze. Neural networks discover this knowledge by using hardware and software that emulate the processing patterns of the biological brain. Neural networks �learn� patterns from large quantities of data by sifting through data, searching for relationships, building models, and correcting over and over again the model�s own mistakes.

           A neural net has a large number of sensing and processing nodes that continuously interact with each other. Figure 12-15 represents one type of neural network comprising an input layer, an output layer, and a hidden processing layer. Humans �train� the network by feeding it a set of training data for which the inputs produce a known set of outputs or conclusions. This helps the computer learn the correct solution by example. As the computer is fed more data, each case is compared with the known outcome. If it differs, a correction is calculated and applied to the nodes in the hidden processing layer. These steps are repeated until a condition, such as corrections being less than a certain amount, is reached. The neural network in Figure 12-15 has learned how to identify a good credit risk. Also, self-organizing neural networks can be trained by exposing them to large amounts of data and allowing them to discover the patterns and relationships in the data.

Mimic the process of natural evolution to generate solutions to optimization and search problems.

FIGURE 12-15 How a neural network works
A neural network uses rules it �learns� from patterns in data to construct a hidden layer of logic. The hidden layer then processes inputs, classifying them based on the experience of the model.

Source: Herb Edelstein, �Technology How-To: Mining Data Warehouses,� InformationWeek, January 8, 1996. Copyright � 1996 CMP Media, Inc., 600 Community Drive, Manhasset, NY 12030. Reprinted with permission.


           Whereas expert systems seek to emulate or model a human expert�s way of solving problems, neural network builders claim that they do not model human intelligence, do not program solutions, and do not aim to solve specific problems per se. Instead, neural network designers seek to put intelligence into the hardware in the form of a generalized capability to learn. In contrast, the expert system is highly specific to a given problem and cannot be retrained easily.

           Neural network applications are emerging in medicine, science, and business to address problems in pattern classification, prediction, financial analysis, and control and optimization. In medicine, neural networks applications are used for screening patients for coronary artery disease, for diagnosing patients with epilepsy and Alzheimer�s disease, and for performing pattern recognition of pathology images. The financial industry uses neural networks to discern patterns in vast pools of data that might help investment firms predict the performance of equities, corporate bond ratings, or corporate bankruptcies. Visa International is using a neural network to help detect credit card fraud by monitoring all Visa transactions for sudden changes in the buying patterns of cardholders.

           Unlike expert systems, which typically provide explanations for their solutions, neural networks cannot always explain why they arrived at a particular solution. Moreover, they cannot always guarantee a completely certain solution, arrive at the same solution again with the same input data, or always guarantee the best solution. They are very sensitive and may not perform well if their training covers too little or too much data. In most current applications, neural networks are best used as aids to human decision makers instead of substitutes for them.


Genetic Algorithms

Genetic algorithms (also referred to as adaptive computation) are used for finding the optimal solution for a specific problem by examining a very large number of possible solutions for that problem. Their problem-solving techniques are conceptually based on the method that living organisms use to adapt to their environments�the process of evolution. They are programmed to work the way populations solve problems�by changing and reorganizing their component parts using processes such as reproduction, mutation, and natural selection.

           Thus, genetic algorithms promote the evolution of solutions to particular problems, controlling the generation, variation, adaptation, and selection of possible solutions using genetically based processes. As solutions alter and combine, the worst ones are discarded and the better ones survive to go on to produce even better solutions. Genetic algorithms breed programs that solve problems even when no person can fully understand their structure

           A genetic algorithm works by representing information as a string of 0s and 1s. A possible solution can be represented by a long string of these digits. The genetic algorithm provides methods of searching all possible combinations of digits to identify the right string representing the best possible structure for the problem.

           In one method, the programmer first randomly generates a population of strings consisting of combinations of binary digits (see Figure 12-16). Each string corresponds to one of the variables in the problem. One applies a test for fitness, ranking the strings in the population according to their level of desirability as possible solutions. After the initial population is evaluated for fitness, the algorithm then produces the next generation of strings, consisting of strings that survived the fitness test plus offspring strings produced from mating pairs of strings, and tests their fitness. The process continues until a solution is reached.

Mimic the process of natural evolution to generate solutions to optimization and search problems.

FIGURE 12-16 The components of a genetic algorithm
This example illustrates an initial population of �chromosomes,� each representing a different solution. The genetic algorithm uses an iterative process to refine the initial solutions so that the better ones, those with the higher fitness, are more likely to emerge as the best solution.

Source: From Intelligent Decision Support Methods by Vasant Dhar and Roger Stein, p. 65, � 1997. Reprinted by permission of Prentice Hall, Upper Saddle River, New Jersey.


           Many business problems require optimization because they deal with issues such as minimization of costs, maximization of profits, efficient scheduling, and use of resources. If these situations are very dynamic and complex, involving hundreds or thousands of variables or formulas, genetic algorithms can expedite the solution because they can evaluate many different solution alternatives quickly to find the best one.

           For example, General Electric engineers used genetic algorithms to help optimize the design for jet turbine aircraft engines, where each design change required changes in up to 100 variables. The supply chain management software from i2 Technologies uses genetic algorithms to optimize production-scheduling models incorporating hundreds of thousands of details about customer orders, material and resource availability, manufacturing and distribution capability, and delivery dates. International Truck and Engine used this software to iron out snags in production, reducing costly schedule disruptions by 90 percent in five of its plants. Genetic algorithms have helped market researchers performing market segmentation analysis (Kuo, Chang, and Chien, 2004; Burtka, 1993; Wakefield, 2001).


Hybrid AI Systems

Genetic algorithms, fuzzy logic, neural networks, and expert systems can be integrated into a single application to take advantage of the best features of these technologies. Such systems are called hybrid AI systems. Hybrid applications in business are growing. In Japan, Hitachi, Mitsubishi, Ricoh, Sanyo, and others are starting to incorporate hybrid AI in products such as home appliances, factory machinery, and office equipment. Matsushita has developed a �neurofuzzy� washing machine that combines fuzzy logic with neural networks. Nikko Securities has been working on a neurofuzzy system to forecast convertible-bond ratings.

Mimic the process of natural evolution to generate solutions to optimization and search problems.


Illustrated here is a sample application from Ward Systems� Gene Hunter for optimizing a portfolio of securities by minimizing risk while simultaneously maximizing return. The trader picks a number of stocks that he or she believes will offer a high rate of return. The genetic algorithm is used to minimize the risk by helping to adjust the portfolio so that it behaves more like the Standard & Poors (S&P) 500 index. The S&P 500 portfolio is considered less risky because it is much larger and more diversified than just a handful of stocks.



Intelligent Agents

Intelligent agent technology can help businesses navigate through large amounts of data to locate only information that is considered important and, in some cases, act on that information on behalf of the user. Intelligent agents are software programs that work in the background without direct human intervention to carry out specific, repetitive, and predictable tasks for an individual user, business process, or software application. The agent uses a limited built-in or learned knowledge base to accomplish tasks or make decisions on the user�s behalf. Intelligent agents can be programmed to make decisions based on the user�s personal preferences�for example, to delete junk e-mail, schedule appointments, or travel over interconnected networks to find the cheapest airfare to California. The agent can be likened to a personal digital assistant collaborating with the user in the same work environment. It can help the user by performing tasks on the user�s behalf, training or teaching the user, hiding the complexity of difficult tasks, helping the user collaborate with other users, or monitoring events and procedures.

           There are many intelligent agent applications today in operating systems, application software, e-mail systems, mobile computing software, and network tools. For example, the wizards found in Microsoft Office software tools have built-in capabilities to show users how to accomplish various tasks, such as formatting documents or creating graphs, and to anticipate when users need assistance.

           Of special interest to business are intelligent agents for cruising networks, including the Internet, in search of information. Chapter 8 describes how these shopping bots can help consumers find products they want and assist them in comparing prices and other features. Because these mobile agents are personalized, semiautonomous, and continuously running, they can help automate several of the most time-consuming stages of the buying process and thus reduce transaction costs.

           Agent technology is finding applications in supply chain management for improving coordination among different members of the supply chain in response to changing business conditions (Lee et al., 2004; Sadeh, Hildum, and Kjenstad, 2003; Cavalieri, Cesarotti, and Introna, 2003). Figure 12-17 illustrates the use of intelligent agents in Procter & Gamble�s supply chain network. The network models a complex supply chain as a group of semiautonomous �agents� representing individual supply chain components, such as trucks, production facilities, distributors, or retail stores. The behavior of each agent is programmed to follow rules that mimic actual behavior, such as �dispatch a truck when it is full.� Simulations using the agents enable the company to perform what-if analyses on inventory levels, in-store stockouts, and transportation costs.

Mimic the process of natural evolution to generate solutions to optimization and search problems.

FIGURE 12-17 Intelligent agents in P&G�s supply chain network
Intelligent agents are helping Procter & Gamble shorten the replenishment cycles for products such as a box of Tide.

           Using intelligent agent models, P&G discovered that trucks should often be dispatched before being fully loaded. Although transportation costs would be higher using partially loaded trucks because of both driver time and fuel to deliver fewer goods, the simulation showed that retail store stockouts would occur less often, thus reducing the amount of lost sales, which would more than make up for the higher distribution costs. Agent-based modeling has saved P&G $300 million annually on an investment of less than 1 percent of that amount (Anthes, 2003). Table 12-5 shows how other companies are using intelligent agent technology.

TABLE 12-5 How Businesses Are Using Intelligent Agents

Mimic the process of natural evolution to generate solutions to optimization and search problems.

Which is a difference between information systems and artificial intelligence AI technologies?

AI and machine learning aim at carrying out tasks that include learning, adapting, performing, processing information, and speech recognition similar to humans. But, information technology systems are based on evaluating, storing, capturing, and analyzing data.

What was the first expert system developed to determine the chemical structure of molecules?

The software program Dendral is considered the first expert system because it automated the decision-making process and problem-solving behavior of organic chemists. The project consisted of research on two main programs Heuristic Dendral and Meta-Dendral, and several sub-programs.

What is similar to a database but in addition to storing facts and figures it keeps track of rules and explanations associated with facts?

A knowledge base is similar to a database, but in addition to storing facts and figures it keeps track of rules and explanations associated with facts.