Compiler/h~,Jc.VoL27, No. 3/4, pp. 181-196, 1996 C o p y ~ O 1996E/smviwScimm~I~d I~rintsdin OremBritain.All riShtsrmmved 0~0-1315~6 $15.00+0.00
Pergamon
A N INTI~J J . I G E N T C O N S U L T A N T S Y S T E M F O R C H E S S SANTOS GERARDO LA77~.P.j and RACHELLE HELLER Depmunent of Elecurkal Enginondng and Computer Science, The George Washington Univenity, Washington, DC 20052, U.S.A. [Fax:. 202-994-(Y227;
[email protected]; shelier@seas~gwu.edu]
(Rrcei~d 3 June 1996; accepted 8 Ausust 1996) Abetract--This paper deals with the problem of teaching chess. We describe the ideal ~ s t i c s for a Insming environment for chess and discuss a psrlinl impismentmion of such an environment; ICONCitESS, An I n m ~ v e Consultant for Chess Middiepmes. Most research on computer chess has focused on c~eatinll highly competitive chess playing pmlpune, rngmelms of the means used to w.hleve this goal. Because of the s,___,~___obtained by programs based on search algorithms, little effort has been put on chess playing proMramsthat play using high level mrmegics, which me necessary in human chess players. This lack of sumegic foundations maims most chess playing pro~mns inadequate as chess tutors too. This paper presents a new approach for computer chess in ~ and specifically for a lenming environment for chess. This approach combines the wclmiqnes of fuzzy logic and casebnsed renmning in order to produce hish level edvice for cbess pnsitions. We also lnsent the resulm of the mnpirkal experiments used to test ICONCEIESS and suggest some ways in which the aplronch can be applied to other domains. CopyrightO 1996 Elsevier Science Ltd
I. I N T R O D U C T I O N
Most computer chess progrmns, such as those described in [ 1], are based on brute force methods that r61y primarily on extensive semclEug rather than on the use of strategic knowledge. Even though the ide~ of using previously acquired Imowledge to play board games has been applied before, it has been mostly restricted to the recognition of situations that exactly match previous experiences For example, Samuel's work on checkers [2] included rote learning of positions. In his sysum~, a typical searching algorithm was used, with the particularity that every position encountered by the syst~,m was stored for later use, along with soma relevant information, like the numerical evaluation given to the position, and the length of the search tree used to reach that evaluation. Evanmally, if a stored position was encounu~d again in a new game, the search algelithm was replaced by a damheso look-up. The advantages of this approach are in efficiency, since the dambese look-up is faster ttmn the search, and in some cases, the ability to increase the depth of the search at no additional cost. For example if ~he program does a search of depth 3 and one of the positions at depth 3 happens to he in the database, ~'th an evaluation previously computed also at depth 3, the final evaluation would he equivalent to a depth 6 evaluation in that direction of the tree. The main problem is the management of the database, sit~e memory limitations prevent it from growing indefinitely, so memory management algorithms suel~ as removal of the least recently used positions in the database have to he employed to control the growth of the database. Similar ideas are applied in the form of Iransposition tables, which hold previously encoun.Iz~ed positions and other information, in modem chess playing programs, such as those described in 11]. However, this type of play just gives a pro~-mn a stronger tactic ability, rather than human style s u ' a ~ c ability. Very few systems have attempted to use inexact pattm'n matching to recognize positions that we not identical but whose strategic or tactical content is similar, some of them are discussed in Section ~. Purthm'more, very few systems have applied artificial intelligence (AI) techniques to teach chgs. Besides the canned tutorials that can be found with several of the currently available commercial cl~ss pro~mns, the intelligent tutorinS system UMRAO [3], and the Chessmaster's natural language adviior, are perhaps the most representative examples of the application of AI techniques to chess. Unfommat~y, their scope is quite limited. UMRAO works on the small eudpme of king and bishop vs king anfl 2 pawns only, and the Chessmaster's advice is based on its search algorithm and the~ore does not provide any information at the strategic levels. An interesting system that works in a diffm'ant domain is QB~G [4], an insu'uctional tool built around BKO [5], a world champion backgammon l~rogram [5]. QBKG generates explanations based on a judgment structure, rather than a search mechanism. It uses ~ t 181
182
SANTOSGERARDOL~Tg~l sad RACHEIA.E~ I.pq
types of evaluation functions depending on the type of position reached in the game, applying several techniques to smooth the transitions from one type of position to another by blending the different evaluation functions. Since the objective of this research was to create a model of greater generality that could perhaps be applied beyond the domain of chess, the dements of chess skill end other related domains were researched. After reviewing the cognitive psychology literature regarding the structure of chess skill, and identifying some of its relevant components, such as inexact pattern recognition [6, 7], and high-level knowledge [8], a model far an ideal learning environment far chess was proposed. Further research on similar domains, such as computer pmgrammin8 [9] and debugginS [10], further supported our beliefs, as did some well known chess authorities [11]. The architecture far such an environment is presented in Fig. 1. The complete implementation of the proposed environment requires several knowledge bases for the different phases of chess (e.g. opening, middlegeme, endgeme) and far different specific aspects of the game (e.g. pawn structures). Furthermore, a diasnostic facility is necessary to understand the student's strategy and to generate corrective feedback. One more requirement is a student profile so that it is possible to provide advice at diffmcnt levels of skill. The implementation of these components requires a colossal amount of work in different areas of artificial intelligence, such as learning and Intelligent Tutoring Systems. This paper describes ICONCHESS, the cummt implementation, which is the simplified version of the model presented in Fig. I as shown in Fig. 2. The case-based approach, as presented by Schank et a/. [12], and Riesbeck and Schank [13] has been applied to other domains that present problems with similar complexity to those problems encountered in chess and where performance also relies on previous experience, such as criminal sentencing and law. ICONCHESS explores the applicability of the case-based approach to chess in general, and to teaching chess specifically. In ICONCHESS, the case-based approach is primarily used to characterize the chess positions for indexing and retrieval of similar cases. The adaptation of the recommendations given for old cases to new situations is relatively simple and uses more traditional planning techniques. Some of the characteristics that differentiate ICONCHESS form other case-based systems are the use of some ideas from fuzzy logic in the indexing/retrieval mechanism, and the application of high-level chess knowledge to the similarity metric used far the reu'ieval. The remainder of this paper describes those chemcn~ristics in more detail. 2. ICONCHESS: AN OVERVIEW
The main purpose of ICONCHESS is to provide high-level advice about chess middlegame positions. This section describes the main capabilities of ICONCHESS end provides a general view of its components and their interactions, while Sections 3 and 4 give more specific details about the system's ~l~tation. See [14] far a complete description.
COmUL'I'~IB
Fill. I. Learningeavimnmeatforchess.
Pig.2. Modelfor implementation.
An intelligentconsultantsystemforchess
183 Table I. ~ C/S
0
a
wl
b
w2
of a fuzzytable 1
2
3
>3
w3
C
d
w4
f
w5
w6
g h
w8
Fig. 3. Informationflowin ICONCHESS. ICONCI-I]~S is capable of doing the following main high-level tasks: (I) Analyze a chess positien, extracting its relevant features. This analysis is particularly ~mgetedto chess middlegame positions, even though it might be applied to other types of positions. Furthermore, it is expected that players wi~ a moderate level of skill will benefit the most from riffs nAlysis. (2) Evaluate a chess position and sugg~t possible swategies for each side in terms of the relevant features of the position. (3) Retrieve similar positions from the knowledge base in order to obtain additional advice. (4) Present the analysis to the player using a graphical approach, by highlighting relevant squares in a chess diagram, or a textual approach, by giving brief textual explanations of the most relevant features of a position. Figure 3 presents the information flow through the system. ICONCHF_~S has two main components, an EXPERT, used to compile all the knowledge relevant to a specific position, and a CONSULTANT, used to present this information to the student in the most appropriate format. Furthermore, several knowledge bases are required in order to generate the advice. These knowledge bases take differtnt forms, such as case bases, role bases, and fuzzy tables, as illustrated in Fig. 3; they will be explainS, in in subsequent sections. A typical session with ICONCHESS is started by the user providing ~ e ORIGINAL POSITION, which is the case the user wants to analyze. The CONSULTANT handles this interaction and, when requested by the user, passes the necessary information to the EXPERT, so that the potation can be evaluated and its similarity ~ c ¢ompu~l. The evaluation and similarity m e ~ c ~re then passed back to the CONSULTANT, which displays them for the student. Some additional adv!ce may now be requested by the user in order to clarify this information. The CONSULTANT can provide the new advice in the form of a textual description or as visual advice displayed by highlighting relev~t squares on the ORIGINAL POSITION. The user can now either modify some of the obaracteristic~ of the suggested similarity metric, or use it as is, in order to obtain a list of similar positions from the c.~se base. The similarity metric is passed back to the EXPERT, which uses it to rank the positions in the c ~ e base according to their similarity with the case study, and then ~au'ns a sorted list that is displayed to the user by the CONSULTANT. The user can then choose from this list those cases tO be retrieved ,'~or further study. Once retrieved and displayed by the CONSULTANT, cases can be studied by applyinl~ to them any of the commands that can be applied to the ORIGINAL POSITION. Furthermore, specific advice about each of the similar cases can be obtained, along with a list of those actions that were xecommended for the case retrieved and are likely to be appropriate in the ORIGINAL POSITION. 3. C H E S S
KNOWLEDGE
STRUCTURES
Since the main focus of ICONCI-II~S is the middlegan~, four m factors are used in the evaluatipn: materiel, pawn structure, influence, and king protection. ICONCHESS uses these factors to give detailed information about their relevance, and to compose a similarity melrle that can be used to retrieve sim~lar cases from a case base of relevant chess nfiddlegeme positions. The material metric indicates not only the material strength for each player, but it can also be used to determine how close the position is to itbe endgeme or opening. The material is computed by using the following standmd table of values for ©~h
piece and pawn, similar to the one used in [15]: king=200, queen=9, rook-5, bishop-3, knight-3, pawn=l. The pawn stmcun'e is useful to determine to some extent the type of opening that was used m reach a position, this is the first step to determine the possible strategic objectives for both players. ICONCHESS reties on a set of Fuzzy Tables which are predefined pattm'ns that represent some of the most common pawn structures encountered in the middlegame (i.e. Canonical Structures). Each Fuzzy Table p.'presents one particular Canonical Structure. A Fuzzy Table allows the system to classify the pawn structure that appears in a given position in terms of how close it is to the Canonical Stmcuue represented by this particular Fuzzy Table. A Fuzzy Table is stored as a table of weights. Each of these weights specifies how much a pawn located in a specific square fits into the Canonical Structure represented by the Fuzzy Table. The combination of the we/ghts that correspond to each of the pawns in a specific pawn scuclxue according to a Fuzzy "Ibble yields a Fuzzy Measure which is the closeness of the specific pawn sw~..cnx~ to the Canonical Pawn Strucuue represented by the Fuzzy Table. The weights are not applied in a unifmm way because depending on the Canonical Structure some pawns are more important than others. Sometimes it is very important that a pawn be in a specific square, and sometimes there is some
a bUity. For example, we may need a pawn in square g6 to fit a Benon/(i.e. name of a popular defense in chess) defense pawn structure for black, but if the pawn is in g5, we may still have a limilar situation. However, if the pawn is in g7, there is not a chance that this is the type of pawn structure we have, since the move of the g pawn is essential in this type of opening in ruder to develop a bishop to sT. Therefore, the schen~ developed here gives cithor positive, negative, or zero weights for pawns in each square. Implicitly, the nonexistence of a pawn in a column is given a value of 0. Fro" each Canonical Structure, the following information is kept: Name of Pawn Suucun'e (e.g. Benoni formmion), Short Name (e.g. Benoni), a Fuzzy "Ikble containing the weights assigned for pawns located in each possible square, and a list of Relevant Chmcu~stics, such as strong pieces, main objectives, weadmmses, etc. In Table 1, a templet of a fuzzy table, the value wl in the entry [a,0] stands for the weight given to a pawn located in column a, which has not moved from its original position, w3 stands for a pawn in colnmh b and has moved 2 squmes from its orion*! position. If a pawn has moved more than 3 squares it is usually difficult to de4mmine its impact on the stmctme so we do not distinguish between pawns that have advanced that much. Pawns that have advanced more than 3 squares are still very imporumt,.since they Call be COllsidered dangerous because of their proximity to the promotion square aud their ability to constrain the opponent's pieces, yet they may also be a weakness if they are not p m l ~ y protected, but they do not provide much infmmation about the nature of the pawn suucune itself. The use of a displacement (i.e. 0 . . . >3) rather than the actual position of the pawn allows the use of the same table to identify a given suucture for either white or black. The range of the values of the weights is assigned arbilrarily end may be different for each canonical structure. Because of this last ~ , it is necessary to include a field indicating the Maximum pem/ble w e ~ t for each Canonical Structure, this will allow the computation of a percentage so that it is possible to compare the closeness of a givenpmition to other Canonical Suecutres. The following is the description of the "benoni" Canonical Structure as used in ICONCHESS Name of Pawn Structure: Benon/_Blackl, Short Name: BenBl, Fuzzy Table: see Table 2 with Maximum possible weight: 70 (i.e. sum of the maximum weights in each colunm). For each column in a Fuzzy Table, there is an index pointing to the cell that corresponds to the square with the highest value in that column. This is used to indicate the ideal position of the pawn in that column considering the canonical structure that is represented by the Fuzzy Table. If the ideal situation is when there is no pawn in a column, a number out of range is used. This index is necessary because smnetimes there are severn1 squares which share the maximum value within a column but it is desired to select one specific value as the main choice to be shown to the user, and then show the other equal values as alternatives. In Table 2, the index for column "h" is 0. pointing to the cell [h,0] with a weight of 10; the index for column "e" is set out of range (e.g. 8) to indicate that the ideal situation is the absence of a pawn in that column, yet the cells [e,0], and [e,l] are equally valuable alternatives. In order to determine which Canonical Slmcun= is close to the pawn stmcun'e displayed in a given pmition, a metric is computed. For each Canonical Structure, we sum the we/ghts ccurrespondin8 to each of the pawns of a color in the actual position and divide the total by the maximum possible weight. The resnit is called the Clesenees Vniue of the pawn structure of a color corresponding to a given chess
An intelligentconsultantsystem forchess
185
Table 2. Smnple fuzzy table far Beaoui
defeme C/S
0
1
2
3
>3
a
8
10
4
0
0
b
I0
8
8
6
0
c
-50
0
10
0
0
d
0
10
0
0
0
•
0
0
- 2
- 10
- 10
f
10
0
0
0
0
g
0
10
8
0
0
h
10
8
8
0
0
Fig, 4, Influence subdivision.
position with respect to the Canonical Structure with which it is being compared. The Closeness Val~es obtained by competing a given pawn structure to all the ~menical Structures are then used to sort [the Canonical Structo~s and to select the structure corresponding to the maximum value obtained. The closeness value is presented to the user in the form of a percentage. Figure 4 shows a typical middlegame position resulting from a Benoni opening. Observe how the b l ~ pawns are located in those squares with maximum weights per column as specified in the Fuzzy "r~ble given in Table 2. The closeness value for the benoni Fuzzy Table when considering the position in Fig. 4 is 100%. Figure 4 also illustrates the subdivision used to implement the concept of influence, to be explained next. Influence is a metric introduced in ICONCHESS as an attempt to determine the impact of the ~ t llL_,~e~_(e.g. queens, rooks, bishops, and knights) on the different parts of the board. This is useful tc get a general idea of the balance of power throughout the board. Influence is related to the well ira, w l l concept of mobility in chess, and it is defined as the number of possible moves of the fast pieces of a c llor in 6 different sectors of the boards as shown in Fig. 4. Thase sectors are similar to those used in ~ e s s literature [II] and are identified for both players as fofiows: U Q S = U ~ Queen Side, UC=UI q)er Center, UKS=Upper King Side, LQS=Lower Queen Side, LC=Lower Center, LKS=Lower King S ide. The influence of each player in each of these sectors is computed by counting the number of poss ible moves of each piece that is neither a king nor a pawn in each of those sectors. For example, in Fig. 4, the influence of white in the LKS is 3, since there are 3 different moves that white's fast pieces can n~ake into this sector:, the Rook or the Bishop to the square f2, and the knight to h4. By comparing the influence of each player in each sector of the board, we can determine to some extent the fikelihood of one of the players to take a definitive advantage in each of these sectors, which may be useful to identify a ~ven position. The sector where the king is located is also known as the king's sector when the king's protection evaluation is computed. The set of squares that includes those squares that are adjacent toiand the actual location of a king is called the king's area. The influence of each player in each king's ar~a is also computed and provided as part of the influence advice. The implementation of influence used by ICONCHESS was chosen for simpficity, but there is room for refinement. For example, it could be possible to include other factors besides the mobility in each sector, like the number of pieces thai are actually located in each sector, the potential moves of pieces, etc. However, the current implementation seems to provide a good general idea of the balance of power throughout the board according ~ the observations of the subjects involved in the experiments described in Section 5. Once these evalmition factors are computed and summarized for the user in an Evaluation Window (Fig. 5), the user may choose to receive more advice either in a textual or visual format which will be provided by the consultant.
186
bntoe_G_Lazzed
SANTOSGERARDOL ~ R I
and RACI-~ J ~ l.~_W_~R
Gmrde Limen
Welghts
.
.
.
.
.
.
.
.
.
.
:
-
[i
9 1 3 0BK 0 320WK0 O| SBK1 O 13 4WK 1
F'~. 5. Sampleevaluationwindow. Three different factors compose a king's protection in ICONCHESS. One of them is the actual location of the king, which allows the program to guess if it has castled or not, a second factor is the pawn cover, or the number and location of pawns that protect it, and the third factor is the comparative strength of defensive and attacking pieces that have a direct impact on the king's position. Regarding the location of the king, we can identify 4 different possibilities: if it is in the first or second row from its side (i.e. rows 1 or 2 for white, 7 or 8 for black), 3 categories will be considered, eeatred, castled ldug side, or castled queen side. If the king is located beyond the 3rd row from its side, it is classified as eadangered, since it is likely to be the subject of attack from the opponent's pieces, and particularly so during the middlegame, when most of the pieces remain on the board and have moved out of their initial squares. Table 3 summarizes the classification of king's locations. The pawn protection is determined by looking at the structure and/or the number of pawns that surround the king and their structure. It is usually important to have pawns fight in front of the king, and also at either side if the king is beyond the first row (i.e. eight row for black). If the king is castled, there are specific values that uniquely determine the pawn configuration in front of it. These values are used Table 3. Caegodzation of king'slocations Location of
Locationof
king for white kingfor black Category row>2
row<7
1: emhnga~
(row~2) and
(row~.7)and
(a~cml~c)
(a~onl.~c)
2: castled queenside
(row~.7) and (d.~onl.~e)
3: not castled
(row.~2) and
(row~.7)and
4: castled
(f~col~h)
(f~onl~h)
~
(row.~2) and ' (d .~col.~e)
side
An intelligeat¢ommlumtsystemfor chess
187
to index a table that contains information about specific weaknesses of the specific configuration. The format of this table is presented in detail in Section 4, where the generation of additional advice is explained. Since there is no particular classification of pawn protections for kings that are not castled, those cases are just assumed to be week end only the number of pawns that surround the king is given. For any case-based reasoning system to work, it is necessary to develop a similarity metric for :the cases or situationsthatthe system will encounter. This similaritymetric will allow the program m identify those cases in the knowledge base that are similar enough to the current problem to provide information that can be useful for solving it.In the case of chess positions itis necessary to consider not only syntatfic similarities (i.e.the exact position of pieces), but also semantic similarities(i.e.positions where ~he strategic gnals/pian for each player are ~imilar, even though the actual pieces in the board or their positions are not the same). Previous attempts to formulate a similarity metric for chess positions ~re described by Levinson [16], and Botvinnik [17]. Levinson's work has been mainly used as the basis~for Morph, a program that learns basic patterns in chess. It focuses primarily on syntactic similarities, particularly considering attack/defend relationships,but itdoes not use any type of strategicor semantic knowledge in order to classify the positions.Botvinnlk's idea relieson the use of Associative Libraries, based on what he calls partialcongruence, in other words, only a segment of a given position is used to make the comparison while the restof the pieces and squares are ignored in the comparison process,;yet itis stillbased on exact patterns that are preconditions for very precise combinations (i.e.seriesof moves that can achieve a very specific goal, like checkmate). A detailed account of this approach is give~ in [18]. Some commercial chess databases, such as ChessBase, Clubmate, and Chess Assistant have implemented search mechanisms that deal with partialpatterns similar to those proposed by Botvirmik. Nevertheless, they don't handle inexact patterns and the conditions they apply are purely syntadtic. Therefore one of the main contributions of ICONCHESS is the development of a similaritymetric that can consider both syntactic and semantic similarities between chess positions. The second main contribution of this work is the development of an alsorithm to utilize this simihtrity metric in orde~ to generate high level advice for a given chess position. ICONCHESS's similarity metric is based on the evaluation factors described earlier: material, pawn structure, king protection, and influence. As the evaluation factors are computed, a specific weight is assigned to each of them according to the perticularities of the position. These weights are nseA to combine the different evaluation factors through a weighted averase in order to generate a simile~'ity metric that can be used to reuieve relevant cases from the case base. The weights are an estimate g~v:en by the program as to how important each factor is to classify the position. The first factor that is cons~ted is the pawn structure and its closeness value. If the closeness value is high, it is assumed that the position is close to the opening, and thus the pawn structure is given a high value, then, the weight for:~the influence is calculated in reverse proportion to the weight given to the pawn structure. The weights assigned to the material and king protection rely mainly on their discriminative value. Furthermore,': the user is given the opportunity to select allt'xnative pawn structures and to modify the weights that: are involved in the computation of the similarity metric before making the actual search for relevant cas~s. When the user clicks the "sire" button (Fig. 7), the similarity metric is used to identify those casqs in the case memory that are most similar to the problem at hand. The comparison is done both in a straight way: white features in the current position are compared to white features in the case, and black fentbres in the current position are compared to black features in the case, and a reversed way: white features in the current position are compared to black features in the case and black features in the current position are compared to white fcamres in the case. A list of all the cases in the case base, sorted by straight similarity and displaying also the reversed similarity value for each case, is presented to the user ~n a scrolling window known as the Similar Cases Window. The user can then select the case/cases to retrieve and study by clicking on them. The information displayed to identify each case includes names of Players and Place and Date (Fig. 7). Each position in the case base contains some information ~'that describes the case and provides some high-level advice for both players. Figure 6 shows the most relevant pieces of advice in each case. 4. DIFFERENT TYPES OF ADVICE For each of the different factors in the evaluation, the Evaluation Window presents a summery ad~,ice. Furthermore, the user can request additional advice. The Evaluation Window gives the user the
IN
SANTOS GERARIX) L
~
mid R A C I ~ . I J; H]~LER
P~n ~ De~n~,~ra: they are reed to S~e genera/ ~ o m ~ n about ~e poX'on, for ewnp/e open, ~uteg/c, mater/a//y ba/anced, etc. lbreommmmlmd Actions for eaok player., they are a number of high-level aaion$ recommended for each player, along with some add~'onal i~m~tion p e r action in thefollowm& format: h ¢ o m m a d d Action l ~ ~ n H l m o t m d in moves: 8ta~ng Move, Ending Move
Oe,haps n~O Pmcomlitiom: Deacriptionfor each precondiam Coal Sacce~ Flag: Indicata the success (true[false)of the action in the case. Brief Zmaai e.~danation of position lr~. 6. Structure of advice in a cue.
F~.7. gmieving a similar cme.
An intelligent consultant system for chess
[89
MOmlw Help Lazzed,...Smm_l
KulmnJ
Ble~s pawnelmctwe advice: CloseMatch,commentssJuaddbe __=~__,~e.
Them are usually 2 sironj piece(e):I(kID~8 Diebop, Knights, Thereare usually 1 weak pieces: Omen's Dishop, Thereale usually 3 Importantfeature(aJ:N an 1(5. Coidrei of e,~-e4, dlagenalbO..h2Is Open, The following1 action(s]are recemmended:IOni BideAttack,Theseare no importantacllene
centerI P Cover 1 235OK2 121WK0
036BK1 7511WK 7
Mille'! p m ~nJdm'eadvice" d®dlumMerck mmmem are mmvlmt appmpdate.Therewe no pedkulady mmng )iecee.There ere uudly 1 weakpieces: 0 Dishop ÷ postiklylhe entre O side. There are usually 1 Impo~nl feature[e):OPENf COLUMN.Thefellmdq Z adieu[s] are recemmmded: P,dum gmrbl, If aeceumy, Develop pieces,Tradeplaces If peeslble, The FIg.8. Sampleadvice.
oppmmulty to analyze each of the evaluation factors in detail. Clicking on any of the buttons in the Evaluation Window will make the program present additional advice about the specific factor associated with the button. The overall ozganization of an Evaluation Window is as follows: The buttons that are on the left side of the window which are labeled with the name of an evaluation factor provide visual ad~,ice which is displayed by highlighting appropriate squares in the chess diagram. Each of the buttons labeled as "text" displays a Textual Window that provides textual descriptions about the evaluation factor corresponding to the button on its left. The summary advice about a factor is presented directly below the button labeled with that factor. As an example, let us explain the advice provided by the evaluation window for the king protection factor: Summary Advice: Displays the category of the black (white) king according to its position ('~able 3), as well as the index of the pawn cover that corresponds to the formation of pawns that protect the Hng. Visual Advice: Highlights the squares that are considered critical for the defense of the black (white) king. If the king is considered to be cashed, the 9-square quadrant of the corresponding comer of the board is highlighted, otherwise, the square where the king is located and every square that is neighboring that square are highlighted. Textual Advice: Provides a textual explanation of the assessment of the protection of the black (white) king. It starts by displaying the influence differences in the black (whi'te) king's area and l~rovides an estimate of how dangerous the position for the defending player is, in terms of these differences. It then describes the main ~ s t i c s of the pawn cover protecting the king. If the king is not castled, these characteristics are reduced to the number of pawns surrounding the kingi and an estimate of the king's safety is given in terms of that. If the king is castled, then a table describidg all possible pawn covers is consulted in order to determine the major weaknesses that are usually assoc~,d with the current pawn cover. In this case, the advice obtained from the pawn cover table is tailored to the cmrant position by checking for the existence and appropriate positioning of friendly and enemy pieces
190
SANTOSO~,~qeo I~77Jn~l madP~.CI~ w~ ~ w
that can worsen o!" allevll~ each specific weakness. Par example, if the pawn cover is missing a pawn in column "g" and the king is cuffed short, the pawn cover table indicates that the "g" column is weak, but if there are friendly rooks or queens in this column the weakness is alleviated, while if there are enemy rooks or queens in that column, the weakuess worsens. The Pawn Cover Table provides in essence a series of fuzzy values for different In'operties/weaknesses of a given pawn cover, and thus is also called a King Protection Fuzzy Table. It includes the following information for each enuy: the approximate frequency of the pawn cover, a simple evaluation of the solidity of the pawn cover, set of values indicating how bad several specific weaknesses are. The specific weaknesses are: main DiasOnal, Lower Diagonal, Upper Diagonal, Seventh Row, Back Row, Con~er Column, Middle Column, and Edge Column. The actual Diagonal, Rows and Columns are computed in terms of the actual characteristics of the King's location (i.e. black or white, castled short or long). Fuzzy ranges are used to map the values of the weaknesses into textual descriptions. A final variable indicates whether having castled long, if so, affects the overall evaluation given. Table 4 illustrates the values con'esponding to the 20th entry in the pawn cover table. If we were applying this table to a black king that has castled short, this entry would indicate that the frequency of pawn cover 20 is 45%, 40% solid, has major weaknesses in all 3 diagonals (i.e. Main:h8-al, Uppar:h7-bl, Low~.g8-a2) major weaknesses in row 7, column f (i.e. center) is very weak, and g (i.e. middle column) and h (i.e. edge column) pawns are also weak. It doesn't make a major difference if the black king is castled short or long. This advice, of course, would be tailored to the actual positions, by looking at pieces that may protect the detected weaknesses end opponent's pieces that can take edvantases of those wP-qkn~'-u~es. There are several ways to lake advantage of the similar cases in order to get a better understanding of what the main issues in the position under study are. The first option is to go over the continuations of the similar cases just to get a suggestion about how to proceed from the position we are studying. This approach is particularly useful when the case is highly similar to the position under study. A second way to do the analysis, is to evaluate the case position and compare the advice provided for each evaluation factor obtained from the two positions being compared. A third way to get advice from the case is to click on the button labeled "text" in the case Graphic Window, this produces two different Text Windows, one of them appears below the case Graplfic Window and it presents a summary of the main features of the case along with the strategic advice. The Second Window is displayed under the Graphic Window of the position under study, and it lists all the actions recommended for the case that may apply for the position under study. In onter to determine these actions, ICONCHESS analyses the position under study to check ~ 4 .
~
cover
~
m~ Value Pawn cover number
: Frequency
20
45
Solidity
40
Main diqlonM
I00
Lowffidi,go~
100
Upt~"di*gomd
9O
8th row
100
"/throw
0
Center eolunm
100
Middle colunm
1
Edge colunal
I
if ~ 1
long
0
An inteiligeat consultantsystmmfor chess
191
if any of the preconditions 8iven for any of the suggested actions in the case apply to the position under study. Every action for which at least one preco~tion is met in the position under study, is listed as recommended along with a list of the preconditions that were met. This process is done in two diffeient ways in order to account for straight and reversed applicability of the advice, in the same way as it was done for the similarity meUic. Figure 8 shows parts of the summary, textual, and visual advice that can be obtained from the analysis of one specific position. Pigures 9, I0 and I I illustrate the advice that can be obtained from different cases. Figure I0 presents an explanation of the case retrieved from memory. The recommevd_et_ions~:for black are directed to reduce white's influence advantage. The recommendations for wh/te are directed to increase its influence advantage and eventually to generate an attack on the black king. Figure I I shews the advice that is transferable to the case study from both a direct and a reversed similarity point of view. Most of the actions recommended in the similar case were mmsfemble to the case study under a di~ct similarity approach. However, no advice was transferable under a reversed similan'ty approach. More explicitly, the transferable advice for black is: (I) To activate passive pieces, since precondition I (e.g. black's total influence is much lower than white's) was met in the case study. (2) To avoid Irading active pieces, since precondition I (e.g. black's total influence is much lower than white's) was met in the Case study. (3) Return material, if necessary, since both preconditions, black's material is greater than white and white's influence is much higher than black's. The Uansferable advice for white is to trade black's active pieces, since white's influence is much greater than black's. The student can also browse through the continuation of this case, or request other cases in order to get more ideas about how to proceed in the case study. 5. E X P E R I M E N T S A N D R E S U L T S
Two experiments were done in order to validate the usefulness of ICONCHESS. The fommt of'tbe main experiment was similar to what is known as a "Simple One-Group Design", with 1 subject p0ol, and 2 different uenunents. In Treatment 1, the subject analyzes a chess middlegame position prio~ to using ICONCHESS (i.¢. no Ixealment). After a Iraim'ng session, the subject is asked to use ICONCHESS
FiB. 9. A case study imd a simihlr cme.
192
SANT0S ~
L~7~
m d ~,C)~T.s R 141~~ _s~
r.,AIIEA i l ~ rildo lame I l l i m l i e i l ~ to benell h i nn I n h m q il h • h l t , [ l l n DdmmL Tim l a y p o d l m b Vde p i n e ~ d w e ~ 4 1 ~ rowe t q me Im e b e d e d m CINod, 8 1 ~ , MModJy h p m i w i e r DIl~k. RECOMliND~DAC110Nk F01RBLACK: JAI] Adlvets p m l v e I d e m , lUuslmted In mavN $| Is 43. M s [ s ] : I | BLACK'sTMsl IMhmce Is enuebImmr 1Iron~ Go~" bmUN8 I d u u u If irtNdly ple0N. "ilu eelJen m e uNaeeNebL pJJ &,old T m d q eeSve p h u e . u t HluMIled PmuuMMoaiM : I) BLACK'eT e l l Nndhonu Is i u d a l i k e s . Oo-n" I n m u e Inllmam o I M u d y p h u - , lke m l l u v N a M . H ILqmlem de,lad, H n m m n y . Ilhetmllsd In nNVN ~ to 41. FAnimmlDIhnn(d: 11 BLACK's ~ 1 Io Imqor Ihm 'M.InU'o, q ~ ' e TmlmlI n l l m m Io midn I m IIInanV,q'II1E'L Ooad: liamamludhninam ofgdmd~pleuo, "lrhnaiclloIvw U l i l N , 1:O1~4111"F.: t l ) Trade O l ~ o Adlve P h m o h n l d h me~s | ] l e N . PmomdMa(sl: IIWHITE'eTeld iMkmnu b smoh hllkwiknm BLACK's.Ged: Mmdml~ Jim I M i t a t e Mvmtslle. "lbe adlon wes successful. ~ DIm~ Ahck on h I(bll. nsMnmd h eneVN 30 t 44. PmcemlMmle) : I) k s of M4911~'8kdluNeN In BLACKklag~ n and meeterh m r . ged: ClmekMete. ~ m l a t vee euemeebl.
it1. 10. Advice for similsr case.
~
AI~.::
'
r-~ au-~- t~ll tmvm p,,dv, # = m . t ~ II.IMIt v ~ m.
I~
11. [ A . l J R e / m M m l m k & l m n y ,
I~11
i q . , m ~ , r - w . b : ~q ~ , . o m - - . ~ Ao,.. M . m . u . ~ l n . [ ~ I I W L q ) : Acllue For Blaick:nON. ASleN Fw Wldl: s e a l
Fi8. !I. 'l~ansfmable advice fer case study.
in order to analyze the position (i.e. Trealment 2), and then modify the original evaluation in case anything new was learned from using ICONCHESS. Finally, the subject is asked to analyze a 2rid middlegame chess position, where the effect of using ICONCHESS on the subject's overall ability to analyze a chess position is observed. The following are the steps followed in the experiment: (1) Subject is asked to read and sign the consent form, the experimenter sisns it and givas the subject a copy at the end of the session. (2) Subject is asked to AMlyze position 1 and to answer the questions about that position BEFORE using the program. (The position is shown both on paper and on the screen, so that the user can choose the format he/she prefers.) The object of this part of the experiment is to determine the level of expertise of the subject before the ~ . O) Subject is trained to use the system. ~ trainln8 focuses on the advising capabilities of the p m ~ I n , so some of the feann~ of the system that were not directly related to the edvica and unnecessary to analyze the chess positions given were left out in order to decrease the o0mplexity of the user's tesk. (4) The user is asked to use the program by ldmsdf/hmsdf in order to analyze position 1. This pert of the experiment is videotaped. The videecamora records the screen and also captures the subject's comments. It was decided not to videotape the subject hlm~emelf to avoid intimidltlng him/her. (5) Subject is asked to update the answers to the questions for position 1 in case Ms/her opinion about it chansed after using the prosrem. (6) Subject is 8iven 2rid position which has some similarity (in this case reversed) m the first and he/she is asked m mswor the questions without using ICONCH]~S. This is done in order to demmine if the user ~ any new general knowledse that went beyond the one specific case that was analyzed using ICONCHI~S. (7) Usor is ,mk,-dto fill out a ~neral questionnaire. Ten subjects, 7 male and 3 female, ransins in s p from mid-20s to mid-.~s, in chess skill from b e ~ m , s that still had trouble understanding special moves (i.e. casding and promotion), to experts (i.e. approximately 2000 rating poinm in the U.S. rating sysmn), and in familim'ty with the computm" platform (MS-W'mdows) from heginnms to advanced usm. Most of the usms had played against computer chess programs but had not used any computer-assisted instnu,'donal system for chess at the level of sophistication of ICONCHESS. The users seemed to like the advice provided by ICONCHESS. According to the qnestio-m,lres, most of the diffm'mt caWsorles of advice received an average of at least 3.7 in a scale of 1-5 where I was the worst possible value and 5 the best possible value (see Tables 5 and 6). It seems that the subjects wore able to understand and utiliT~ the advice lxovJded by those categories (e.g. the visual and textual advice for pawn structure) quite well. They were most impressed with the visual advice for influence which was rated at 4.5, close to the maximum possible evaluation. They all
An intelligent consultantsystemfor chess
Table 5. Qualityof advke
193
Table 6. Usefulness and ease of use
Advke
Average evaluation Visual Text
l~ei Pawn structure King in,erection Influence
3.7 3.9 3.8 4.5
Average evalumion Usefulness Ease of use
3.3 3.8 4.0 4.0
Weight changes Similar cases Case advice Transfer advice Case browsing Overall
3.0 4. I 4.4 3.9 4.6 3.8
4.4 4.1 4.0 4.1 4.6 4.3
found that the way this advice was presented gave them a feel for the dislribution of the forces of e ~ h player in the chess board at a glance, something that was difficult for them to do without ICONCHESS. The ease of use of the features related to the cese-based advice was rated above 4.0 for all the categories, which indicates that they did not have any major problem understanding or using the interface provi4led to use those features. Furthermore, the usefulness of most of these features was also ranked high, in ]the range 3.8--4.6, which indicat~ that the subjects found the case-based approach to be a p p r o l ~ to le~un new concepts about chess positions. Two features were created particularly high, case advice at 4.4, ~ d case browsing at 4.6. It seems the subjects found the detailed descriptions of similar cases (e.g. c ~ e advice) useful to understand the high level ideas that could be applicable to their problems, while [the ability to browse through the moves of similar cases (e.g. case browsing) gave them hints about specific moves or series of moves that could be appmpria~ to deal with their particul,r problem positions. These results indicate that the only categories that rounded to 3.0 were the textual advice for m a t e ~ and the usefulness of the ability to change the weights of the components of the similarity metric. The former seemed not to provide much more information beyond what is evident for most players, even[the bel~inners. The latter received the average score primarily because most of the subjects did not h~ve enough a p~or/knowledge to feel confident in modifying the weights and therefore preferred to follow the program s recommendations. A few of the subjects did not even attempt to use this feature and .]did not evaluate it at all. The objective of the last section of the questionnaire was to determine, fromlthe point of view of the subjects, if they had found ICONCHESS useful to understand the two positi~s presented to them. The average values given to the question in this final section were: Knowl~ge acquired from ICONCHESS about position h 3.2, Knowledge acquired from ICONCHESS that ~vas useful to understand position 2: 3.8, Similarity between positions 1 and 2: 1.9. These results show flint the advice was to some extent useful for the subjects to understand position 1 (e.8. average evalua~'on slightly over 3), and more importandy, the subjects found that ICONCHESS provided them with val~ble information that helped the subjects in their study of position 2 (e.g. average evaluation close to 4). A few of the users were able to recognize the reversed similarity between both positions, yet only one of ~ m assigned a value as high as 3 to the similarity between the two positions; therefore the average evaluaiion for that question was so low (i.e. barely below 2). The results obtained from the questionnaires ~ere encouraging, yet their reliability is not very high, since they are only the reflection of the subjective evaluation by the subjects. A more objective evaluation of ICONCHESS was obtained by looking atithe performance of the subjects in the tasks presented to them before and after its use. The Expert Evaluation was done by comparing the perfonnance of the subjects in the quesdonn~__s about position I before and after using ICONCEIESS, and also in the questionnaire about position 2.!We
define the concept of profitability to be the degree of a subject's qualitative performance improven~t after using ICONCHESS according to the expert observer's judgment. The subjects can be divided ~to 3 different groups according to the level of profitability (A, B, C). Group A was the group for which[the use of ICONCHESS was most profitable. The subjects in this group either made dramatic hnpmven~n~ts m thmr evaluauons or were able to refine thmr ideas after using ICONCHESS. Group B conmsted of ti~ree subjects who were able to profit to some extent from their session with ICONCHESS, yet not in a Way as dramatic as those subjects in Group A. Subjects in this group were able to fine-tune their evaluations and to obtain new evaluation 8uidelines that were applied in subsequent evaluations. Subjects in Grbup C did not profit much from I C O N C I ~ S . Some of them obtained a few general ideas. Their levd of chess skill was at the extremes of the skill range in the subject pool. This Stoup also consisted ~f 3 subjects. One of them was an advanced player, while the others were absolute beginners. The results of the main experiment were: (1) The evaluation of ICONCHESS given by the users Was .
,
,
,
.
.
.
I
194
SANTOS G I ~ J ~ D O L.AT"J~P~Iand RACI~m-I.~ ~
] .~q
positive. The average results indicate that they liked particularly the visual advice on influence and the case advice. (2) The session with ICONCHESS helped most of the users to improve the evaluation of position I and to direct their evaluation of position 2. (3) The subjects were able to profit from ICONCHESS at different levels. Subjects who were at the exu'emes of the subject pool chess skill range (i.e. advanced, beginners) were the ones who profited the least from ICONCHESS, while subjects in the middle of the skill range had an easier time learning from the program. From these observations and results we can conclude that ICONCHESS was useful to provide strategic advice. Even though some of the subjects had problems with some of the features of the program, the average results indicate that the majority of the subjects were able to profit from their session with ICONCHESS. Particularly appealing to the users were the visual advice on influence and the case advice. The advice l~rovided by ICONCHESS reached beyond one specific position, since the subjects were able to apply soma of the knowledge obtained while analyzing position 1 in their study of position 2. This is an indication that the case-based approach is actually approl~ate for teaching chess middiegemes. The subjects were able to profit from ICONCHESS at different levels. Some of them greatly improved their undecttanding of the game, others had smaller gains in knowledge/insight, while others obtained just a small amount of new knowledge from their experience with ICOlqCHESS. This is also an indication that the implementation of a student model may improve the abih'ty of ICONCHESS to help more substantially a wider variety of users. A follow-up experinMmtwas carried out in order to confirm the findings of the first experimenL Two subjects came back for a second session, one from Group A, and one from Group B (i.e. as classified by their level of profitublity). This experiment only differed from the main one in the level of difficulty of the 2 chess positions used, which was somewhat higher. The elapsed time between the participation of these subjects in the 2 experiments was between 2 and 3 weeks, during which they did not use ICONCHESS. The subject from Group B was a strong chess player who was able to understand quite well the problems in this session, which reduced the impact of ICONCHESS. The other subject, a be~inner-intmmediate chess player was able to grasp several intmmting ideas from using ICONCHESS, including the ~ of piece mobility and the concept of reversed similarity. The questionnaires showed similar pattm'ns as those found in the first experiment for these 2 subjects. In short, this experiment confirmed that the level of skill of the subjects was important to determine the usefulness of ICONCHESS. The main, specific contributions of this work are: (I) The implementation of a novel approach in computer chess that combines case-based reasoning and fuzzy logic in order to characterize and teach chess m/ddlegemes. The technique implemented in ICONCHESS allows the characterization of chess middlegeme positions in such a way that it is possible to associate a given position with other positions that may have some high level similarity with that given position. These similar positions can then provide some guidance about how to deal with the position under study. Even though ICOHCHESS uses these similar positions for teaching purposes, there is no reason why they could not be incorporated as part of chess playing program. Furthermore, the combination of fuzzy logic and case-based reasoning as implemented in ICOHCHESS is somewhat different from the techniques used by previous CBR and fuzzy logic systems (e.g. Swale, Abby, QBKG) that work in other domains. (2) The design of a model for an interactive consultant in the domain of chess. Only a small number of systems have been built for the main purpose of teaching chess (e.g. UMRAO, Cbessmaster), and none of them has dealt with h/gh level slrawgies for middlegame positions. ICONCHESS uses a consultant approach in order to teach high-lovel strategies for the m/ddlegeme in chess. (3) The development of similarity metric for chess middlegemes that includes syntactic and semantic properties and its use as the heart of a tutoring system. The similarity metric developed in this dissertation goes beyond what has been proposed before, such as those proposed by [16, 17] and commercial chess database progrmm, by applying fuzzy logic to the assessment of the similarity between different positions, particularly when using the pawn structure as part of the similarity metric, and incorporating higher-level concepm, like the influence, instead of specific attackdefend relationships between pieces end specific locations for pieces. Even though the implementation refers specifically to chess, soma of the ideas might be generalized to be applied to other domains where a case-besed approach is appropriats.
An intelligent consultant system for chess
195
(4) The evaluation of ICONCHESS with subjects of different levels of expertise showed that the approach implemented for teaching chess strategies was most useful for moderately-skilled chess players.
6. C O N C L U S I O N S A N D F U T U R E W O R K
From the results discussed in Section 5, the following conclusions were reached: (1) ICONCHESS was useful to provide strategic advice. Even though some of the subjects ~ t problems with some of the features of the program, the average results indicate that the majority of the subjects were able to profit from their session with ICONCHESS. Pmicularly appealin~ to the users were the visual advice on influence and the case advice. (2) The advice provided by ICONCHESS reached beyond one specific position, since the subj~cts were able to apply some of the knowledge obtained while analyzing position 1 in their study of position 2. This is an indication that the case-based approach is actually appropriate for chess middiegemes. (3) The subjects were able to profit from ICONCHESS at different levels. (4) The strategic advice provided by ICONCHESS was quite helpful for the subjects, since it allotted them to get a feel of the main characteristics of a position and the appropriate way to deal ivith them. However, they also were interested in evaluating specific moves, which indicates they need to keep a typical alpha--beta-based search engine in order to verify the tactic soundness of the moves tried by the user. Some of the future work in ICONCHESS that is suggested by the results of the experiments i n c l ~ s the incorporation of larger knowledge bases, the implementation of a student model, and i the incorporation of the case matching/retrieval mechanism into a chess playing program. Even thqngh ICONCHESS uses a great deal of chess specific information, and some of the data structures developed ad-hoc for chess, some of the techniques, particularly the schemes used to assess the simil~ty between two different pawn strucun'es and to assign weights to the different factors of the simillkity metric, may be applied to other domains. The combination of fuzzy logic and case-based reasoning as used in ICONCHESS may also be 9sed as the basis for teaching/learning systems in other domains that are complex and where exhaustive analysis of possibilities for a given situation are difficult or impossible to achieve. Some domains [that meet this condition are, for example, military apphcations, medicme, and natural lan. ~ . ~ processing. The formulation of problems in these domains is different then those problems presented sn chess, but the same principles may be applied. Similar approaches have already been tried to some extent in som~ of these domains, for example [19] presents MBT2, a system that combines several translation exampl~s in order to automatically translate expressions from English to Japanese. In the medical field, similar i~.as have also been tried, particularly, fuzzy pattern matching has been applied to medical image recognition. Reference [20] summarizes some of the ideas involving fuzzy logic that have been tried for in,age processing. Since chess is to some extent an abstraction of war, military strategy is perhaps the domain wher~ the ideas implemented in ICONCI-IESS are more likely to be effective. Some of the high-level chess ickas, like the pawn structure and influence could be transferred to the military domain. A classification of the different possible deployments of different types of troops and weapons could be developed to be Jsed instead of the knowledge base of pawn structures. The idea of influence could be generalized and apl plied to abitrary geographical zones that could be divided into sectors according to military importance cri ~'ia in the same way ICONCHF~S does it for chess in the 64-square board. Other factors that mar be important for the characterization of wars/hatties should be added to the similarity metric in o r ~ to allow the retrieval of all possible relevant cases from the case base of wars/berries. Once the simil uity metric and case base for wargbattles are defined, a similar environment to the one provident by ICONCHESS can be created for t e a c h i n g / l e ~ military strategies in different war situations. "l here are, of course, several important differences between a real war and a chess match that would recluire additional work. For example, in a real war the knowledge about the opponent's forces and locati, m is G~ lY-314-O
196
SANTOS GERARIX) L~7"~ngl and RAC~4m.~J~14~ ~.m~
usually not complete,, therefme soma additional mecbmniqmsmay have to be implemented in order to deal with this type of unce~inty, perhaps applying some fuzzy mechanism agein. Briefly, to build a consultant environnxmt like ICONCHESS in other domains, it would be n__,~e_~sary to do the following: (1) Define a similarity matric for the desired domain. This metric should include all the important factors that characterize a given situation in the domain of choice. It is also recommended that each of the factors that compose the similarity matric be meaninsful on its own, so that some relevant information can be extracted from each factor, and not just from the similar cases. Furthermore, the factors used to compose the similarity matric must allow partial or inexact matches whenever possible, so that even if no perfect match is found for the value computed for a specific factor, there is still an oppm~nity to obtain some valuable information based on that factor. (2) Collect a case base of relevant cases, indexed by the similarity metric previously defined. This case base will provide a source of knowledge that can be accessed to fred cases that may provide advice for a given situation. (3) Add knowledge bases that m y be necessary in order to [generate advice related to specific factors. (4) Develop a mechanism to determine the relative importance of each of the factors that compose a similarity metric. This will affect the ranking given to the relevant cases retrieved for the case base. (5) Finally, provide functionality in order to present the user with different medalitles of advice (e.g. visual, textual) as appropriate for tiz domain. A c A m o w / ~
~,o,-,mm,hipfor the work dmm~bed in this l~per was ~
by CONACYT, ( C o m ~ N~-ioMI de
C ~ i a y "r~mo~ogia),M~im. REFERENCES I. 2. 3. 4.
5. 6. 7. 8. 9. 10. I I. 12. 13. 14. I$. 16. 17. 18. 19. 20.
MarslandT. A. and Sclmeffer J., Compttter& C ~ , aml Cosnitim. SlxinSar, New York (1990). Samuel A. L., Some m~'m~_in machine lemains using the game of checken. IBMJ. R~. ~ 3(3), 210--229 (1959) C.mdwalD., UMI~O: a chem ead p a t e tutcg. MMter's thesis 90-4. Univ. ofSukxghew~ Saskatomt,Cmada (1990). Ackley D. H. and Barlinm"H. J., ~ QBKG system: Imowl~ll~ rqm~nml/OO for pp~__,__~ md e0q~dning judipnmgs. 'l'eclmicsi P~.po,--~C m n e p Mellon University (15M3). Bmtin~ H., Compumrtmcksmmsm. Sc~,t. Am. ~U(6), ~.--60 (tgS0). De Oroot A. D., T/,oq~ and CAo/ceb, C/,eu. M_m_,,__~_.The 14slpm(1978). Newell A. sad SimomH., Hwnam Pmb/em So/v~. Prmtfice--Hall,HnllimvoodCliffs. NJ. (1972). CoolwN.,Atlu R., Lane D. mtd B ~ ' R . , Role ofhilgh-lzvel Imowkd~ in mmmay forchcm ~ i f i ~ ]. P ~ 106, 321-351 (1993). McKei~en K.. Reimmn J., Ruet~ H. and Hit'fie S., KnowledlP o~lpmizm/onand skill diffmm~ in compu~ prolpmmnm. Co#n. Pmyc&u~.D, ~N}7-3~ ( ! ~ ! ) . ~ L. md Olmn O., ~ diffmwn~ in d~uMing by skilled and novice p r o s ~ m m . In F.mpirk'a/$~/es ofPm#rammera (]~lited by Soloway B. sad SithmmmtL), pp. 13-27 (1966). Buwe Met, J,m~mat told P/mM~g/n C/wu, McKay, New Yerk (1953). Schsnk R. C., Kms A. md Rimbeck C. K., Imidt Case-Based Lqw/amlt~, ~dbum, New Ym'k(1994). Riwlxgk C. K. sad Schsnk R. C.,/nfide Catt,-Bated Rmsm/q. Bsdbaum, New Ym'k(1989). ~ S. O., An inteJIiseat oomultmt tYUemfor chem. Doctm~ thesis, The GecxlleWuhinstm University ( I ~ ) . Shannon C., Pro~'mmnlall a disitsl mmlm~ far playing chem. PM/. Mag. 41(7), 356-375 (1950). Levinma It., A s e l f ~ rmrieval sylem for ~ Ph.D. thesis, Tedmkal Repe~ from Artificial latenillence Labmmary. Univemity oUl'ex~ .*Austin (l~Lq). Botvinnik M., Co~wmers in C ~ , ~ hamgt Cheu Pmb/mm. Springer, New York (1984). Re~itsky A. L sad Yudin A. D., An m e c ~ v e lilgsry of frNlmmt~ In Comp~rs m C/w.u, ~/~,_____~,'t_ Ores Pmb/ewa fedited by amvi~ik i t ) , A p p m ~ 4. Sp,/npr, New York ( l ~ t ) . Saw S., MBT2: a method for combininlJfmlpn~ts o~mmmplesin example-breed ummlatim~An'/~ lind/. 75, 31.-.49(1995). Keller J. and IOislmqHxm R., Fuzzy ~ t methods in compum" visioa. In An Imrodu~on to Fuzzy/.o8/¢ App/k~t/om b, lamiligem ~ (IMi~d by Yqpg R. and Zadeh L.). Kluwer, Atmmdam (1992).