8
Vol. 2 No. 1 J. of Comput. Sci. & Technol. 1987 Knowledge-Based Decision Support System Shi Zhongzhi ( .~.~,~ ) (Institute of Computing Technology, Academia Sinica) Received March l, 1986; revised August 30, 1986. Abstract Decision support systems have been shown to increase management's effectiveness and productivity in handling decision problems. This paper presents a general model of decision-making. Based on the model, a Knowledge-based Decision Support System (KDSS) will be proposed. The major emphasis is on using PROLOG to represent database query, model and module dependency. Problem description language is also described. 1. Introduction Decision support system has been shown to increase management's effectiveness and productivity in handling decision problems. In recent years, the need for increased productivity in managerial decision-making activities has been felt in the government institutions, industrial and business world. The potential benefits of decision support systems have created in various fields. Decision support systems are interactive computer-based systems which help deci- sion makers utilize data, models and modules to solve semistructured and unstructured problems. The success of DSS based on the recognition that the emphasis is on support- man plus machine can be much more effective than each working independently, if the system is well designed. A DSS should mesh with existing managerial activities to extend the human's capabilities, not replace them. There are three levels of decision making: operational, managerial, and strategic. Most operational level decisions involve the specific needs of the decision maker. Mana- gerial level decision cannot be delegated, but they can be substantially speeded up. These decisions require a broader base of information. Strategic level decisions usually made after strategic decisions are heuristic. In this paper we will present a general model of decision making. Based on the model, a Knowledge-based Decision Support System (KDSS) will be proposed. KDSS uses PROLOG which is logic programming language in terms of first order predicate calculus to represent database queries, models and modules dependency. Problem de- scription language is also described." 2. A General Model of Decision-Making A grasp of the fundamentals of decision-making is crucial to the effective design of decision support system. We present a general model of decision-making shown in Fig.1. This model indicates decision-making through following steps: (1) Define the problem.

Knowledge-based decision support system

Embed Size (px)

Citation preview

Vol. 2 No. 1 J. of Comput. Sci. & Technol. 1987

Knowledge-Based Decision Support System

Shi Zhongzhi ( .~.~,~ ) (Institute of Computing Technology, Academia Sinica)

Received March l, 1986; revised August 30, 1986.

Abstract Decision support systems have been shown to increase management's effectiveness and productivity in

handling decision problems. This paper presents a general model of decision-making. Based on the model, a

Knowledge-based Decision Support System (KDSS) will be proposed. The major emphasis is on using

PROLOG to represent database query, model and module dependency. Problem description language is also described.

1. Introduction Decision support system has been shown to increase management's effectiveness and

productivity in handling decision problems. In recent years, the need for increased productivity in managerial decision-making activities has been felt in the government institutions, industrial and business world. The potential benefits of decision support systems have created in various fields.

Decision support systems are interactive computer-based systems which help deci- sion makers utilize data, models and modules to solve semistructured and unstructured problems. The success of DSS based on the recognition that the emphasis is on support- man plus machine can be much more effective than each working independently, if the system is well designed. A DSS should mesh with existing managerial activities to extend the human's capabilities, not replace them.

There are three levels of decision making: operational, managerial, and strategic. Most operational level decisions involve the specific needs of the decision maker. Mana- gerial level decision cannot be delegated, but they can be substantially speeded up. These decisions require a broader base of information. Strategic level decisions usually made after strategic decisions are heuristic.

In this paper we will present a general model of decision making. Based on the model, a Knowledge-based Decision Support System (KDSS) will be proposed. KDSS uses PROLOG which is logic programming language in terms of first order predicate calculus to represent database queries, models and modules dependency. Problem de- scription language is also described."

2. A General Model of Decision-Making

A grasp of the fundamentals of decision-making is crucial to the effective design of decision support system. We present a general model of decision-making shown in Fig.1. This model indicates decision-making through following steps:

(1) Define the problem.

No. 1 Knowledge-Based Decision Support System 23

Problem definition

Problem identification

Choosing decision criteria

J Evaluation of ] alternatives

J l �9

I Decision making I

Fig. 1. Model of decision-making. (2) Identify the problem. (3) Develop a criterion against which alternatives can be evaluated. (4) List all alternatives available. (5) Determine the consequences of each alternatives. (6) Optimize alternatives. (7) Select the best alternative. (8) Execute the decision. From the user's view, the design criteria for a decision support system will be

outlined as follows: (1) A DSS should provide support for decision-making with emphasis on semi-

structured and unstructured decisions. (2) A DSS should provide decision-making support for user at all level, a major need

is the integration and coordination of decision-making by user dealing with related parts of a larger problem.

(3) A, DSS should support all phases of the decision-making process, that is in- telligence, design and choise in terms of Simon's model.

(4) A DSS should provide the decision maker with a set of capabilities to apply in a sequence and in a form that fits user's cognitive style.

24 J. of Comput. Sci. & Technol. Vol. 2

(5) A DSS should explain why and how problem. A why explanation gives inside

information on how the explanation of a query is currently progressing. A how explana-

tion should describe how a conclusion could be or has been made using the data models,

and modules. (6) A DSS should provide friendly interface to user so that the system will be easy to

u s e .

3. KDSS Components

According to general model of decision-making mentioned in last section we propose

a Knowledge-based Dicision Support System (KDSS) shown as Fig. 2. KDSS is broken

down into major components: dialogue management, problem identification, knowledge

proeessor, knowledge dictionary, data management, model management, module ma-

nagement and report management.

Ihaloguc l l l ; l l lagl ' lTti+/l I

L Pr.hh.m

idcnlificalion

+++ i1 + i ..... prt~-csst~r dictionary

t i I - l

II ++" I I "+ li "++' 1 l l l a l l ag l+n t PIl l l l lanalt~l 'Inl 'II | l l l anag t 'F l l l ' t l [ l?lall ~Ig1"llll'llt

Fig. "2. KDSS components.

4. Decision-Making Based on Knowledge

Knowledge-based Decision Support System is to provide user consultation decision

adopting deductive inference to process various knowledge sources. In order to execute

deductive composition is of two powerfitl search engines. One engine will be searching

knowledge rules, that is including models and modules, to solve an application problem,

in so doing, generating queries over shared information. The other engine will be search-

ing the shared information to answer the queries.

There are three principle types of knowledge sources considered in KDSS: stored

data, decision models and modules. Here, we will discuss about them in little more detail. 4.1. Logical Query The management of data is fundamental to anv service that a DSS provides. Data

management provides an access mechanism to data, that is lhe ability to store, retrieve,

No. 1 Knowledge-Based Decision Support System 25

manil)ulale data.

Thor(' is a r,ugh analogy b~'tween I>ROLOG and dalabase concepts shown as Table 1.

Table 1.

mtla]o~. ])elween ])~O[,()(J an4] i)ala[mse

PROLOG l)mabase

t].u '[ cJa u~,e

it tll' Cla ttr-t'

question clause

predicate

liredicatc argument

ha++' r<'lali<m h+l,h.

xie+s d,+finition

quer~

trigger or relalion Ilallle

Jattril)ule

In PROLOG there is no concept of a relation type that has a defined record structure

and related integrity constraints. A PROLOG "base relation" is simply defined as a set of

fact predicate names and an identical number of parameters. A relation can be defined

partially by ground clauses and partially by rule clauses with the predicate as its left hand

side. Thus, there is no clear distinction between base relations and derived relations in PROLOG.

Queries are evaluated according to question clauses. The uniform approach of

PROLOG to query evaluation makes its basic algorithm very simple: Emciency can be

enhanced using cut and clause reordering. But, set-oriented query processing is difficult to support.

Here, we take miero-PROLOG to illustrate how to represent a query. 1. is

is (<condi t ion> [and... <condi t ion>])

This query checks if each of the given conditions can be confirmed using the facts in

the database. It responds "YES" if each can be confirmed, and "NO" if not. 2. which

which (<answer pat tern>: <condi t ion> [and... <condi t ion>])

This query returns the answers to the query condition or the conjunction of conditions

that follow the ":". The answer pattern is a variable or sequence of variables that appear in

the query conditions.

3. o n e

one (<answer pattern > : < condition > [and... < condition >])

The one queryis similar to the which query except that after each answer is found and

displayed micro-PROLOG interrupts the query evaluation and waits for an input to

indicate whether it should look for more answers or stop.

4.2. Model Management with PROLOG In order for computer to be useful to managers for decision making, it is often

desirable to create special models. The key capabilities required for KDSS in the model management include:

(1) ability to maintain a wide range of models,

26 J. of Comput. Sci. & Teehnol. Vol. 2

(2) ability to create new models quickly and easily,

(3) ability to manage the models base with software~

management functions analogous to database functions,

(4) ability to call appropriate modules,

(5) ability to process related data which come from database.

We use PROLOG to specify'models so that users can control the model management

component of KDSS conveniently. For example, consider a model called "company". It is

concerned with financial model, manufacturing model, pricing model and marketing

model. One can specify the jointing of the models by the rule:

company (P, R, V, E, N):- finance (P, V, E, N),

manufacture (R,V,E),

price (V, E,P) ,

market (P, V).

where, P is the sale price for a product, R is the unit price of raw materials used to make

the product, V is a intermediate variable which means volum of the product sold and

depends on the sale price, E is the expense of producing the product, and N is the

company's net income.

The model is a PROLOG relationship. It is executed by typing the model name

followed by its five arguments in parentheses. The argument P and V are inputs, E and N

are outputs. If any argument is a variable name, the variable is instantiated to the value

calculated by the model.

4.3. PROLOG Represents Module Dependencies Production of higher-quality software is possible in two ways: First, the frequently

used modules can be u ell turned to perform very efficiently, that is these module can be

written by highly skilled programmers. Second, the developers bu!ld system with a better-

known material, so it is expected that a better system will be produced. In order to achieve

this goal we will build module management to manage and maintain all desirable inform-

ation about available modules in centralized fashion.

There are two kinds of module dependencies. One is strong dependency that is the

result of one module calling or invoking another module. Another is weak dependency

that the output of a module is used to input by another module. According to functions

modules can be distinguished into three t y p e s - - p r o c e s s module, input module, and

link module. A process module is a regular module and performs some data processing

task. An input module provides the inputs to a given module by reading them from

database or other data source. A link module links a process module to its alternative

input module. A N D / O R graph can be used to represent module dependency. AND

nodes represent the process module with branch. OR nodes represent the link modules.

Each node contains the information about whether it is an AND or an OR node, and each linkage represents a reduction operator.

We adopt PROLOG to represent A N D / O R graph, so that tile library of modules can be shown as Fig. 3.

No. 1 Knowledge-Based Decision Support System 27

Fig. 3. Library of modules.

Corresponding this library of modules, PROLOG statements are as follows:

A:- L1, B.

LI:- I1.

LI:- P.

LI:- V.

B:- W,X. C:- X, L2, E.

L2:- I2.

L2:- D. Where, A, B, P, V, W, X, C, E, D are process module nodes. L1 and L2 are link module

nodes. I1 and I2 are input module nodes.

5. Problem Description Language

The most fundamental aspect of the DSS environment is people, and dialogue

management component, embodies the specialized functionality necessary to handle the

system's interaction with its users. Dialogue management of KDSS emphasizes user to

learn, create and check, so that decision makers can actively use various support facilities in terms of their experiences and select an optimal option after interactive learning and exploring.

The user is provided with a Problem Description Language (PDL) which is basically

a powerful command language. Here we specify the basic functions of PDL as follows:

( 1 ) RETRIEVE ( < attribute list > FROM < relation list >

WHERE < qualified condition > )

Select data from related relation in the database according to qualified condition.

(2 ) EVALUATE (inputs, module, outputs)

System will call module to process input data inputs and put the results into outputs as output data.

( 3 ) INFERENCE (type)

System will define inference type.

28 J. of Comput. Sci. & Technol. Vol. 2

(4 ) EXECUTE (inputs, model, outputs)

System will execute model to process input data inputs

and put the results into outputs as output data.

( 5 ) EXTRACT (file 1, <cond i t ion> , file 2)

According to condition extract file 1 and place it in file 2.

( 6 ) CREATE (filename)

Create a file and call it filename if filename is not

present a working file is created.

(7 ) SAVE (filename)

Save file filename, the system will prompt for the

location of the file and security feature.

( 8 ) VECTOR (x(m)= i to j)

Create a vector of length m and initialize its elements

to values from i to j.

( 9 ) ARRAY (x(m,n) = i11, i12,..., iron)

Create an array and initialize its value row by row to i11, i12 ..... iron.

(10) REPORT < format > , xl, x2,... ,xm)

According to format, display value of x l , x2 .... ,xm.

(11) DRAW ( < m o d e > , < f u n c t i o n > , < d a t a > )

Accroding to mode, for data draw a picture which is

defined by function on the screen or plotter. (12) IF<cond i t ion> command

ENDIF

Conditional execution of a command.

(13) DO WHILE <condi t ion>

ENDDO

Looping while condition is true.

The decision problem which is written in Problem Description Language will be sent

to problem identification to check unreasonable problem. After that the commands will

be transformed into internal form with PROLOG.

6. Conclusions

In this paper we have presented a general model of decision making. Based on the

model, we have proposed Knowledge-based Decision Support System. Problem Descrip-

No. 1 Knowledge-Based Dec i s ion S u p p o r t Sys tem 29

tion Language is developed for decision make r to define p rob lem convenient ly .

K D S S is one of advanced decision suppor t system. Logic p r o g r a m m i n g language

P R O L O G has been used as unified fo rm to represent query for exist ing database, model

and module dependency , so that decision rhaking can be processed by us ing inference

mechanism. The K D S S provides necessary facilities for decision make r to solve various

decision problems with modera te cost and satisfied efficiency.

References

[1] Ariav, Gad, Micha,'t J. Cinzberg, DSS design: a systemic view of decision support, Communication of the AC:VI, (28:10(1985). 1045~1052.

[2] Bahl, Harish C., and Raymond G. Hunt, Decision-making theory and DSS design, Data Base, Summer 1984, 10---14. [3] Robert W., Blanning, A PROLOG-based framework for model management, Proceedings of the First International

Workshop on Expert Database Systems. U.S.A., 1984, 633-~42. [4] Bonczek, Robert H., Nasir Ghiaseddin, Clyde W. Holsapple, Andrew B. Whinston, The DSS development system,

Proceedings of NCC, U.S.A., 1983, 4 2 1 ~ 5 . [5] Moore, J. H., and M.G. Change, Design of decision support systems, Data Base, 1--2, 1980, 8--14. [6] Shi, Zhongzhi, Knowledge Engineering, to be published. [7] Shi, Zhongzhi, Knowledge-base system with self-organization. Proceedings oflnternational Conference on Computer

and Communication, Beijing, 1986.