<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Myrmidia { Case-based reasoning for Warhammer fantasy battle army building</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Glenn Rune Strandbraten</string-name>
          <email>glennrune@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anders Kofod-Petersen</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer and Information Science, Norwegian University of Science and Technology</institution>
          ,
          <addr-line>7491 Trondheim</addr-line>
          ,
          <country country="NO">Norway</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Constructing a viable army for Warhammer Fantasy Battle is a very complicated problem that entrails choosing between many races, many di erent units and equipment. In many ways, the construction of a viable army is a constraint satisfaction problem. There are many hard constraints based on the game mechanics and many soft constraints, such as the number of miniatures available, the capabilities of the enemy and the style of playing; and the fact that any choice made in uences all the other choices possible. The work presented here presents an initial case-based reasoning implementation in jColibri for construction armies in the Warhammer domain.</p>
      </abstract>
      <kwd-group>
        <kwd>case-based reasoning</kwd>
        <kwd>constraint satisfaction</kwd>
        <kwd>strategy games</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Constructing a good army for Warhammer Fantasy Battle (WHFB) is a very
complicated constraint satisfaction problem. Choosing a successful army is
naturally not the only requirement for actually winning a battle; mastery of that
army and tactics are obviously also important. As warhammer includes dices and
di erent strengths and weaknesses of the troops some level of probability and
statistics do play a role. However, a clever general can easily shame the math.
The rst step is showing up with a viable army. Choosing an army has many
constraint, not only what is legal. Constraints might include available
miniatures, tactical consideration, properties of the opponent, or playing style, such
as infantry heavy, fondness of cavalry, or being partial to artillery or magic.</p>
      <p>The work presented here is a decision support system for constructing viable
armies that the player can bring to the table by applies case-based reasoning
(CBR). That is, the decision support system is only involved in constructing
the roster all actual game playing is in the hands on the player. The
application developed uses the relevant domain knowledge from the game together with
cases describing actual battle fought to suggest an army to a player, using his
preferences and constraints. Applying CBR takes the army constructing problem
beyond probabilities and statistics, which are used solely in (commercial)
available solutions. We argue that applying a lazy learner instead of rule induction
captures the many di erent constraints that can occur.</p>
      <p>The rest of the paper is organise as follow: Section 2 gives a short introduction
to the Warhammer Fantasy Battle game mechanics; Section 3 gives a short
overview of related work on CBR and constraint satisfaction problems; Section
4 shortly describes the domain model used; Section 5 describes how the four
steps in case-based reasoning is used, in particular how similarity is calculated;
Section 6 shortly describes the use of jColibri; Section 7 describes the evaluation;
Finally, the paper ends with a summary and outlook on future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Warhammer Fantasy Battle</title>
      <p>Warhammer Fantasy Battle is a turn-based miniature gure board game, where
each player leads an army to battle against another player There are 15 di erent
races to choose from and each race have many di erent units that can be used.
The game is played using miniatures made by plastic or pewter on a 25mm scale
and each units sits upon a square or rectangular base.</p>
      <p>Strict rules govern the game play and army creation process. On the
battleeld the individual units strength and abilities are matched against the opponent,
and in conjunction with the lay of the land and the roll of the dice determine the
winner. This essentially mean that the same two armies can do battle several
times and the results will most likely be di erent each time.</p>
      <p>Each of the 15 di erent races have a host of di erent units that can be
bought and added to the players collection; additionally one unit may have
di erent equipment from another unit of the same race and type. Classi cation
determines what type of unit it is, and is divided into many categories, such as:
infantry, monsters, cavalry and war machines.</p>
      <p>Additionally some units are either a lord or a hero, these are powerful units
which leads the army to war. They are not separated in their own classi cation,
but can belong to any classi cation (usually infantry with the ability to purchase
a mount). Lords are the most powerful unit in an army, with fearsome
martialor magical might. Heroes are lesser in might than lords, but still worth a score
of ordinary warriors.</p>
      <p>Characteristics describe all the aspects of a unit through nine associated
attributes. Each attribute have a numeric value in the range from 0 to 10, all
these attributes are uniquely described in a table for each unit and associated
classi cation. Attributes includes: how many attacks a unit has, how fast it
can move, how courageous they are and how much damage they can sustain.
Table 1 exempli es the di erence between a dwarf lord and a dragon (higher is
normally better). Each individual unit have a base cost associated with it, this
cost represents how good the unit is. As the player adds better equipment, e.g.:
weapons and armour to the unit, the cost increases.</p>
      <p>When preparing for a battle the two players determine the total army points
for each player to be used during the game. Common values are between 1000
and 4000, where 2500 point is the de facto standard. To create the army the
player selects the units she wants to use for the battle while using as many
points possible, but still under the total allowed points. As it is di cult to use
exactly all the points, both armies are usually of a di erent value, but as close
to the limit as possible.</p>
      <p>There are however a few rules that must be followed when creating the army,
you cannot choose ten of the meanest unit there is and be done with it. The
player should rst select a General, which represents the player and leads the
army on the battle eld. The rest of the army is selected based on rules governing
the following unit categories: Lords, Heroes, Core Units, Special Units and Rare
Units. All equipments and/or mounts purchased to individual units or groups,
counts towards the total point usage within each category (see Table 2).</p>
      <p>Lords and heroes are powerful leaders of armies, thus only 25 % of the agreed
upon points can be spend on each. Core units are the basic units of your army
and the ones you will have the most o , e.g.: basic footmen and cavalry. You
must use a minimum of 25 % of the army points on core units. Special units
are elite troops which perform great on their own or, as motivators for lesser
soldiers. You can spend as much as 50 % of the points on these units. Rare units
are very powerful units, e.g. monsters, weird war machines and elite solders of
unsurpassed skill. You can use up to 25 % of the points on these units.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>At the time of writing the authors are not aware of any research applying
casebased reasoning to army build in Warhammer, or in any other strategy game.
However, the problem of constructing a viable army is not disjoint from any other
research area. In many ways, this problem resembles a constraint satisfaction
problem (CSP). There are di erent constraints on the number of di erent type
of units that can be used (see Table 2) and the di erent ways of building each
unit (e.g. equipment and special troop types). All of these constraints must be
satis ed, whilst still building an army that can beat the opponent.</p>
      <p>
        I can be argued that the adaptation phase in case-based reasoning resembles
a constraint satisfaction problem in general, and dynamic constraints satisfaction
in particular [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. They both share the same idea of not solving problems from
scratch as this is ine cient. Most research on case-based reasoning in the context
of constraint satisfaction has been been directed at combining CBR and CSP in
the adaptation phase. This includes con guration design and assembly sequence
generation for assembly of motors [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], holiday scheduling [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], timetable scheduling
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and process design [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In the latter, the idea is to retrieve relevant existing
designs (of compression stations) and adapt them in cooperation with a domain
expert to improve the design. The case-based reasoner would retrieve existing
case that would satisfy a set of mandatory constrains. From this case a set of
parameters covering the target constraints would be selected and solved by a
CSP solver.
      </p>
      <p>
        Others have investigated the use of case-based reasoning as the main tool for
solving constraints. This includes manufacturing, where for loading autoclaves
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is a well known case and metal casting [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Finally, the problem of building a
viable army resembles in particular a rostering problem,where di erent people
(troops) with di erent capabilities are required at a speci c time and place. This
has been approach by e.g. Beddoe and Petrovic [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] by using case-based reasoning
in conjunction with tabu search.
      </p>
      <p>The approach presented here draws inspiration from applying case-based
reasoning to constraint satisfaction problems. However, contrary to most related
work we do not include speci c CSP solvers.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Domain model</title>
      <p>The domain model developed consists of two parts: the o cial rules for
warhammer, both the core rules and the speci c rules for the races; and date from real
battles fought and recorded by Trondheim Warhammer Club (WarTrond). The
data from the o cial rules constitutes the general domain knowledge, whereas
the data from WarTrond constitutes the cases.</p>
      <p>The domain model was developed through three iterations of modelling,
implementation and testing. After the three iterations the domain model was
nalised. The nal entity-relationship model is depicted in Figure 1.</p>
      <p>The main information about the cases are stored in Cases and Armies, which
together represent the player race, opponent race, outcome, player unit and
points. Each of the armies in the case contains a number of units described in
Unit. This class is modelled based on the general characteristics of a unit, such
as attacks, movement and weapon skill, as well as the information about the unit</p>
      <sec id="sec-4-1">
        <title>Army_ID Cases</title>
        <p>OpponentRace
Outcome</p>
      </sec>
      <sec id="sec-4-2">
        <title>PlayerRaAcermies</title>
        <p>ArmyPoints</p>
        <p>Army_Unit_Utility
Army_unit_ID
Untility_ID</p>
        <p>Army_Unit
Army_ID
Unit_name
NumberOfUnits
Army_Unit_Equipment
Army_Unit_ID
Equiptment_ID
Name
Cost
Required
NumUnits
PromotionUnit
Movement
WeaponSkill
BallisticSkill
Strength
Toughness
Wounds
Initiative
Attack
Leadership
UnitType</p>
        <p>Equiptment
Name
Cost
Range
Modifier
UsableBy
ItemType
DefaultEQ</p>
        <p>Unit_Utility
Army_Unit_ID
Equiptment_ID</p>
        <p>Unit_Equiptment
Unit_name
Equiptment_Name</p>
        <p>Unit_Rule
Unit_name
SpecialRule_ID
Rule SpecialRules</p>
        <p>Equiptment_Rules
Equiptment_ID
SpecialRule_ID
type, such as minimum and maximum number of troops and weapon type. The
Unit Rules and Special Rules, which contains any special rules for the unit, the
information about the unit is complete. The nal information about unit is their
equipment, which is contained in Equipment. Together these classes contain all
relevant information about units. The UtilityUnit class is used to inform the
program that this is attached to another unit, such as war machine crew.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Case-based reasoning component</title>
      <p>Following the domain model described in Section 4, queries to the case base
must at least contain features describing which race the player wishes to use,
the opponents race and the number of points. Whilst this is su cient to retrieve
suitable cases more speci c information will restrict the number of cases and
give the similarity function more to work with; thereby (hopefully) enhance the
result. There are no restrictions on the number of constraints used.</p>
      <p>
        The case-based reasoning component follows the four steps in the CBR cycle
as described in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Each of the four steps are described in the following sections.
5.1
      </p>
      <sec id="sec-5-1">
        <title>Similarity (Retrieve)</title>
        <p>The case base contains all valid cases following the domain model in Section 4.
The similarity is calculated using k-nearest neighbour. This approach was chosen
as it quickly can distinguish between cases.</p>
        <p>The similarity is calculated based on a weighted sum of the three parameters:
army, opponent and outcome. Equation 1 calculates the weighted average of the
three parameters, where A = 'Army', AW = 'Army Weighted', O = 'Opponent',
OW = 'Opponent weighted', Ou = 'outcome', and OuW = 'Outcome Weighted'.</p>
        <p>Similarity =</p>
        <p>P A</p>
        <p>AW + O OW + Ou
P AW + OW + OuW</p>
        <p>OuW
(1)</p>
        <p>Each of the components in the above equation has their own simple similarity
function tailor made to the speci c part of the case.
5.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>Adaptation (Reuse)</title>
        <p>The reuse phase in this implementation consists of two steps: rst a retrieved
case is passed through a nave and secondly it may be passed through a more
exhaustive adaptation. The nave adaptation is used to substitute data in the
query with data from the retrieved case.</p>
        <p>Once the nave adaptation phase is done the exhaustive adaptation process
is started. This process may perform adaptation of the case. This adaptation
investigates the query case to see if any of the army construction rules (see
Section 2) has been violated, such as "no general", "too few core unit points",
or "too many units in group".</p>
        <p>The adaptation phase uses its own similarity function when calculating unit
similarity. It simply calculates the di erence between the parameters describing
each unit (characteristics, unit type, army type, cost and weapon type). The
characteristics are calculated as the average of the similarity of the nine
individual characteristics. The cost is calculated as an interval similarity. The unit
type, army type and weapon type is calculated from look-up tables where the
similarity between di erent the di erent types has been estimated. For unit type,
e.g. two infantry units has the similarity of 1.0, monstrous beasts and monstrous
infantry as the similarity of 0.8, and cavalry and war machines are not similar.</p>
        <p>At the end of these two adaptation phases the query case now contains the
most similar retrieved case along with any adaptation necessary to t the original
requirements from the user.
5.3</p>
      </sec>
      <sec id="sec-5-3">
        <title>Revise</title>
        <p>The revise phase in Mymidia is a completely manual task for the user. The user
is able to change almost any aspect of the case. There are two types of limitations
on the possibilities of revision: limitation and invalidators. The former is changes
that the user interface cannot change, yet if changed would not invalidate the
results; whereas the latter is the player race and army points, which would
invalidate the result.</p>
        <p>Once the user is satis ed with the the case in question and wants to test it
in a battle the case is stored in the case-base in a case vault. This initial stored
case in the vault cannot be accessed by the retrieve phase.
The retain phase is a pseudo manual phase, where the user must add the result
of a battle for case. Based on this result the following actions can be carried out:
{ If the case results in a victory or a draw that value is updated in the case
base. This moves the case from the vault to the normal case base, thus
making it accessible to the retrieve phase.
{ If the case results in a defeat that case is deleted.</p>
        <p>{ Finally, if the result remains unknown the case remains in the vault.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Implementation</title>
      <p>The system was implemented in Java using the jColibri framework together
with the Apache Derby database and Hibernation mapping tool. This section
will shortly describe how jColibri was used in the implementation. The details
on Apache Derby and Hibernation is outside the scope of this paper.</p>
      <p>
        jColibri is a CBR framework that is fully implemented in Java. It includes
several out-of-the-box features and interfaces that allows developers to create
new functionality or tweak existing functionality. jColibri is easy to set up and
integrate into a project. JColibri also supports a wide range of databases through
Hibernate. Ontologies can be included through OntoBridge, which simpli es the
use of ontologies to create knowledge intensive CBR application [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        Through the use of interfaces in all core components of jColibri any
application speci c class can easily and seamlessly integrate into and used in conjunction
with out-of-the-box features. The similarity calculation is divided into local and
global similarity functions [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>The changes to jColibri in Myrmidia is primarily related to the local and
global similarity functionality (see Section 5) and the distinction between the
problem description, solution and justi cation of the case. In our implementation
this distinction has been left out as there are no distinction between the problem
description and the solution. This has been done for the following reasons:
1. It was di cult to categorise the features as either being a description or a
solution;
2. As it was di cult to categorise the features the most cost e cient solution
with respect to minimise number of code lines was to have the problem
description and solution in the same case hierarchy;
3. It felt restrictive and impairing on the functionality and the users'
possibilities to de ne the perfect query.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Evaluation</title>
      <p>Since only a limited number of races has been modelled and the number of cases
is limited, a thorough performance test is di cult to conduct. However, each of
the components and functions have been tested one their own.
7.1</p>
      <sec id="sec-7-1">
        <title>Unit weight similarity</title>
        <p>In order to maximise to unit similarity calculations (see Section 5.2) and
adaptation matching results the associated weights for unit similarity can be set
accordingly. This test was conducted by calculating two relatively dissimilar
units, within the same race, with every possible weight con guration. The result
of these calculations were not very surprising since the calculations is based on
di erent features of the unit. Once the "best" weights were found they were used
to calculate the similarity between one unit and all the others within a race. The
results were then evaluated as either satisfactory or not and the ration between
these two were calculated. The results showed that one universal unit
similarity weight con guration is di cult, if not impossible to nd. This is based on
the observation that what is "good" from some units are far from accurate for
others.
7.2</p>
      </sec>
      <sec id="sec-7-2">
        <title>Case adaptation</title>
        <p>The case adaptation stage is quite a complex function with several random
elements. This makes it unpredictable and di cult to control. To verify that
neither random elements or rule set veri cation was involved a specialised test
was conducted. This specialised test posted a static query to the system that
returned ve cases and sent each case through the adaptation 10 000 times,
totalling 50 000 trials.</p>
        <p>The results of theses tests indicated that in cases that required much
adaptation (e.g. cases with few army points begin used as the basis for cases with many
army points) are prone to add the same unit several times. This is clearly a result
of searching for the most similar unit several times. This type of unit a nity
impacts the diversity of the army and may impair the overall e ectiveness of an
army. This is an open question and requires real gaming tests to clarify.</p>
        <p>Another issue that arose is the fact that lords and heroes uses more that the
allowed 25 % of points. Theses o ending lords and heroes have a tendency to
loose all their extra equipment. Thus, it is clear that this part of the adaptation
requires some redesign.
7.3</p>
      </sec>
      <sec id="sec-7-3">
        <title>Race exchange</title>
        <p>An interesting side e ect of this application is the ability to create a new army
from scratch by basing it on an existing army from another race. This
functionality was developed to act in the event that one or more of the kNN results
are of another race than the target race. This occur if: there are no cases with
the target race available; the existing case is less similar that other cases with a
di erent race; or if k is larger than the number of cases with the target race.</p>
        <p>Table 3 shows an example of a user asking for a Dwarf army to play High
Elves. However, there are no Dwarf cases in the case base, so an existing High Elf
case is adapted to suit the queried race. If the resulting army is investigated by a
domain expert the Dwarf units substituting the High Elves units would appear
reasonably, within reason and keeping in mind that substitutions are based on
actual armies. The only notable di erence is that "Teclis", "Caradryan" and
"Korhil", who are all named characters1 are substituted with run-of-the-mill
Dwarf lords and heroes.
8</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Summary and future work</title>
      <p>The work presented here is very much work in progress. Currently only three
of the 15 di erent races are actually modelled in the domain model (Dwarfs,
Empire and High Elves); further, not all race speci c magical items has been
modelled; nally, none of the recent published 8th edition race books has been
modelled, only the 8th edition core rules. In addition, the current case-based only
contains 10 cases (2 Empire, 5 High Elves and 3 Dwarf). Obviously this is a very
incomplete set of cases (105 cases would be required to cover all combinations).
However, the cases re ects the current and actual available domain knowledge.</p>
      <p>There are still quite a few points where future work is required: i ) improve
the knowledge in the case-base; ii ) improve the adaptation process in order to
reduce the number of needed operations, perhaps by looking at the possibility of
using a CSP solver as described in Section 3; iii ) Implement a partly automated
1 Named characters are special lords and heroes who often have extra special abilities
compared to standard lords and heroes.
revise process; iv ) make the system available as a web-based solutions, thereby
ease the acquisition of cases and domain knowledge.</p>
    </sec>
    <sec id="sec-9">
      <title>Acknowledgements</title>
      <p>The authors would like to that WarTrond |Trondheim Warhammer Club| for
their time and e ort providing us the initial data for the case base.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Purvis</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Dynamic constraint satisfaction using case-based reasoning techniques</article-title>
          .
          <source>In: Proceedings of the CP'97 Workshop on Dynamic Constraint Satisfaction</source>
          . (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Purvis</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pu</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Adaptation using constraint satisfaction techniques</article-title>
          . In Veloso,
          <string-name>
            <given-names>M.M.</given-names>
            ,
            <surname>Aamodt</surname>
          </string-name>
          , A., eds.
          <source>: Case-Based Reasoning Research and Development, First International Conference, ICCBR-95. Volume 1010 of Lecture Notes in Computer Science</source>
          . (
          <year>1995</year>
          )
          <volume>289</volume>
          {
          <fpage>300</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Lopez</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Holiday scheduling for city visitors</article-title>
          . In Frew,
          <string-name>
            <given-names>A.J.</given-names>
            ,
            <surname>Hitz</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          ,
          <string-name>
            <surname>O</surname>
          </string-name>
          'connor, P., eds.
          <source>: Information and Communication Technologies in Tourism (ENTER'03)</source>
          , Springer-Verlag (
          <year>2003</year>
          )
          <volume>252</volume>
          {
          <fpage>260</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Burke</surname>
            ,
            <given-names>E.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>MacCarthy</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Petrovic</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Qu</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Case-based reasoning in course timetabling: An attribute graph approach</article-title>
          .
          <source>In: Case-Based Reasoning Research and Development, Proceedings of the 4th International Conference on Case-Based Reasoning (ICCBR-2001). Volume 2080 of Lecture Notes in Computer Science</source>
          . (
          <year>2001</year>
          )
          <volume>90</volume>
          {
          <fpage>104</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Roldan</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Negny</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lann</surname>
            ,
            <given-names>J.M.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cortes</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Constraint satisfaction problem for case-based reasoning adaptation: Application in process design</article-title>
          . In Pierucci, S.,
          <string-name>
            <surname>Ferraris</surname>
          </string-name>
          , G.B., eds.
          <source>: Proceedings og the 20th European Sympositum on Computer Aided Process Engineering (ESCAPE 20)</source>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Hinkle</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toomey</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Applying case-based reasoning to manufacturing</article-title>
          .
          <source>AI</source>
          Magazine
          <volume>16</volume>
          (
          <issue>1</issue>
          ) (
          <year>1995</year>
          )
          <volume>65</volume>
          {
          <fpage>73</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Petridis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saeed</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Knight</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>An automatic case based reasoning system using similarity measures between 3d shapes to assist in the design of metal castings</article-title>
          .
          <source>Export Update</source>
          <volume>10</volume>
          (
          <issue>2</issue>
          ) (
          <year>2010</year>
          )
          <volume>43</volume>
          {
          <fpage>51</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Beddoe</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Petrovic</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>Enhancing case-based reasoning for personnel rostering with selected tabu search concepts</article-title>
          .
          <source>Journal of the Operational Research Society (JORS)</source>
          <volume>58</volume>
          (
          <issue>12</issue>
          ) (
          <year>2007</year>
          )
          <volume>1586</volume>
          {
          <fpage>1598</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Aamodt</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plaza</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Case-based reasoning: Foundational issues, methodological variations, and system approaches</article-title>
          .
          <source>AI Communications</source>
          <volume>7</volume>
          (
          <issue>1</issue>
          ) (
          <year>March 1994</year>
          )
          <volume>39</volume>
          {
          <fpage>59</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Garcia</surname>
            ,
            <given-names>J.A.R.,</given-names>
          </string-name>
          <article-title>D az-</article-title>
          <string-name>
            <surname>Agudo</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gonzalez-Calero</surname>
            ,
            <given-names>P.A.:</given-names>
          </string-name>
          <article-title>jCOLIBRI 2 tutorial</article-title>
          .
          <source>Technical report</source>
          , Group for Arti cial Intelligence Applications Universidad Complutense De Madrid (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <article-title>D az-</article-title>
          <string-name>
            <surname>Agudo</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gonzalez-Calero</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          :
          <article-title>A declarative similarity framework for knowledge intensive cbr</article-title>
          .
          <source>In: Proceedings on the international conference on casebased reasoning ICCBR 2001</source>
          , Springer Verlag (
          <year>2001</year>
          )
          <volume>158</volume>
          {
          <fpage>172</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>