<!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>Towards XCSF-based Identification of Physical Disturbances</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Markus Görlich-Bucher</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jörg Hähner</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Organic Computing Group, University of Augsburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Building robust systems that are able to withstand various kinds of disturbances is an ongoing subject of research in the broader field of intelligent systems. Hereby, physical disturbances, therefore, disturbances that afect a system's hardware, are rarely discussed. We present an XCSF-based approach for identifying physical disturbances. We utilize a concept for limiting XCSF's necessary supervision as well as various system metrics in form of triggers in order to reduce the amount of interaction with human experts. We evaluate our approach using a simple proof of concept, showing that an XCSF with our extensions is able to perform acceptable compared to a naive XCSF. Besides, we discuss possible future research direction for our approach.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The increasing complexity in Information and Communication Technology has led to the
emergence of various research initiatives concerned with building intelligent systems that
incorporate several so-called self-x capabilities, such as Organic Computing (OC) ([
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]), Autonomic
Computing ([
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]), or, most recently, Lifelike Computing ([
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]). These initiatives are concerned
with building robust and flexible systems that are able to interact with their environment using
sensors and actuators. They should be able to freely adapt and organize themselves in order to
pursue their goals. A well-discussed characteristic of such systems is Robustness: The ability
to withstand internal or external disturbances and remain in (or return to) a desired state of
function.
      </p>
      <p>
        As suggested in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], a yet rarely considered aspect of disturbances lies in disturbances that
are hardware related, for example due to degrading or breaking actuators. Such disturbances
are associated with various drawbacks: First of all, they might not necessarily get noticed by
the containing system. If at all, the system is able to retrieve some internal measurements from
the broken component, which does not directly provide an assessment of its state at all. Hence,
it is of interest to implement some sort of learning mechanism that iteratively learns to identify
broken components. However, providing some sort of necessary ground truth for learning
intuitively involves some sort of human expert that is able to asses the physical state of the
system. This results in a second drawback: Human experts are usually associated with some
sorts of costs, e.g. money or a limited time budget. Thus, it is of interest to limit the amount of
human intervention to as much as possible.
      </p>
      <p>
        As an online learner, the XCS Classifier System (XCS) has gained notable attention in previously
mentioned research initiatives. Originally designed as a reinforcement learning algorithm, there
exist various derivatives for many machine learning settings, such as supervised classification
tasks ([
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) or unsupervised learning tasks like clustering ([
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]). A popular derivative is XCSF, a
supervised function approximator ([
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]). In an iterative manner, XCSF is confronted with an
input , calculates an approximation  and receives the corresponding ground truth  for
̂︀
adapting its internal knowledge in order to provide better approximations in the future.
      </p>
      <p>
        In this paper, we present an XCSF-based approach for learning to identify broken components
in a intelligent system. More concrete, our solution focuses on limiting the amount of human
supervision while maintaining an acceptable identification quality. In order to achieve this,
we adapt the algorithmic internals of XCSF in order to reduce the number of supervision tasks
according to [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Besides, in order to reduce the depency from accurately learning how internal
component measurements might indicate a breakdown, we introduce a humber of so-called
triggers. Triggers utilize several existing OC-metrics and other calculable measures. Furthermore,
we provide a brief proof of concept to demonstrate our approach and discuss potential
      </p>
      <p>The remainder of this paper is structured as follows. At first, we motivate our problem
and introduce various relevant research works. Afterwards, our adapted XCSF as well as
the Triggers implemented so far are presented. Our methodology is then evaluated using a
real-world scenarios, before concluding with an outlook on possible future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Problem Statement</title>
      <p>In the following, we motivate our problem statement using the architectural principles used in
OC. However, the concepts presented in this paper can be applied to any other kind of intelligent
system as well.</p>
      <p>
        We assume an OC system  consisting of an System under Observation and Control (SuOC) as
well as an Multi Level Observer Controller-Instance (MLOC). Intuitively, the SuOC represents
some sort of machinery or complex technical system that is observed and controlled by the
MLOC in order to work in a desired way. Typical examples for a SuOC include a smart factory
lfoor, as used for evaluatory purposes later on, or a smart home environment. Each system
is associated with some sort of utility measure  that can be used as a metric to assess the
systems performance. Correspondingly, there may exist several variants of disturbances that
afect  . A system is called robust if it manages to adapt to upcoming disturbances such that
 remains over some acceptable performance threshold (or, at least, is able to return to an
acceptable  shortly after a disturbance). A broader overview on this topic, as well as on the
relations between disturbances and acceptable performance thresholds can be found in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] .
      </p>
      <p>consists of various components  ∈ ||. Hereby, a component acts as an abstraction for any
kind of actuator or sensor that is used within the system context. As some sort of machinery
or other physical device, each component situated in a real-world scenario will sufer from
degradation or other physical disturbances from time to time, hence, disturbances that are
not software-sided but situated within the system’s components. We assume that a physical
disturbance  is not directly observable in terms of beeing noticed by . However, we assume
that an occurance of  causes either permanent or at least temporary (if it is repaired) damage
to the afected components in such ways that  is no longer able to perform on a level it was
beforehand. Therefore, at least if no redundancy exists to compensate the broken component,
 afects ’s utility . Furthermore, depending on the type of a component, additional
information such as sensor measurements or some sort of local utility measure  might exist.
Again, these measurements could be afected by a breakdown and therefore might difer to
those gained from an undisturbed component.</p>
      <p>Finally, we assume that some sort of human expert - e.g. an repair worker or some sort of
engineering staf - exists. The human expert has the corresponding expert knowledge to assess
if a component is broken or not, hence, to deliver the ground truth to , if necessary.</p>
      <p>The overall problem can be summarized as follows: We intend to continuously assess the
overall state of  in order to identify disturbances, or, in other words, to identify broken
components. Hereby, we need to call upon a human expert in order to gain some ground truth
on a component’s state from time to time. As we want to reduce the overall costs, we seek to
limit the amount of supervision as far as possible. Iteratively,  should be able to build a solid
knowledge base for deciding if a component is broken, based on actual measurements from
within the component or metrics generally available to .</p>
    </sec>
    <sec id="sec-3">
      <title>3. Related Work</title>
      <p>
        A conceptual term closely related to this work is self-healing, altough it mostly focuses on
software-sided disturbances (e.g. [10]). Few work exists on healing actual hardware-related
failures (e.g. [11], [12]). However, self-healing difers from our work such that we solely focus
on identifying disturbances, not healing (or repairing) them. Another relevant concept in OC
(and other initiative for building intelligent systems as well) is robustness. Robustness describes
the ability of a system to withstand or compensate disturbances while preserving a certain
degree of functionality. An approach to quantify robustness was published in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The concept
of robustness is quite relevant to our work, as the identification of hardware failures might
allow a system to proactively take measures to remain robust. On the other hand, we utilize
the idea of a utility measure from [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] for the triggers in our own approach. Finally, the broader
ifeld of Predictive Maintenance (PdM) appears quite relevant as well. Plenty of PdM approaches
make use of machine learning methods to either identify failures or predict future failure states.
We refer to [13] for a more extensive introduction on this topic.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Methodology</title>
      <p>
        As already mentioned in the introduction, our approach uses an adapted XCSF for learning under
limited supervision, as firstly introduced in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Intuitively, the XCSF is embedded in some sort
of control mechanism (CM), e.g. the Multi-Layer Observer Controller (MLOC) architecture used
in OC. Using several data sources from the components located in the observed and controlled
system  (e.g. sensor data or previously mentioned triggers), as well as some external supervisor
(e.g. a human expert), XCSF learns to identify broken components in an iterative manner. We
suspect that the CM is able to assess ’s overall performance in form of some utility measure.
Depending on the actual scenario, we furthermore assume that the CM is be able to assess the
performance of a single component. Besides, if  is able to assess the system utility and/or
individual component utilities, we assume that there exist known utility boundaries until which
 behaves in a desired state. We refer to [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] for a broader explanation of these boundaries. In
the remainder of this section, we discuss the data sources that can be utilized and explain the
XCSF implementation as well as the trigger implementations used throughout this work.
      </p>
      <sec id="sec-4-1">
        <title>4.1. Representation and Data Sources</title>
        <p>Depending on the application scenario, two types of data sources that can be used to learn from
may exist: Actual measurements gathered from ’s components as well as data gathered from
the triggers  provides. Intuitively, it cannot be determined in advance how measurements
may look like. For the scope of this work, we assume that the measurements gathered from the
components are real-valued, however, it is also conceivable that more complex data sources
exist (e.g. cameras return images). Trigger data, on the other hand, is represented binarily:
Either a trigger is active or it is not.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Adapted XCSF</title>
        <p>
          XCSF is an evolutionary online-learner for function approximation. On each discrete timestep,
XCSF is confronted with a situation description (also called sigma in XCS-terminology) ,
calculates an approximation , and is presented with the actual correct prediction . The XCSF
̂︀
implementation used throughout this work is based on the Algorithmic Description by [14]
with XCSF-specific enhancements described in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. The Min-Percentage representation, originally
introduced by Dam et al. [15], was used within the classifier conditions to represent real-valued
data. Besides, the adaptions for limited supervision as described in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] are included. The overall
architecture as well as the learning process is described in the following.
        </p>
        <p>
          XCSF consists of a population [ ], representing XCSF’s knowledge base in form of classifiers .
A classifier contains a condition representing the parts of the problem space the classifier covers,
as well as various parameters. The original XCS described in [14] uses tenary conditions,
that is binary conditions extended with a do not care-operator #. Later implementations use
diferent variants of real-valued conditions (cf. [ 16], [15]. As our problem space consists of both
real-valued data (measurements) as well as binary data (triggers), the classifiers used in our
implementation consist of a real-valued part, as well as a tenary part. Each classifier  ∈ [ ]
is associated with a linear approximation ℎ () estimating the prediction of the classifier for a
given input . The weights of ℎ (· ) are regarded as parameters of the classifier. Furthermore, a
classifier contains a prediction error   , estimating the error in ℎ and a fitness value  . As the
functionality of the linear approximation is of subordinate relevance for this work, we refer
to [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] for a detailed description. Finally, each classifier is associated with a number of various
bookkeeping parameters, for example its experience, that is, the number of match sets a classifier
was part of.
        </p>
        <p>Upon each discrete timestep , XCSF is confronted with an input . XCSF’s [ ] is scanned
for classifiers matching . The hyperrectangular part of classifier matches if for each  ∈ ,
 &lt;  &lt;  with  beeing the lower boundary and  beeing the upper boundary, respectively.
The tenary part matches if  =  or  = # with # beeing the previously mentioned do not
care-operator.</p>
        <p>
          All classifiers matching  are added to the match set [ ]. If no matching classifiers could
be found, a covering mechanism is invoked. XCSF’s original covering mechanism creates a
matching condition by generating boundaries for each  in  with  =  − [0, 0) and
 =  + [0, ). Intuitively, [0, 0) returns a random number between 0 and the maximum
spread 0. The classifiers parameters (e.g. the weights of ℎ(),   ,  ) are set to predefined
values. For now, we do not replace the internal covering mechanism by an external covering as
suggested in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
        <p>
          The covered classifier is added to both [ ] as well as [ ]. Afterwards, ℎ () of each 
in [ ] is calculated. The results are averaged weighted with corresponding classifiers fitness
values and returned as XCSF’s prediction . Afterwards, XCSF needs to decide if a supervision
is necessary as explained in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]: If the average experience of all classifiers lies below a certain
predefined threshold   , the external supervision is called. The supervision provides the
correct prediction  which is used by XCSF to update the parameters of all classifiers in [ ].
        </p>
        <p>̂︀
As the update cycle is not relevant for the understanding of this work, we again refer to [14] for
a more detailed description.</p>
        <p>
          On some timesteps, XCSF invokes a genetic algorithm (GA) after executing the update
procedure. The GA selects two classifiers from [ ] and generates two ofspring classifiers. With a
certain probability, a crossover operator is applied to the boundaries of the ofspring’s
condition. Also, again with a certain probability, a mutatation operator is used on the boundaries.
Altogether with a subsumption procedure as well as a deletion scheme, the GA is responsible for
some evolutionary pressures that allow XCSF to evolve populations of accurate classifiers ([ 17]).
At this point, we refer to the corresponding literature ([14], [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]) for a more detailed explanation
of XCSF’s GA-related algorithmical structure.
        </p>
        <p>
          As another approach for reducing the number of supervision calls, [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] suggest a supervision
cache for XCSF. The idea of the supervision cache is to preserve knowledge for already supervised
parts of the problem space. Due to XCSF’s limitation of the population size, it is possible that
previously learned classifiers are removed from [ ]. The corresponding knowledge is lost, and
when XCSF is confronted with an input situated in the corresponding part of the problem space,
it needs to call on the supervision once again. Besides, it might happen that the GA produces
ofspring that demands supervision for parts of the problem spaces that was supervised before.
The supervision cache acts as some sort of proxy for caching all performed supervisions in
order to reduce supervision calls for already supervised situations. Each time the supervision
is used, the cache saves both the situation as well as the correct prediction returned from the
supervisor. The manhattan distance () is used to measure the similarity between an input 
and previously cached supervisions:
(, ′) = ∑︁ | − ′|
&lt;
(1)
with  being the current input situation and ′ the original situation for which the cache entry
was created. The cache then returns the nearest matching supervision ′ if (, ′) &lt;  ℎ
with  ℎ being a predefined similarity threshold in order to avoid using situations that
are too distant to the current input. It should be noted that the cache is only applied to the
real-valued part of the problem space. This is due to the fact that the manhattan distance is not
reasonably applicable to the binary part of the problem space and might skew the similarity
calculated for the real-valued part.
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Trigger Implementations</title>
        <p>As mentioned earlier, the idea of the triggers is to reflect already existing metrics of the
surrounding CM as well as to simplify potentially complex measurements. We identified and
implemented four triggers of diferent complexity within the scope of this work, which will be
explained in the following.</p>
        <p>
          The System-level utility trigger  is based on the violation of the acceptance space
boundary of the system  according to ([
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]):
(2)
(3)
() =
{︃1, if  &lt; Θ
        </p>
        <p>0, else</p>
        <p>Hereby,  is the current discrete timestep, Θ the acceptance space boundary and  the
utility of  at timestep .</p>
        <p>The Component-level utility trigger  is similar to . The functionality follows the
system level utility trigger so far. However, for this trigger, we assume that  is able to assess
each component ’s individual utility  as well as to provide an acceptance space boundary
Θ.</p>
        <p>(, ) =
{︃1, if  &lt; Θ</p>
        <p>0, else</p>
        <p>The applicability of the component-level utility trigger might depend on the underlying
SuOC: Not every scenario would feature component-wise utility measures.</p>
        <p>The external trigger  formalizes the idea of a user filing some sort of
maintenance/problem report after encountering errorous hardware in his environment: This could be, for example,
a blue-collar worker utilizing some sort of machinery during his shift. Again,  will not
necessarily be present in each conceivable scenario. Furthermore, we could suspect that the
external trigger may be associated with a certain degree of uncertainty: The reporting user
might just suspects a defect, while actually being not able to use the corresponding machinery
in a correct way.</p>
        <p>The anomaly-based trigger  is by far the most complex trigger. As mentioned before, we
suspect that a component afected by a breakdown would also feature diferent measurements
or metrics from its internal sensors. The idea of the anomaly-based trigger is to make use of a
suspected measurable diference between data gathered during normal component function and
data gathered during a breakdown. In order to do so, each time the supervision returns an  that
̂︀
indicates a breakdown, the first  percent of the corresponding component’s measurements
are added to a so-called normal data pool. Afterwards, all measurements in the normal data
pool are used to train a One-Class Support Vector Machine (SVM) ([18]). The idea of a One-Class
SVM is to learn a decision boundary around already known data. Future data points which
do not lie within these boundaries are considered to be outliers or anomalies. Therefore,  is
activated when the trained SVM considers an input as an outlier. We use the SGDOneClassSVM
Implementation from scikit-learn ([19]), as it allows to warm-start the SVM (therefore, to learn
in an iterative, online manner).</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Evaluation</title>
      <sec id="sec-5-1">
        <title>5.1. Evaluation Scenario</title>
        <p>
          The overall scenario is structured as follows. Our SuOC consists of 5 components in form of
identical production machines producing some identical parts (e.g. for later processing in another
area of the factory). The number of produced parts per time can be considered as the utility
of the overall system. Accordingly, if a machine fails, the overall utility of the system drops
below the acceptance threshold. Besides, we assume that the MLOC instance encapsulating
the SuOC is able to assess the individual utility measures of each machine (therefore, the
number of parts per time for each machine seperately). Furthermore, each machine delivers
various internal measurements that can be used to assess the machines state. Additionally,
no configuration changes (e.g. a changed system utility boundary due to a higher demand of
parts) or other disturbances except actual machine breakdowns will take place, resulting in a
quite simple evaluation scenario. We used the Azure AI Predictive Maintenance Dataset 1 for
simulating the data measurements from the individual machines. The CSV-files in the dataset
were preprocessed such that a single CSV-file exists for each machine (containing measurements
from installation until breakdown in chronologial order) in the dataset. Besides, incomplete
traces (that is, machines without breakdowns and machines that were repaired although no
breakdown happened) were removed. Furthermore, the error column was removed, therefore,
the only measurements available to XCSF are volt, rotate, pressure and vibration. This results in
a total of 672 machines. The 5 components of the SuOC are equipped with 5 uniformly chosen
machine CSV-files. If a component fails (that is: the CSV reaches its last row), it is replaced by
another CSV. In an iterative manner, XCSF is confronted with the measurements for a machine
as well as the corresponding calculated metrics. Furthermore, we assume that our supervision
does not make mistakes, that is: If XCSF asks for supervision, the received ground truth is
calculated based on the current system state. We evalute three diferent scenarios: 1) A naive
XCSF without the limited supervision improvements, using only the Azure AI-measurements
as a data basis (XCSF-M), 2) A limited XCSF with Caching using only the measurements
(XCSFC-M) and 3) A limited XCSF with Caching using the measurements as well as the trigger data
(XCSF-C-MT). We conducted 30 repetitions with diferent fixed random seeds for each scenario.
The parametrisation of the XCSF itself as well as the limited supervision mostly follows [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]:
1https://www.kaggle.com/datasets/arnabbiswas1
/microsoft-azure-predictive-maintenance
 = 800,  = 0.1,  = 0.1,  = 5,  GA = 48,  = 0.8,  = 0.04,  del = 50,  = 0.1,
 sub = 200,  = 1.0,   = 0.0,  = 0.01, 0 = 0.1,  = 0.2,  0 = 1  = 0.33,
 = 0.25,   = 3,  ℎ = 0.2
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2. Results</title>
        <p>The average system error as well as the supervision calls (for XCSF-C-M and XCSF-C-MT) are
tested on significance. The shapiro-wilk-test was used in order to assess if we can suspect the
data to be normal distributed. If so, a paired t-test was used for comparison, otherwise, a
twosided Wilcoxon rank-sum test was used. For all tests, an alpha-level of 0.05 was used. XCSF-M
performed significantly better than both XCSF-C-M (Wilcoxon rank-sum test, p-value: 0.99)
as well as XCSF-C-MT (Wilcoxon rank-sum test, p-value: 0.99). Also, XCSF-C-M performed
significantly better dann XCSF-C-MT (Wilcoxon rank-sum test, p-value: 0.99). XCSF-C-M
needed significantly more supervision calls (Wilcoxon rank-sum test, p-value: 0.99). The
average system error as well as the needed supervision calls, both averaged over 30 runs are
shown in Table 1. Figure 1 shows the average system error for all experiments over the course
of the evaluation.</p>
        <sec id="sec-5-2-1">
          <title>XCSF-M XCSF-C-M XCSF-C-MT</title>
        </sec>
        <sec id="sec-5-2-2">
          <title>System Error</title>
          <p>0.023 ± 0.002
0.070 ± 0.018
0.108 ± 0.023</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Discussion</title>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusion &amp; Future Work</title>
      <p>In this work, we proposed a novel approach on how systems from the broader domain of
intelligent systems can identify hardware-related disturbances in their system context. We introduced
several triggers derived from measurements and existing system metrics and integrated them
in a XCSF-variant that is able to learn under limited supervision. We evaluated our approach
using a simple proof of concept. The results indicate that further research is necessary in order
to evaluate if the proposed methodology is applicable in more complex scenarios.</p>
      <p>We currently see three interesting aspects for further research. First of all, a broader
evaluation with diferent application scenarios appears useful. Based on the evaluation provided in
this work, a quite obvious application scenario would be a more sophisticated smart factory
environment, involving diferent kinds of production machinery. In such settings, the metrics
used for calculating the triggers might difer, depending on the influence various machines
might have on each other. Thereby, the corresponding XCSF-instance additionally needs to learn
how the overall system context influences the trigger decisions in order to assess if a trigger
can be used as a reliable source for properly identifying a component’s physical state. Besides,
any application scenario that involves intelligent systems consisting of sensors and actuators
appears feasible. Exemplary scenarios involving more simple components than production
machinery are sensor networks ([12]) as well as smart home/environment appliances ([20]).
The actual behaviour of disturbances (e.g. sudden breakdown in contrast to slowly degrading
components) can difer depending on the application scenario or the type of component. The
triggers and measurements used right now only focus on a component’s current state. However,
it is conceivable to introduce a few more triggers that can be used to identify several disturbance
characteristics in order to enlarge the potentially usable data presented to XCSF.</p>
      <p>Another notable idea would be an investigation on how both the measurements as well as the
triggers afect the performance of the individual learners. Depending on the scenario, there could
be triggers that are not necessary for identifying failures. Intuitively, one would suspect that
XCSF would evolve classifiers that feature a do not care-operator for the corresponding trigger.
Finally, it must be investigated how various data-related aspects can influence the applicability
of the whole approach. It is conceivable that more realistic application scenarios may feature
more durable components compared to the evaluation provided in this work, resulting in an
even more imbalanced dataset, which might afect XCSF’s disturbance identification capabilities.
A brief discussion on imbalanced data in XCS-research can be found in [21]. Also, an application
scenario might feature some sort of concept drift or shift ([22]), e.g. through a slightly changed
hardware configuration. Due to the limitation of supervision received by XCSF, it is conceivable
that such a drift will afect the prediction quality without noticing, as (at least after building
a stable classifier population) no ground truth is received anymore. A simple approach to
compensate this aspect would be to introduce some sort of durability parameter for classifiers:
From time to time, XCSF could call for supervision for classifiers with a specific age in order to
validate if their prediction is still correct.
[10] J. Schmitt, M. Roth, R. Kiefhaber, F. Kluge, T. Ungerer, Using an automated planner to control an organic
middleware, in: 2011 IEEE Fifth International Conference on Self-Adaptive and Self-Organizing Systems, IEEE,
2011, pp. 71–78.
[11] E. Maehle, W. Brockmann, K.-E. Grosspietsch, A. El Sayed Auf, B. Jakimovski, S. Krannich, M. Litza, R. Maas,
A. Al-Homsy, Application of the organic robot control architecture orca to the six-legged walking robot oscar,
in: Organic Computing—A Paradigm Shift for Complex Systems, Springer, 2011, pp. 517–530.
[12] M. Jänicke, B. Sick, P. Lukowicz, D. Bannach, Self-adapting multi-sensor systems: A concept for
selfimprovement and self-healing techniques, in: 2014 IEEE Eighth International Conference on Self-Adaptive and
Self-Organizing Systems Workshops, IEEE, 2014, pp. 128–136.
[13] T. P. Carvalho, F. A. Soares, R. Vita, R. d. P. Francisco, J. P. Basto, S. G. Alcalá, A systematic literature review
of machine learning methods applied to predictive maintenance, Computers &amp; Industrial Engineering 137
(2019). URL: https://www.sciencedirect.com/science/article/pii/S0360835219304838. doi:https://doi.org/
10.1016/j.cie.2019.106024.
[14] M. V. Butz, S. W. Wilson, An algorithmic description of XCS, Soft Computing 6 (2002) 144–153.
[15] H. H. Dam, H. A. Abbass, C. Lokan, Be real! XCS with continuous-valued inputs, in: Proceedings of the
7th Annual Workshop on Genetic and Evolutionary Computation, GECCO ’05, Association for Computing
Machinery, New York, NY, USA, 2005, p. 85–87. URL: https://doi.org/10.1145/1102256.1102274. doi:10.1145/
1102256.1102274.
[16] S. W. Wilson, Get real! XCS with continuous-valued inputs, in: International Workshop on Learning Classifier</p>
      <p>Systems, Springer, 1999, pp. 209–219.
[17] M. Butz, T. Kovacs, P. Lanzi, S. Wilson, Toward a theory of generalization and learning in XCS, IEEE</p>
      <p>Transactions on Evolutionary Computation 8 (2004) 28–46. doi:10.1109/TEVC.2003.818194.
[18] B. Schölkopf, J. C. Platt, J. Shawe-Taylor, A. J. Smola, R. C. Williamson, Estimating the support of a
highdimensional distribution, Neural computation 13 (2001) 1443–1471.
[19] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss,
V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, E. Duchesnay, Scikit-learn:
Machine learning in Python, Journal of Machine Learning Research 12 (2011) 2825–2830.
[20] F. Allerding, H. Schmeck, Organic smart home: Architecture for energy management in intelligent buildings,
in: Proceedings of the 2011 Workshop on Organic Computing, OC ’11, Association for Computing Machinery,
New York, NY, USA, 2011, p. 67–76. URL: https://doi.org/10.1145/1998642.1998654. doi:10.1145/1998642.
1998654.
[21] M. Nakata, W. Browne, T. Hamagami, K. Takadama, Theoretical XCS parameter settings of learning accurate
classifiers, in: Proceedings of the Genetic and Evolutionary Computation Conference, GECCO ’17, 2017, pp.
473–480.
[22] S. Wang, S. Schlobach, M. Klein, What is concept drift and how to measure it?, in: International Conference on
Knowledge Engineering and Knowledge Management, Springer, 2010, pp. 241–256.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C.</given-names>
            <surname>Müller-Schloer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tomforde</surname>
          </string-name>
          ,
          <source>Organic Computing-Technical Systems for Survival in the Real World</source>
          , Springer,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Kephart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chess</surname>
          </string-name>
          ,
          <article-title>The vision of autonomic computing</article-title>
          ,
          <source>Computer</source>
          <volume>36</volume>
          (
          <year>2003</year>
          )
          <fpage>41</fpage>
          -
          <lpage>50</lpage>
          . doi:
          <volume>10</volume>
          .1109/
          <string-name>
            <surname>MC</surname>
          </string-name>
          .
          <year>2003</year>
          .
          <volume>1160055</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Stein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tomforde</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Botev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. R.</given-names>
            <surname>Lewis</surname>
          </string-name>
          ,
          <article-title>Lifelike computing systems</article-title>
          ,
          <source>in: Proceedings of the Lifelike Computing Systems Workshop (LIFELIKE)</source>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Görlich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Stein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hähner</surname>
          </string-name>
          ,
          <article-title>Towards physical disturbance robustness in organic computing systems using MOMDPs</article-title>
          ,
          <source>in: 2019 Intelligent Systems Workshop in Workshop Proceedings of the 32nd International Conference on Architecture of Computing Systems, ARCS</source>
          <year>2019</year>
          , VDE,
          <year>2019</year>
          , pp.
          <fpage>135</fpage>
          -
          <lpage>142</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Orriols-Puig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Bernadó-Mansilla</surname>
          </string-name>
          ,
          <article-title>A further look at UCS classifier system</article-title>
          ,
          <source>in: Proceedings of the Genetic and Evolutionary Computation Conference, GECCO '06</source>
          ,
          <year>2006</year>
          , pp.
          <fpage>8</fpage>
          -
          <lpage>12</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>L.-D.</given-names>
            <surname>Shi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.-H.</given-names>
            <surname>Shi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Gao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Shang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.-B.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <article-title>XCSc: A novel approach to clustering with extended classifier system</article-title>
          ,
          <source>International Journal of Neural Systems</source>
          <volume>21</volume>
          (
          <year>2011</year>
          )
          <fpage>79</fpage>
          -
          <lpage>93</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S. W.</given-names>
            <surname>Wilson</surname>
          </string-name>
          ,
          <article-title>Classifiers that approximate functions</article-title>
          ,
          <source>Natural Computing</source>
          <volume>1</volume>
          (
          <year>2002</year>
          )
          <fpage>211</fpage>
          -
          <lpage>234</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Görlich-Bucher</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Hähner,</surname>
          </string-name>
          <article-title>XCSF under limited supervision</article-title>
          ,
          <source>in: Proceedings of the 2022 Genetic and Evolutionary Computation Conference Companion, GECCO '22</source>
          ,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Tomforde</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kantert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Müller-Schloer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bödelt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Sick</surname>
          </string-name>
          ,
          <article-title>Comparing the efects of disturbances in self-adaptive systems-a generalised approach for the quantification of robustness</article-title>
          ,
          <source>in: Transactions on Computational Collective Intelligence XXVIII</source>
          , Springer,
          <year>2018</year>
          , pp.
          <fpage>193</fpage>
          -
          <lpage>220</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>