TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM TITLE 9: INTELLIGENCE DECISION SUPPORT SYSTEM Rossilawati Sulaiman INTRODUCTION In this chapter we are going to discuss Artificial Intelligence techniques that can be used in decision-making. Our concern is to enhance our decision support system, especially in the decision making process. We will explore briefly the fields in AI, and discuss more on artificial neural network and expert system. Some examples are also given on the applications that use AI technique in supporting decision-making process. OBJECTIVES After you have studied this chapter, you will learn: 1. the fields in Artificial Intelligence 2. why we use AI technique in decision making 3. the use of expert system in making decision 4. the use of artificial neural network technique in decision making 5. examples of applications using AI techniques in decision-making. OUM 1 TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM MIND MAP AI DSS Definition 2 OUM TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM 9.1 ARTIFICIAL DEFINITION INTELLIGENCE: CONCEPT AND The are many definitions of Artificial Intelligence (AI). Stuart-russel: Tazmania: Basically, Artificial Intelligence indicates the criteria that a machine has, which can imitate human thought process. AI can also be referred to the ability of ‘learning’, ‘reasoning’ and making decision. Why do we need AI elements in implementing DSS? Computers are designed to perform a task from the easiest to the most highly complicated one, based on people needs. However, computers are not able to learn from experience like human do. Whenever a decision is going to be made, computers cannot simply ‘think’ or assess any consequences out of it. Artificial Intelligence aims to enhance machine behavior so that an intelligent element can be embedded into the computer during the decision making process and problem solving. Therefore, the computer will imitate human by taking into account every factor presented to it. Furthermore with AI added in, computer can then learn from experience like humans do and this criterion will assist in making a better decision. 9.1.1 Some Artificial Intelligence Fields This section will briefly describe on some Artificial Intelligence areas. These concepts usually applied in different domain of problem. EXPERT SYSTEM This system uses human expertise stored in the system. The system will interact with users to get information and solve the problem. We will go into detail on the system later in this chapter. NATURAL LANGUAGE PROCESSING The goal of the Natural Language Processing (NLP) technology is to allow computer user to communicate with computer using languages that they use naturally and finally users can communicate to the computer like they communicate with another person. SPEECH RECOGNITION This technology is the ability of the computer to recognize and understand the spoken language. The computer must able to understand anyone’s speech and react to voice command. OUM 3 TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM NEURAL COMPUTING Neural Computing technology is based on human brain functionality that is transformed into mathematical model. This model is used in many areas such as in medical, business, transportation and many more. We will discuss this topic later in this chapter. GAMES There are many AI techniques applied in this area. For example the famous Deep Blue, a chess game application with intelligent feature embedded in it. FUZZY LOGIC This technique applied to deal with fuzziness of a fact. Fuzzy logic goes further than Boolean true/false. It will extend the fact to be partially true (or partially false) with certain degrees. GENETIC ALGORITHM This technique used in searching for pattern from a set of data. This technique is based on biological evolution of genetic variation. INTELLIGENT AGENT This technique used a small program that will be release to a network to do certain task automatically. A very simple example is an antivirus program that is automatically detects any unwanted program in a computer. Other application that is using agent is to do bidding in an online auction. Exercise 9.1 4 1. Why do we need AI techniques in implementing Decision Support System? 2. Give 5 fields that are currently used in AI. OUM TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM 9.2 EXPERT SYSTEM An expert system is a technique in AI that can enhance a decision-making process. Basically, an expert, a person with special skill or knowledge will ‘give’ his knowledge to the system so that the system will ‘think’ like a human when making decision. In this section, we will discuss about the general architecture of an expert system, specifically in knowledge based system. Following that we will discuss about expert system applications and how they assist human in making decision. 9.2.1 THE GENERAL ARCHITECTURE OF EXPERT SYSTEM: KNOWLEDGE BASED SYSTEM CONSULTATION ENVIRONMENT DEVELOPMENT ENVIRONMENT Knowledgebased Rules/Facts User Explanation Services Knowledge Engineer Interfaces Inference Engine Suggestion on actions Knowledge Expert Documented Information Figure 9.1: Structure of an Expert System Figure 9.1 shows the architecture of an expert system. Generally, an expert system contains two major environments; the development environment and consultation environment, an inference engine and the knowledge base. Development Environment In the development environment, the knowledge obtained from the expert, together with other documented information will be transferred to set of rules by knowledge engineers. The rules will be kept in the knowledge base. OUM 5 TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM Knowledge Base Knowledge base will store rules from experts as well as facts related to the domain problem. Table 9.1 below shows an example of rules describing ischaemic heart disease depicted from [arieff,2004]. All facts about this disease will be collected from heart experts and then transformed into rules. Table 9.1: Rules developed to describe inflammatory heart disease Rules for ischaemic heart disease IF You have high blood pressure AND You have a diabetes AND You have hypercholesterolemia AND You feel pain in the chest for a few minutes AND You have nausea/vomiting THEN Ischaemic heart disease Inference Engine An inference engine is used to infer the rules in the knowledge base during the decisionmaking process. The engine will infer the rules according to the fact given by users and come out with a conclusion. Consultation Environment In the consultation environment experts in the domain-specific problem will assist the nonexperts, or the target user. The explanation service will explain in further detail how the system comes out with a particular solution. The interaction between end-user and the system is done through the interface. 6 OUM TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM 9.2.2 APPLICATIONS ON EXPERT SYSTEM There are many expert system applications applied in various kinds of field. Below are examples on applications that are developed using expert system technique. R1/XCON This system was developed by John McDermott et.al. in late 70’s. The system is said to be the most successful commercial expert systems. It is developed as to help in setting configuration in VAX computer system at Digital Equipment Corporation. The configuration is on the basis of customer’s need. The input of the system is the computer characteristics required by users. The output would be a suggested decision on the computer specification, so that users can make decisions to buy computer specification according to their requirements. However, the system has a few shortcomings where the rules have expanded from time to time. New rules will be simply added in the rulebase and after a while the rulebase become very large. Consequently the system was no longer reliable and the company needs to rewrite the system to get better result. MYCIN MYCIN is another application in expert system specifically in medical area. It is developed using LISP programming language by Edward Shortliffe in late 70s. This application helps in diagnosing infection in blood-related diseases. The input of the system is the symptoms of the specified disease and the output is the diagnosed disease together with the degree of certainty and the suggested therapy. The system will ask series of questions to the user as inputs. This application uses more complex questions to get inputs from users. The inference engine uses the rules in the rulebase during the diagnosing process based on the inputs given by the user. E-PADDY E-PADDY is a diagnosis and advisory system developed by a group of researchers in National University of Malaysia [ROSS et. al]. The system covers paddy diseases and pest control diagnosis on paddy plant. Up to now, the system is able to diagnose 18 possible diseases, using production rules and frame approach. The system will request input from the user, to get symptoms of a specific disease by presenting series of questions to the user. The input given will be matched to the set of rules in the knowledge-base to produce the specific output regarding the disease. Exercise 9.2 1. What is the role of inference engine in an expert system? 2. Give two examples of applications that use expert system technique and describe how they help in making decision OUM 7 TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM 9.3 MACHINE LEARNING Another technique in AI that can be used in DSS is Machine Learning. This technique allows machine to learn or acquire knowledge from experience (such as historical data). Basically, there are two types of categories: supervised and unsupervised learning. Supervised learning indicates a process of learning that induces knowledge from a set of data, which the final outcomes are known. For example, we induce a set of rules from historical paddy diseases data. We already know all possible cases of diseases that might occur. Meanwhile, unsupervised learning is used to obtained knowledge from a set of data, which the final outcomes are unknown. For example, we can do classification on users’ preferences of different products. We do not know what kind of choices the user might select. Figure 9.*** below indicates a taxonomy of learning machine, depicted from [efram Turban] Machine Learning Supervised Explanationbased learning Case-based reasoning Unsupervised Statistical regression Inductive learning Genetic Algorithm Neural Network Genetic Algorithm Neural Network Clustering Figure 9.2: Taxonomy of Learning Methods From Figure 9.2, we can identify several methods and algorithms used in machine learning: 8 OUM TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM Inductive Learning Inductive learning involves the process of learning by example. The system will do a generalization from a specific observation. The generalization can be used for explanatory or predictive purposes. For example in explanatory purpose, the system will produce a set of similarities from a given set of data. For instance, a customer buying-behavior study discovers that if customers buy sausage and bread, it is likely that they will also buy butter. In predictive purpose, the system will learn from a set of data that is classified into two or more classes. For example, the system is required to classify different types of animals. Case-based reasoning A case-based reasoning (CBR) system works by finding solution to new problem from a historical database and then adapting successful solutions from the past to current situations. For example, if a computer does not start, CBR can be used to match the characteristics of the problem with a database. Neural computing Neural computing is a technique that attempts to imitate the structure and functionality of the human brain. The system uses this technique will be presented to a set of training data so that the system can learn to solve a specific problem. More on this will be further explained in section**. Genetic algorithm Inspired by Darwin's theory of evolution, this technique solves problem by using evolutionary process. Initially the system is presented by a set of solutions that is represented by chromosomes. The set is also called population. The system will try to find the right solution from the population. The chosen solutions will be used to form a new population, which is possibly better than the previous one. The selected solutions are based on their fitness. This process is evolving until some condition is satisfied. OUM Clustering –put data into several groups based on their similarities, used for marketing etc Statistical methods-such as multiple discriminant analysis, suitable for analyzing knowledge that is quantitative in nature and have been applied to knowledge acquisition, forecasting, and problem solving Explanation-based learning-combine exixting theories to explain why one instance is not a prototypical member of a class 9 TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM We have discussed so far that there are many methods and algorithms used under machine learning that can be an aid to decision support. In the next section, we will be discussing about neural network method in detail and how it can be used to support decision-making. 10 OUM TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM 9.4 ARTIFICIAL NEURAL NETWORKS (ANN) The real human brain biological process initially inspires Artificial Neural Networks (ANN). ANN is one of the AI techniques that can support decision-making. ANN can learn from experience like human do. Generally, neural networks are used in pattern recognition, generalization, and prediction. Neural networks are trained by showing them examples data repeatedly. The data contain the input and the desired output for a particular problem. The network will be trained to learn to achieve the desired output. When the network has succeeded in mastering the learning process, we can test the network by a new test data that the network never seen before. At this stage, the network should still be able to predict the correct output. Neural network software packages are widely used in business especially in stock market prediction, credit card fault detector and many more. In medical area, neural networks are widely used in health monitoring and diagnosing diseases. You can browse http://www.calsci.com/Applications.html for more examples of neural network applications. 9.4.1 Basic component of ANN ANN consists of several interconnected simple processors as a parallel computing procedure. Each processor (also can be referred to as a node or neuron) is only concern on signals it sends to and signals it receives from other processors periodically. Each processor will be cooperating with other processors in a large network to perform the required task. For example, in business area neural network can be used to help us decide whether a candidate is qualified for a bank loan. There are also applications that can help us forecast the stock market prices. The processing unit Now let us take a look at the basic component of ANN. Figure 9.1 below shows a single neuron in a network. The neuron will receive several signals as input from other connected neurons as well as sending its signal to the other neurons in the network as an output. The output signals sent to the other connected units are also known as weights. Each neuron will have the capability to compute the combining input signals. An activation rule in each unit will later compute the output signal using the combining input value. The output will be the input to other neurons, but it might as well be the final result such as 1 as YES and 0 as NO. X 1 X 2 Xi Input signals (weights) from other processors OUM W1j W2j Wij Net j= ∑Wij . xi Neuron j Activation function ƒ(x ) Yj Output signals (weights) to other processors 11 TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM Figure 9.3: A single processor in a network From figure 9.1, x1, x2,…, xi are the values of input neurons, with weights values of w1j, w2j,…, wij respectively. The calculation of the combined input Netj, is the summation of multiplication of input value xi with the respective weights wij. n Netj = Wij.xi i 1 where n is the number of connected neurons, Wij is the weight sent to the neuron j and xi is the values of input neuron. There is also another function to calculate the output signal, called the activation function, f(x). This function is actually to normalized the value of combined input value, Netj that later be the final output value for the neuron. This output value will either be sent to the other neurons as input value or it might be the final output for the network. EXAMPLE 9.1 This example will show the calculation of combined input Netj for neuron j illustrated in figure 9.**. 0.2 0.5 2.4 0.4 j 0.3 0.2 n Netj = Wij.xi i 1 = (0.5 X 0.2) + (0.4 X 2.4) + (0.2 X 0.3) = 1.12 or alternatively, we can use matrices like the following: 0 .2 0.5 0.4 0.2 2.4 = 1.12 0.3 Figure 9.4: An example of calculating the combining output in a neuron 12 OUM TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM OUM 13 TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM Exercise 9.3 Calculate the combined input for the following neuron: X1 = 3 X2 = 5 X3 = 1 W1=0.2 W2=0.4 Neuron j W3=0.7 The network One of the main aspects to be considered in ANN is how to construct a network, which requires us to concern on the connectivity among neurons, including the direction of the connections as well as their respective weight values. Each ANN consists of neurons arranged in layers. Basically, there can be three layers of neurons illustrate in figure 9.*** below. There are input layer with four neurons as input units, middle layer with two neurons, which is also known as hidden layer, and output layer with one neuron as output unit. It is called input unit because it will take input directly from the environment like keyboards, sensors and so on. The same thing applied to output unit, which will send output directly to the environment. Meanwhile, middle layer or the hidden layer consists of hidden units and they are not directly connected to the environment. Each neuron is connected to the other neurons in the adjacent layer. There can be more than one hidden layer depends on how we model our network. The neurons can be connected to one another in various ways. Each neuron can be connected to every other neuron, or each neuron can only be connected to the adjacent neuron on the other layer. Also, there are models that allow feedback connection to the other neuron on the adjacent layer and so on. Input layer 14 Hidden layer Output layer OUM TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM Figure 9.5: A Neural Network with single hidden layer OUM 15 TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM Activation Functions An activation function in a network will carry out a task of calculating the output signal of a neuron. The calculated output signal then sent to the other neurons. The final output could be a real number, or real number within a tolerance interval [0-1], or a discrete number like {0,1} or {-1,+1}. A simple example of activation function is the Sigmoid function, which is commonly used in ANN. The output from this function is in the range of 0 to 1. An example is shown in Figure 9.*** below. The function is involve is: Yj 1 . 1 exp( Netj) Yj is the normalized value of combined input value Netj, typically between 0 and 1. This process is performed before the output sent to the other neuron in the next layer. If the normalization is not done, the output will be very large and it is difficult to reached the desired output of the network. Yj 1.0 0.8 0.6 0.4 0.2 Netj -4 -2 2 4 Figure 9.**: The sigmoid function Apart from the sigmoid function, there is also function that uses a treshold value such as in Binary treshold function. This function will limit the Yj value to 0 or 1 depending on the value of Netj relative to a particular treshold value, . This is illustrated in Figure 9.*** below. Yj 1.0 Yj = 1 if Netj 0 if Netj < Netj Figure 9.6: The Binary treshold function The process in the activation function can take place at the output on each neuron, or done only at the output layer, depending on how we model our network. Next, we will see an example of a network that learns the exclusive-or (XOR) arithmetic. 16 OUM TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM EXAMPLE 9.2 This example will show us a network that learns the XOR relationship. Table 9.1 shows the XOR operator's truth table: Table 9.1: XOR relationship INPUT DESIRED OUTPUT X1 X2 1 1 0 1 0 1 0 1 1 0 0 0 The output can only be true if either x1 or x2 is true (1). The network is designed to be a layered feedfoward network, with 2 input units, one hidden layer with 2 hidden units and an output unit. Feedforward means that the connection of each neuron will only be in one direction. Exercise *** CE BUAT LATIHAN PENGIRAAN 1. OUM Give three examples of Groupware that support GDSS and describe their criteria briefly. 17 TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM A learning rule to adapt the weights There are many learning algorithms in ANN used according to the required tasks. There are two groups of learning algorithm in ANN; supervised and unsupervised learning illustrated in Figure 9.***, depicted from [L. Medsker and J. Liebowitz, 1994]. Learning Algorithm Discrete/Binary input Supervised Simple Hopfield Outerproduct AM Hamming net Continuous input Unsupervised ART-1 Carpenter/ Grossberg Supervised Delta rule Gradient descent Competitive learning Neocognitron Preceptor Unsupervised ART-3 SOFM Clustering algorithm Architecture Supervised Recurrent Hopfield Unsupervised Feedforward Estimators Nonlinear vs Linear Backpropagation ML perceptron Boltzman SOFM Extractors ART-1ART-2 Figure 9.**: Learning Algorithms And Architecture In Neural Network As discussed before, supervised learning involves a learning process from a given set of data of which the final outcomes are known. For example a set of historical data on diagnosing heart attack is presented to a network as an input. The desired output should be equal to 1 if the patient had a heart attack and 0 if the patient is healthy. The network will work on the data and produce the actual output. It will learn to produce output as closed as the desired output by calculating the difference between the two outputs. Another version of this technique is to consider the previous weight change when attempting to do error correction as in the backpropagation and the Hopfield network. Meanwhile, in unsupervised learning, the network is left to learn on its own with no desired output (self-organized). The network will cluster particular patterns of output that have something in common. For example, the network is trained to recognize jockey players 18 OUM TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM and sumo players, which obviously use the weight parameter in clustering. Therefore, the network must able to group data that shared relatively similar weights. This kind of selflearning can be seen in Adaptive Resonance Theory (ART) and Self-organizing Feature Maps (SOFM). Generally, supervised learning process in ANN involves processes of: a. Computing the output from input layers, Yj b. Comparing Yj with the desired output, Z. c. Adjusting the weight and repeat (a) and (b) to minimize difference , between Yj and Z Contoh back propagation example OUM 19 TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM 20 OUM TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM The main goal of learning process is to decrease the value of so that Yj is as closed to Z as possible by adjusting the weights. 9.4.2 Example ANN has been used in many applications such as in credit card Now we will discuss examples on the usage ANN in decision support. We first start with a very simple example that is to calculate OUM 21 TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM 9.4.3 Example of calculation Exercise 3.4 1. 22 Giv OUM TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM 9.5 OTHER TECHNIQUES IN AI Exercise 3.5 1. Explain how GDSS concept can be applied in education sector. SUMMARY GDSS concept, supported by its technologies can be applied in group decision-making. GDSS technology is meant to enhance group performance and decision-making and less time consuming. There are four type of collaboration that helps in decision-making. The decision process can be in a meeting room, where all members can meet at the same time. It can also occur among geographically distributed members. This can be done by using various GDSS Groupware. GDSS concept can be applied not only in the organization, but also in education. TEST 1 Instruction: Answer all questions in exactly 15 minutes. 1. Describe four types of collaboration. 2. Give 3 examples of group supporting tools. 3. When would you use various group support tools? OUM 23 TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM 4. How can videoconferencing and groupware helps in an organization that has few branches? 5. What is a definition for a "Virtual Organization"? 24 OUM TITLE 9 INTELLIGENCE DECISION SUPPORT SYSTEM TEST 2 Instruction: Answer all questions in exactly 30 minutes. 1. 2. 3. 4. 5. In what condition do managers need the support of GDSS? What advantage can managers get from the support provided by GDSS? What type of technologies used in order to make a “Virtual Workplace” possible? What is a definition for a "Virtual Organization"? What is the advantage and disadvantage working in Virtual Organization? Reference L. Medsker and J. Liebowitz, Design and Development of Expert System and Neural Computing, New York: Macmillan, 1994. OUM 25