<!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>Reactive Bayesian Network Computation using Feedback Control: An Empirical Study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ole J. Mengshoel</string-name>
          <email>ole.mengshoel@sv.cmu.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Abe Ishihara</string-name>
          <email>abe.ishihara@sv.cmu.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Erik Reed</string-name>
          <email>erik.reed@sv.cmu.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Carnegie Mellon University Mo¤ett Field</institution>
          ,
          <addr-line>CA 94035</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper investigates the challenge of integrating intelligent systems into varying computational platforms and application mixes while providing reactive (or soft real-time) response. We integrate Bayesian network computation with feedback control, thereby achieving our reactive objective. As a case study we investigate fault diagnosis using Bayesian networks. While we consider the likelihood weighting and junction tree propagation Bayesian network inference algorithms in some detail, we hypothesize that the techniques developed can be broadly applied to achieve reactive intelligent systems. In this papers empirical study we demonstrate reactive fault diagnosis for an electrical power system.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Substantial progress has been made over the last few
decades in the areas of learning and reasoning using
Bayesian networks (BNs) [
        <xref ref-type="bibr" rid="ref20">29</xref>
        ]. While most BN
inference problems are computationally hard (NP-hard
or worse) in the general case [6, 33, 28], e¢ cient
algorithms have been developed and demonstrated in
a wide range of automated reasoning applications
including model-based diagnosis [
        <xref ref-type="bibr" rid="ref16 ref22 ref23">19, 24, 32, 31</xref>
        ].
There has recently been an explosion in the number
and types of computers available, capable of running
implementations of sophisticated algorithms including
BN-based algorithms. This is a result of the
advancements in both hardware and software platforms now
powering computers, which range from smart phones
and tablet PCs to high-end gaming machines and
highperformance computing (HPC) clusters.
      </p>
      <p>
        The proliferation of computers of highly varying
capability provides new opportunities for AI systems and
also raises several interesting research questions [
        <xref ref-type="bibr" rid="ref15">21</xref>
        ].
Can BN-based algorithms be implemented, adapted,
or wrappedsuch that they reactively (or in soft
realtime) compute meaningful results across a myriad of
commercially available computers? Can algorithms be
optimized such that users may generally continue to
operate their computers normally while also running
AI systemsthat is, continue to check email, chat, and
partake in social networking?
To start answering these questions, this paper
develops an architecture that integrates Bayesian network
computation and feedback control. The architecture
contains two feedback loops, a lower-level inner loop
and a higher-level outer loop. What drives the inner
loop is the di¤erence between desired completion time
(or setpoint, set to achieve reactivity) and actual
completion time. The goal of the outer loop is to trade o¤
between higher-level issues such as speed of inference,
resource allocation, and accuracy.
      </p>
      <p>
        While the architecture is general, we have for
validation purposes used experimental data from an
electrical power network located at the NASA Ames
Research Center [
        <xref ref-type="bibr" rid="ref21">30</xref>
        ]. We demonstrate our novel
approach in the area of fault diagnosis for this
electrical power system, and investigate the BN inference
algorithms of likelihood weighting [34], variable
elimination [
        <xref ref-type="bibr" rid="ref13">20, 9</xref>
        ], junction tree propagation [
        <xref ref-type="bibr" rid="ref12 ref24">18, 35</xref>
        ],
and belief propagation [
        <xref ref-type="bibr" rid="ref18 ref20">29, 26</xref>
        ]. Results for ve
di¤erent computers and three di¤erent operating systems
are demonstrated. We show system identication
results for both junction tree propagation and likelihood
weighting, and demonstrate outer loop control by
successfully changing the setpoint and BN inference
algorithm employed.
      </p>
      <p>
        By integrating control theoretic techniques and
uncertainty processing using BNs, this research aims
to: improve the reactivity and adaptability of
uncertainty processing in di¤erent applications; improve the
timeliness of computation under dynamic workloads
on varying computational platforms (smart phones,
GPUs, multi-core CPUs, Hadoop clusters, ...); and
reduce the e¤ort and cost associated with developing and
deploying BN-based software applications. Our goals
are similar to those of anytime algorithms [
        <xref ref-type="bibr" rid="ref3">8, 37, 3</xref>
        ],
which provide a way to trade o¤ between computation
time and solution quality. However, our feedback
approach is more general in that it handles both anytime
and non-anytime algorithms. In fact, we show
experimentally how our approach enables us to gracefully
switch, on-line, from a non-anytime algorithm (e.g.,
junction tree propagation) to an anytime algorithm
(e.g., likelihood weighting) while achieving real-time
response.
      </p>
      <p>
        We are investigating control theory as it applies to
software and our actuators are computational actuators
rather than control surfaces on an aircraft or wheels
on a robotic vehicle. For example, our actuators may
change the number of processes being handled by a
computer or the input parameters to C or Java
programs that implement algorithms for BN computation.
In contrast, the great majority of previous control
theory research has, with several notable exceptions in
computing and software [
        <xref ref-type="bibr" rid="ref2 ref8">12, 2</xref>
        ], focused on physical
systems governed by Newtonian mechanics. In
particular, we know of no similar work in the area of BN
computation, including computation for diagnosis or
prognosis, where control theory is applied.
      </p>
      <p>The approach developed in this paper applies in
situations where the computational load on a
computer running AI (here, BN) applications is a key
concern and where, simultaneously, we can
prioritize and control the computational processes.
Specically, we partition computational processes into
highcriticality, medium-criticality, and low-criticality ; the
high-critical processes are reactive. Our experiments
are in the area of electrical power system diagnosis.
However, the techniques are more widely applicable
and we now outline a few areas where this approach
may prove powerful. Examples of high-criticality tasks
in which Bayesian networks (and similar
probabilistic graphical models) can be used and for which one
might want to provide a reactive response include
medical monitoring, sensor fusion, speech recognition on
a smartphone, gesture recognition, and video
recognition. Examples of low-criticality tasks, which would be
down-prioritized, suspended or killed by our approach
(depending on circumstances) include virus scanning,
backups, disk defragmentation, software updates, and
volunteer computing (such as Seti@Home and
Folding@Home).</p>
      <p>What these applications have in common is that
reactivity is important for some computational processes.
However, reactivity is not important enough to
warrant the use of a hard real-time operating system,
which is often used in aerospace and other
applications where safety is paramount. Our approach is
tailored to soft real-time settings where low-criticality
tasks can, if needed, be down-prioritized, suspended
or terminated in order to provide reactive response for
high-criticality tasks.</p>
      <p>The rest of this paper is organized as follows. In
Section 2 we provide background on Bayesian
network computation, feedback control, and anytime
algorithms. Section 3 discusses our architecture
integrating feedback control and BN inference algorithms.
In Section 4 we present the experimental setting and
electrical power system data, while Section 5 discusses
empirical results. We conclude and outline future
research in Section 6.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>PRELIMINARIES</title>
      <sec id="sec-2-1">
        <title>BAYESIAN NETWORK INFERENCE</title>
        <p>
          BNs represent multivariate probability distributions
and are used for reasoning and learning under
uncertainty [
          <xref ref-type="bibr" rid="ref20">29</xref>
          ]. Probability theory and graph theory form
the basis of BNs: Roughly speaking, random
variables are represented as nodes in a directed acyclic
graph (DAG), while conditional dependencies are
represented as graph edges. Each node is parameterized
by a conditional probability density or distribution. A
BN is a compact representation of a joint probability
distribution if its graph is relatively sparse.
Formally, we let X be the BN nodes, E X the
evidence nodes, and e the evidence. While the nodes
X can represent either discrete and continuous
random variables, we focus in this paper on the discrete
case in which a node X 2 X has a nite number of
states (X) = fx1; : : : xmg. A BN factorizes a joint
distribution Pr(X), and allows for di¤erent
probabilistic queries to be formulated and supported by e¢
cient algorithms; they all assume that nodes in E are
clamped to values e. Considering the remaining nodes
R = X E, the probabilistic queries are with respect
to the posterior distribution P (R j e). Specically,
computation of most probable explanations (MPEs)
amounts to nding an MPE over R, or MPE(e).
Computation of marginals (or beliefs) amounts to inferring
for one or more query nodes Q R, where Q 2 Q,
the posterior probabilities Pr(Q j e) which we denote
BEL(Q; e). In diagnosis using BNs [
          <xref ref-type="bibr" rid="ref16 ref22 ref23">19, 24, 32, 31</xref>
          ], the
terminology health nodes H, where Q = H, is often
used. By picking, for each Q 2 Q, a most likely state
q 2 (Q), we obtain the most likely states MLS(Q; e)
from BEL(Q; e). Computation of the maximum a
posteriori probability (MAP) generalizes MPE
computation and nds a most probable instantiation over nodes
Q R, MAP(Q; e). MAP can be approximated using
MPE and MLS; these two approximations are of
interest because of the greater computational complexity of
MAP [28] compared to MPE and BEL [6].
        </p>
        <p>
          Di¤erent BN inference algorithms can be used to
perform the above BEL, MPE, and MAP computations.
We distinguish between exact and inexact algorithms.
Exact algorithms for BEL and MPE computation
include belief propagation in singly connected BNs
[
          <xref ref-type="bibr" rid="ref20">29</xref>
          ], junction tree propagation [
          <xref ref-type="bibr" rid="ref12 ref24">18, 35</xref>
          ], conditioning
[
          <xref ref-type="bibr" rid="ref20">29, 14</xref>
          ], variable elimination [
          <xref ref-type="bibr" rid="ref13">20, 9</xref>
          ], and arithmetic
circuit evaluation [
          <xref ref-type="bibr" rid="ref5">7, 4</xref>
          ]. Inexact algorithms such as loopy
belief propagation1 [
          <xref ref-type="bibr" rid="ref18 ref20">29, 26</xref>
          ] and likelihood weighting
[34] have been used to compute marginals; they have
also been used to compute MPEs [
          <xref ref-type="bibr" rid="ref17">16, 25</xref>
          ] and MAPs
[28]. In this paper we focus on computation of
marginals; however the framework also applies to other
queries including MPE and MAP.
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>ANYTIME REASONING</title>
        <p>
          An anytime algorithm improves its solutions
according to the computational resource allocated to it, and
returns an (approximate) answer if interrupted [8].
Fundamentally, this iterative improvement algorithm
framework provides a way to trade o¤ between
computation time and solution quality. Anytime algorithms
are a useful tool for real-time system design, and there
are also results on the composition of anytime
algorithms [37]. Originally, the anytime approach was
developed for single agents, recently it was extended
to handle multiple agents [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>
          Among BN inference algorithms, stochastic local
search [
          <xref ref-type="bibr" rid="ref17">16, 28, 22, 25</xref>
          ], likelihood weighting [34], loopy
belief propagation [
          <xref ref-type="bibr" rid="ref18 ref20">29, 26</xref>
          ], and conditioning [
          <xref ref-type="bibr" rid="ref20">29, 14</xref>
          ]
can be considered anytime algorithms. However,
many important and high-performing algorithms
including junction tree propagation [
          <xref ref-type="bibr" rid="ref12 ref24">18, 35</xref>
          ], variable
elimination [
          <xref ref-type="bibr" rid="ref13">20, 9</xref>
          ], and arithmetic circuit evaluation
[
          <xref ref-type="bibr" rid="ref5">7, 4</xref>
          ] are unfortunately not anytime algorithms.
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>FEEDBACK CONTROL</title>
        <p>
          Feedback control involves the manipulation of a
system in which data, either measured or estimated, is
transformed and utilized to modify the behavior of the
system. This behavior is typically dened in terms of
metrics such as stability, boundedness, response time,
or over-shoot. Improving such metrics by means of
feedback control is typically motivated by the desire
1 Pearls main emphasis was originally on exact
propagation in singly connected BNs, however he also mentioned
inexact propagation in arbitrary BNs [29, Exercise 4.7],
to achieve some higher level objective such as
ensuring a comfortable ride on a passenger transport jet, an
average production rate on a robotic assembly line, or
a maximal duration of a credit card transaction.
Recently, control theory has been applied to
computing systems including control of HTTP servers [
          <xref ref-type="bibr" rid="ref14">11</xref>
          ],
email servers [
          <xref ref-type="bibr" rid="ref19">27</xref>
          ], quality of service assurance [
          <xref ref-type="bibr" rid="ref25">36</xref>
          ],
internet tra¢ c control [
          <xref ref-type="bibr" rid="ref9">13</xref>
          ], and load balancing.
Typically, computing systems are di¤erent from traditional
feedback control applications in robotics and aircraft.
First, modeling of the plant does not typically start
from Newtonian mechanics; rather it often begins with
a black box approach. Second, actuation can in some
cases be almost instantaneous, such as ipping a bit, or
writing a short integer to memory, i.e. specifying the
maximum number of connections to a server. Third,
measurements are often non-noisy but delayed. In
analog sensing, ltering is used to remove noise, and at the
same time can introduce signicant (and unwanted)
phase lag. However, in computing systems, a more
di¢ cult delay appears at the measurement. In
applications such as control of an email server, the
(discrete) delay is associated with the completion of a
Remote Procedure Call (RPC). This delay is usually not
known. Finally, disturbances can signicantly impact
performance. Take the example of the IBM Domino
server [
          <xref ref-type="bibr" rid="ref8">12</xref>
          ]: Certain combinations of requests, made
independently by di¤erent users impact CPU
utilization in a nonlinear manner; this can be regarded as
a stochastic disturbance. These disturbances, which
may depend on time of day and day of week, can have
a signicant impact.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>CONTROLLING BAYESIAN</title>
    </sec>
    <sec id="sec-4">
      <title>NETWORK COMPUTATION</title>
      <p>Our goal is to support the application of both
nonanytime and anytime BN inference algorithms in
reactive settings by introducing techniques from
feedback control. A key concept in feedback control is
the plant. Here, the plant to be controlled is a
dynamic system operating in the discrete time domain.
This denition encompasses computers including
mobile phones, tablets, laptops, desktops, and multi-core
systems. In this paper, the plant is a digital computer
performing a high-criticality (or reactive) process. The
reactive process runs, in our case, a BN used for
diagnosis. We also assume that on this computer,
lowand medium-criticality (or background ) processes are
running and are competing for CPU cycles, memory,
and other computer resources. The impact that these
background processes have on the reactive process and
its ultimate outcome (detection of a failure event)
depends on a number of parameters such as operating
system, RAM, processor type and clock-speed, CPU
cache, etc. Since hardware and software vary
immensely, this represents a source of signicant
uncertainty and presents challenges for both modeling and
control.</p>
      <p>
        We introduce the control system framework illustrated
in Figure 1. The framework supports both anytime
(and inexact) as well as non-anytime (and typically
exact) algorithms, and distinguishes between inner and
outer control loops because their objectives di¤er.
Inner Loop: The goal of the inner loop, which is
traditional to feedback control, is to make careful
adjustments according to the parameters set by the outer
loop. These are key parameters in our integrated
approach: r(k) is desired completion time (or Setpoint )
for sample time k. We would like the computational
process to nish within this time. y(k) is the actual
completion time (or just Actual ) for sample time k.
e(k) = r(k) - y(k) is the error signal at time k; u(k)
is the maximal number of low-criticality processes (or
Max Processes). u(k), also known as the control law,
is taken to be a proportional-derivative controller [
        <xref ref-type="bibr" rid="ref8">12</xref>
        ].
We partition computational processes into
highcriticality (and having an r(k) value associated with
them), medium-criticality, and low-criticality (subject
to actuation by control system). High-criticality
processes are reactive and essential.
Mediumcriticality processes are non-reactive but essential.
Low-criticality processes are non-reactive and
nonessential. The actual (or measured) number of
lowcriticality processes (or Actual Processes) at sample
time k is denoted v(k).
      </p>
      <p>Our approach uses simple black-box prediction
techniques, as detailed below. It is the combination of this
black-box approach with the use of a desired
computation time (setpoint r(k) in Figure 1) and an actual
computation time (output y(k) in Figure 1) that makes
it work. The actual computation time is just a
measurement of how long a BN computation took. The
desired computation time depends on the frequency of
our reactive process and other factors. For example, a
frequency of 10 Hz means that the desired
computation time is upper-bounded by 100 milliseconds.
Outer Loop: The goal of the outer loop is to jointly
optimize speed of inference, resource allocation,
accuracy, and other factors. Unlike inexact anytime
algorithms, which have a similar objective, our approach
can use exact algorithms. If, for example, the exact
junction tree propagation and variable elimination
algorithms are employed, reduced accuracy is not an
issue. However, accuracy is in general important, and
accuracy versus computation time trade-o¤s are
performed in the outer loop of the framework. For inexact
particle-based algorithms such as likelihood weighting
and particle ltering, p(k) the number of particles
is an example of such a parameter. One would like to
use a very large number of particles for simulation,
since this improves the accuracy of the estimate of
the posterior P (H(k) j e(k)), however this may take
too much time and one needs to carefully restrict the
number of particles. In most experimental results with
likelihood weighting reported in this paper, we assume
that p(k) = p and r(k) = r are xed (or stationary).2
4</p>
    </sec>
    <sec id="sec-5">
      <title>METHODS AND DATA</title>
      <p>
        System health management, which may utilize
Bayesian network, can integrate information from
heterogenous sensors and perform computation for the
purpose of fault diagnosis, prognosis, and mitigation
[
        <xref ref-type="bibr" rid="ref22 ref23 ref4">19, 32, 31, 5</xref>
        ]. Electrical power system fault
diagnosis using Bayesian networks is the main focus of the
experiments in this paper.
      </p>
      <sec id="sec-5-1">
        <title>Data and Bayesian Network: We used experimen</title>
        <p>
          tal data from a real-world electrical power network,
known as ADAPT, located at the NASA Ames
Re2 However, in Section 5.3 (see Figure 6) we discuss how
and why r(k) can be changed over time.
Win7
Win7
Win7
Win7
Suse11
Suse11
Ubu9
Ubu9
Ubu11
Ubu11
search Center [
          <xref ref-type="bibr" rid="ref21">30</xref>
          ]. ADAPT contains capabilities for
power generation, power distribution, and loads
representative for what can be found in aerospace
vehicles. For the purpose of this paper we focus on a small
part of ADAPT containing the following components:
EY183 (relay), DC482 (DC load), E181 (voltage
sensor), IT181 (current sensor), and ESH183 (relay
feedback sensor). Scenarios are taken from Tier 2 of the
DX 2009 competition data set.3 These scenarios
consist of nominal runs, with no faults in ADAPT, as well
as runs involving one or more faults in components
or sensors, diagnosed using BNTs implementation4
of likelihood weighting (LW) [34], variable elimination
(VE) [
          <xref ref-type="bibr" rid="ref13">20, 9</xref>
          ], junction tree propagation (JTP) [
          <xref ref-type="bibr" rid="ref12 ref24">18, 35</xref>
          ],
loopy belief propagation (LBP) [
          <xref ref-type="bibr" rid="ref18">26</xref>
          ], and Pearls belief
propagation (PBP) [
          <xref ref-type="bibr" rid="ref20">29</xref>
          ].5 It has previously been
established that BNs perform very well in this domain,
with the BN-based ProDiagnose system [
          <xref ref-type="bibr" rid="ref22 ref23">32, 31</xref>
          ] having
the best performance in 3 of 4 of the DX international
diagnostic challenges in 2009 and 2010.6
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>Computational Platforms: Five di¤erent comput</title>
        <p>ers, representing a broad spectrum of computing
capability, were used. The Laptop computer is a 2.40GHz
Intel i5 M520 with 4 cores, 8 GB of RAM, and 3 MB
cache memory. The Desktop computer is a 3.20GHz
AMD Phenom II X6 1090T with 6 cores, 8 GB of
RAM, and 3 MB cache memory. The High End
computer is a 2.00GHz Intel Xeon X7550 with 64 cores, 126
GB of RAM, and 18 MB cache memory. The Server
computer is a 2.50GHz Intel Core 2 Quad Q8300 with
4 cores, 8GB GB of RAM, and 2 MB cache
memory. The Old Server computer is a 2.80GHz Intel Xeon
with 4 cores, 4 GB of RAM, and 1 MB cache
memory. Broadly speaking, the High End computer is most
3 http://www.dx-competition.org/
4 http://code.google.com/p/bnt/
5 The specic BNT functions we use are
pearl_inf_engine (PBP), belprop_inf_engine (LBP),
likelihood_weighting_inf_engine (LW), jtree_inf_engine
(JT), and var_elim_inf_engine (VE).</p>
        <p>6 http://www.dx-competition.org/
powerful, due to its many cores and large memories,
while the Old Server is least powerful due to its
comparatively small memories. As reected in Table 1,
the operating systems Windows 7 (Win7) and several
Linux variantsUbuntu (Ubu9 and Ubu11) and Suse
(Suse11) were employed in experiments.</p>
        <p>Disturbance Generation: In the following, we
model for simplicity low-criticality process
disturbances to a computer (including user disturbances) as
a Poisson process with rate . In the experiments, the
low-criticality OS processes are CPU-intensive and
execute mathematical operations in a tight loop; there
is no I/O. This introduces a stochastic delay in the
actuation of the plant: even if the control input u(k)
increases at the next time step, u(k + 1) &gt; u(k), the
probability of the number of processes actually
increasing is low. The Poisson disturbance term is regarded
as unmodeled dynamics and is not explicitly
compensated for in the error term of the ARX model (1). It is
of interest to model this phenomenon by a stochastic
delay in the control input to the plant.</p>
        <p>Note that our approach handles situations in which
the resource consumption of low-criticality processes
varies dramatically. For example, there can be many
low-criticality processes (executing in parallel) that are
mostly idle. On the other hand, even a few
resourcehungry low-criticality processes could be too much to
handle. If many mostly idle processes are present,
our controller automatically sets the Max number of
processes parameter u(k) higher than if there are a
few resource-hungry low-criticality processes. See
Figure 6 and Figure 5 for how u(k) is varied by our
controller, due to the varying computational load of
lowcriticality and Bayesian network processes. The
controller maps, see Figure 1, from a setpoint r(k)
(Computation time) to a control signal u(k) (Max number
of processes), and so is able to handle the varying
resource use of di¤erent processes.
5</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>EMPIRICAL RESULTS</title>
      <p>In this section we present experimental results on
ADAPT data for our reactive approach, as enabled
by feedback control and summarized in Figure 1.
5.1</p>
      <sec id="sec-6-1">
        <title>COMPUTATION AS A PLANT</title>
        <p>Control Input: The input to the plant (i.e., the
computer in Figure 1), which ultimately is computed
by a control algorithm, is denoted by u(k). This
input determines the number of low-criticality processes
that are allowed to run at any given sample time.
Denote the actual number of low-criticality processes by
v(k) where k denotes a sampling index. In the
exam(a) Junction tree propagation (JTP)
(b) Likelihood weighting (LW)
ples that are used in this paper, if v(k) u(k), then
processes are terminated until v(k) &lt; u(k).7 The
termination process is nearly instantaneous with respect
to the sampling period.</p>
        <p>Plant Modeling: There are several approaches to the
modeling of computation for control applications. The
approach taken here is termed linear Auto-Regressive
modeling with eXogenous input (linear ARX).
Nonlinear approaches, such as discrete time neural networks,
may also be used. Nonlinear modeling is more complex
yet may be able to capture inherent nonlinear
behavior otherwise unaccounted for in ARX modeling. On
the other hand, linear modeling is generally simpler to
understand and implement.8
Suppose the plant is described by an ARX model with
an additive noise term. Denote P (i), y(i)(k), u(k), and
(k), the plant operator, scalar output, input, and
noise at sample time k, respectively. The integer i
denotes a specic plant or device, such as a particular
laptop or desktop. In general, we will assume that we
have a nite class of plants P (i) for i 2 [1; M ].
In general, the relationship between these quantities is
given by:
y(i)(k) = P (i)u(k) =</p>
        <p>T (k
d) (i) + (k)
(1)
where T (k d) denotes the regression vector and
consists of a tapped delay line of input and output
measurements, and (i) denotes a vector of real-valued
parameters corresponding to the ith plant. A number of
7 Currently, we randomly terminate one of the
lowcriticality OS processes. Additional information, such as
process priority, can easily be used to guide termination.</p>
        <p>
          8 The ARX model was chosen for several reasons; most
importantly it gave solid system identication
performance. Allowing the plant model itself to be a probabilistic
graphical model would be interesting, and stochastic
approaches (based on stochastic di¤erential equations) have
been developed in control theory [
          <xref ref-type="bibr" rid="ref10 ref6">10, 15</xref>
          ]. In light of its
performance, we believe that the standard ARX approach
is well-justied and leave stochastic control to future work.
methods exist to estimate (i) in both batch and
online modes. Similar ARX models have been used in
modeling a number of digital processes [
          <xref ref-type="bibr" rid="ref8">12</xref>
          ].
Open-loop Modeling and Generalization:
Figure 2 shows the result of open-loop system
identication, specically the performance of a model where the
parameters were estimated using least-squares
(batchmode). This gure compares, for varying sample time
k, the Actual computation time y(k) (see Figure 1)
with our models predicted computation time ym(k)
(or just Model ). For both JTP and LW, the rate of
Poisson process creation is 45 seconds for LW and the
sampling rate is 51 Hz. Figure 2(a) depicts the
performance for JTP, while Figure 2(b) shows LW. Overall,
the t between the model and actual behavior is quite
good in both cases, perhaps slightly less so for JTP.
The following may be the explanation why the JTP
graph is more blocky and less of a t than the LW
graph: JTP is signicantly faster than LW, thus JTP
is more sensitive to the other computational processes.
Further details on how open-loop system identication
is performed and generalizes are provided in Figure 3.9
Here, for (1) we simplied y(i)(k) to y(k) and used a
rst order discrete time model
y(k) = c1y(k
1) + c2u(k
1) + c3
(2)
to model a specic plants input output behavior.
Input signals used to generate the training and testing
data are shown in Figure 3(a), and consist of
pseudorandom u(k) square waves. Figure 3(b) shows the
result of open-loop system identication for two
di¤erent computers. Figure 3(b) shows the performance of
the model where the parameters were estimated
using least-squares (batch-mode), and depicts the
performance of the laptop (top) and the server (bottom)
using the regression parameters obtained via
laptopgenerated data. It is clear from these empirical results
9 While not illustrated in Figure 3, we note that closed
loop system identication is also required and presents
additional data challenges, for example, data collinearities.
that models obtained on one platform (here, laptop)
performs best on that platform. The models are likely
to perform less well on another platform (here, server),
but are still of some value.
The objective of the control system is to minimize the
error signal given by e(k) = r(k) y(k) where r(k)
denotes the reference or desired computational time
required for BN computation. The output, y(k),
denotes the actual time the computer takes to complete
the BN computation and generate the posterior
probabilities BEL(Q; e) as discussed above.
        </p>
        <p>
          From the control engineering perspective, there are
several key issues: (1) Static uncertainty in plant
parameters: A tablet PC running Windows Vista will
behave di¤erently from a High Performance Computing
(HPC) cluster running openSUSE Linux. A control
system designed for one computer may not perform
well on another. In other words, the control system
parameters are uncertain and need to be estimated. (2)
Stochastic disturbances: The process that determines
when a low-criticality process is generated by a user
is, in general, stochastic. This is, in itself, an active
area of research [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. Furthermore, the impact a
particular low-criticality process has on the high-criticality
process may vary substantially. (3) Stochastic delay
in the input process: When the control input u(k)
increases, the actual number of processes may or may
not increase. This represents a stochastic delay in the
actuation of the digital system being controlled.
To illustrate how our approach handles the above, we
optimized a linear controller given by the following
Ztransfer function: H(z) = 1 Kz 1 , where K and
are real-valued controller gain parameters. H(z) is the
transfer function from the error signal e(k) to the input
to the plant u(k). Performance for a xed setpoint is
shown in Figure 6(a). Computation time is maintained
at approximately r(k) = 2 sec, however since this is a
soft real-time approach there are excursions above this
setpoint.
5.3
        </p>
      </sec>
      <sec id="sec-6-2">
        <title>OUTER LOOP CONTROL</title>
        <p>Our proposed research is based on controlling BN
computation in an inner loop as well as in an outer loop
(see Figure 1); so far we discussed the inner loop. We
now briey discuss the outer loop, where the output
BEL(Q; e) of BN computation, as well as other factors
external to the inner loop, may change desired
completion time and also plant behavior (sampling frequency,
BN computation algorithm, number of particles
assuming a simulation algorithm, etc.).</p>
      </sec>
      <sec id="sec-6-3">
        <title>Adaptation to Computational Platform (see</title>
        <p>Figure 1(c)): Table 1 summarizes results of
running likelihood weighting on the ADAPT BN, using
ve di¤erent computers and three di¤erent operating
systems. System identication was performed on all
computers using the two input data sets shown in
Figure 3(a). Batch least squares was used to determine
the parameters of a rst order linear ARX model.
Table 1 shows the resulting R2 and mean squared error
(MSE) of the parameter t for the various computers
and operating systems. In most cases, we observed a
low MSE.10</p>
        <p>10 It is important to note the underlying variations in
the ARX model parameters, which are used by the control
design process. The diverse set of parameters, omitted
here to save space, illustrate the benet of using techniques
from adaptive feedback control, specically learning from</p>
      </sec>
      <sec id="sec-6-4">
        <title>Optimizing BN Algorithm and Parameters (see</title>
        <p>Figure 1(b)): In Figure 4, we show the steady state
computation time results for the ve BN inference
algorithms discussed above. Here, steady state is dened
loosely as the time k such that y(k + 1) = y(k) = yss
for all k k . Plugging this into (2) yields yss =
c2u1ssc+1c3 , where u(k) = uss 8k k . Thus, the linear
gain coe¢ cient (slopes in Figure 4) for each algorithm
is given by 1 c2c1 .</p>
        <p>The results fall into three groups: fast (JTP), medium
(VE and LW), and slow (LBP and PBP)
computations. Also, the standard error in computation time
varies between the algorithms, with JTP again being
the best with a very small standard error.</p>
        <p>While JTP is exact and fast, its Achillesheel is
memory consumption [23]. Consequently, it can be
necessary, when running other memory-intensive processes,
to use a less memory-intensive but inexact algorithm
like LW. How should one switch between two
algorithms, say the non-anytime algorithm JTP and the
anytime algorithm LW, that have very di¤erent
computational resource requirements but operate on the
same BN? Feedback control can help in this regard,
see Figure 5. From a control perspective, this is
considered dynamic uncertainty in plant parameters: Given
a computer P (i), a change in the BN algorithm will
impact the way the plant, P (i), responds. Here, we
switch from JTP to LW around 12:20, while
maintaining the setpoint (on average) after a transient period
lasting around 10 seconds.11 This is, to the best of
the computational environment and adapt to changes.</p>
        <p>11 Note, our approach does not make any hard real-time
guarantees, only soft ones, and consequently the actual
computation time is sometimes greater than the setpoint.
our knowledge, the rst demonstration of a successful
on-line switch between two very di¤erent inference
algorithms (from JTP to LW) while a desired completion
time is maintained.</p>
      </sec>
      <sec id="sec-6-5">
        <title>Changing the Setpoint (see Figure 1(a)): There</title>
        <p>
          is both a supply side and a demand side in computing.
On the supply side, one can control the supply of
computational resources, in the form of computers, CPUs,
CPU threads, or GPU threads. On the demand side,
the outer loop can vary the Setpoint r(k), perhaps in
combination with varying other outer loop parameters
such as sampling frequency fC (k) and number of
particles p(k) used in likelihood weighting [34] or particle
ltering [
          <xref ref-type="bibr" rid="ref11">17</xref>
          ].
        </p>
        <p>One reason for the outer loop to vary the
computational resources allocated to the high-criticality
process is illustrated in the following. Suppose, for
k &lt; k , that P (H(k) j e(k)) suggested that there was
one or more faults in the ADAPT electrical power
system, while P (H(k ) j e(k )) indicated that this was a
false alarm. In this case, we may want to be less
stringent about ensuring that computation of P (H(k + 1)
j e(k + 1)), P (H(k + 2) j e(k + 2)), etc. nishes in
a timely fashion, in other words it makes sense to put
r(k + 1) &gt; r(k ). Figure 6(b) shows how this type of
step change, at k 23:28, is supported by our
controltheoretic framework. The baseline of not varying r(k)
is shown in Figure 6(a). We here assume that
sample frequency fC (k) = fC is constant, and consider (i)
r(k 1) = r(k) &lt; 1=fC (as when r(k) = 2 sec in both
Figure 6(a) and Figure 6(b)) versus (ii) r(k) 1=fC
(as when r(k) = 4 sec Figure 6(b)). The advantage
of (i) is that there is a much greater chance that BN
computation nishes before a new computational
cycle starts, which is essential when EPS faults are more
likely. The advantage of (ii), on the other hand, is that
more low-criticality processes are allowed to run.
The trade-o¤ between fast inference for the
highcriticality process versus running many low-criticality
processes is illustrated in Figure 6. Figure 6(b)s
bottom panel shows an increase in the number of
processes, on average, as a result of the increase in
r(k) at k 23:28; no similar increase can be found
in Figure 6(a)s bottom panel.
6</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>DISCUSSION AND OUTLOOK</title>
      <p>Deploying BN algorithms and other resource-intensive
AI algorithms can be a challenge when there are
nontrivial constraints on computational resources in
applications. In this paper, we have focused on
supporting requirements for reactive response without
requiring dedicated hard real-time computational resources
according to worst-case computational requirements.
We have focused on reactive diagnosis using BNs,
motivated by domains with some but uncertain
domain knowledge (hence probabilistic graphical models,
specically BNs) as well as uncertainty with respect to
the computational platform and environment (hence
feedback control).</p>
      <p>
        An alternative approach to achieving reactive response
is the use of anytime algorithms. The motivation
behind anytime inference namely the goal of intelligent
and reactive systems and our work is quite similar.
However, the approaches are very di¤erent. Anytime
algorithms are inherently inexact and produce
solutions whose quality gradually improve with
computation time [37]. We focus on what can done, on the
computing system level, for a broad range of existing
Bayesian network inference algorithms including both
exact and inexact algorithms. As a consequence, our
approach enables the use of exact but non-anytime
algorithms (like variable elimination [
        <xref ref-type="bibr" rid="ref13">20, 9</xref>
        ], junction tree
propagation [
        <xref ref-type="bibr" rid="ref12 ref24">18, 35</xref>
        ], and arithmetic circuit evaluation
[
        <xref ref-type="bibr" rid="ref5">7, 4</xref>
        ]) in reactive settings. The benet of this is that
such exact algorithms often perform very well,
however they do have limitations and consequently there
are situations where they are unsuitable. With our
approach, one can use these exact algorithms and then
switch to an inexact (often anytime) algorithm only if
needed, rather than having to always use an anytime
algorithm.
      </p>
      <p>We are in this paper using rather basic control theory
ideas. This enables new results and many
opportunities for future work, both theoretical and
experimental, and we invite other researchers to participate in
the exploration of this exciting area of reseach. We
are, for example, developing adaptive control
methods that leverage online system identication of the
process. There are also many interesting research
opportunities related to the use of BN posteriors as well
as their accuracy, and perhaps multiple BNs at
different levels of detail, in the outer control loop. In
this area, there is a strong connection to anytime
algorithms and metareasoning that can be further
investigated, enabling more reactive and more capable
intelligent systems.</p>
      <sec id="sec-7-1">
        <title>Acknowledgements</title>
        <p>This material is based upon work supported, in part,
by NSF awards CCF0937044 and ECCS0931978.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>T.</given-names>
            <surname>Beauvisage</surname>
          </string-name>
          .
          <article-title>Computer usage in daily life</article-title>
          .
          <source>In Proc. of the 27th International Conference on Human factors in Computing Systems (CHI-09)</source>
          , pages
          <fpage>575</fpage>
          
          <fpage>584</fpage>
          , Boston, MA,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Brun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Di Marzo Serugendo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gacek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Giese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Kienle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Litoiu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Müller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pezzè</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Shaw</surname>
          </string-name>
          .
          <article-title>Engineering self-adaptive systems through feedback loops</article-title>
          . In B. H. Cheng, R. Lemos,
          <string-name>
            <given-names>H.</given-names>
            <surname>Giese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Inverardi</surname>
          </string-name>
          , and J. Magee, editors,
          <source>Software Engineering for Self-Adaptive Systems</source>
          , pages
          <fpage>48</fpage>
          
          <fpage>70</fpage>
          . Springer-Verlag,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Carlin</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Zilberstein</surname>
          </string-name>
          .
          <article-title>Decentralized monitoring of distributed anytime algorithms</article-title>
          .
          <source>In Proc. of the Tenth International Conference on Autonomous Agents and Multiagent Systems</source>
          , pages
          <fpage>157</fpage>
          
          <fpage>164</fpage>
          ,
          <string-name>
            <surname>Taipei</surname>
          </string-name>
          , Taiwan,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Choi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Darwiche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Zheng</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O. J.</given-names>
            <surname>Mengshoel</surname>
          </string-name>
          .
          <article-title>A tutorial on Bayesian networks for system health management</article-title>
          . In A. Srivastava and J. Han, editors,
          <source>Data Mining in Systems Health Management: Detection</source>
          , Diagnostics, and
          <string-name>
            <surname>Prognostics</surname>
          </string-name>
          . Chapman and Hall/CRC Press,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Darwiche</surname>
          </string-name>
          .
          <article-title>A di¤erential approach to inference in Bayesian networks</article-title>
          .
          <source>Journal of the ACM</source>
          ,
          <volume>50</volume>
          (
          <issue>3</issue>
          ):
          <volume>280</volume>
          
          <fpage>305</fpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>H.</given-names>
            <surname>Deng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Krstic</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R. J.</given-names>
            <surname>Williams</surname>
          </string-name>
          .
          <article-title>Stabilization of stochastic nonlinear systems driven by noise of unknown covariance</article-title>
          .
          <source>IEEE Transactions on Automatic Control</source>
          ,
          <volume>46</volume>
          (
          <issue>8</issue>
          ):
          <volume>1237</volume>
          
          <fpage>53</fpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <article-title>to enforce policies for interrelated metrics with application to the Apache Web server</article-title>
          .
          <source>In Proc. of Network Operations and Management Symposium (NOMS-02)</source>
          , pages
          <fpage>219</fpage>
          
          <fpage>234</fpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Hellerstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Diao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Parekh</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D. M.</given-names>
            <surname>Tilbury</surname>
          </string-name>
          .
          <source>Feedback Control of Computing Systems</source>
          . Wiley,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>C.</given-names>
            <surname>Hollot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Misra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Towsley</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Gong</surname>
          </string-name>
          .
          <article-title>On designing improved controllers for AQM routers supporting TCP ows</article-title>
          .
          <source>In Proc. of IEEE INFOCOM</source>
          , pages
          <volume>1726</volume>
          
          <fpage>1734</fpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [15]
          <string-name>
            <surname>A. K. Ishihara</surname>
            ,
            <given-names>J. van Doornik</given-names>
          </string-name>
          , and
          <string-name>
            <surname>S. BenMenahem.</surname>
          </string-name>
          <article-title>Stochastic stability of a neural-net robot controller subject to signal-dependent noise in the learning rule</article-title>
          .
          <source>International Journal of Adaptive Control and Signal Processing</source>
          ,
          <volume>24</volume>
          (
          <issue>6</issue>
          ):
          <volume>445</volume>
          
          <fpage>466</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>D.</given-names>
            <surname>Koller</surname>
          </string-name>
          and
          <string-name>
            <given-names>U.</given-names>
            <surname>Lerner</surname>
          </string-name>
          .
          <article-title>Sampling in Factored Dynamic Systems</article-title>
          . In A. Doucet,
          <string-name>
            <surname>J. F. G. de Freitas</surname>
          </string-name>
          , and N. Gordon, editors,
          <source>Sequential Monte Carlo Methods In Practice</source>
          , pages
          <volume>445</volume>
          
          <fpage>464</fpage>
          . Springer-Verlag,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>S.</given-names>
            <surname>Lauritzen</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Spiegelhalter</surname>
          </string-name>
          .
          <article-title>Local computations with probabilities on graphical structures and their application to expert systems (with discussion)</article-title>
          .
          <source>Journal of the Royal Statistical Society series B</source>
          ,
          <volume>50</volume>
          (
          <issue>2</issue>
          ):
          <volume>157</volume>
          
          <fpage>224</fpage>
          ,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Li</surname>
          </string-name>
          and
          <string-name>
            <given-names>B. D</given-names>
            <surname>Ambrosio</surname>
          </string-name>
          . E¢
          <article-title>cient inference in Bayes nets as a combinatorial optimization problem</article-title>
          .
          <source>International Journal of Approximate Reasoning</source>
          ,
          <volume>11</volume>
          (
          <issue>1</issue>
          ):
          <volume>55</volume>
          
          <fpage>81</fpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Diao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Gandhi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Hellerstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Parekh</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D. M.</given-names>
            <surname>Tilbury</surname>
          </string-name>
          .
          <article-title>Using MIMO feedback control</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>O. J.</given-names>
            <surname>Mengshoel</surname>
          </string-name>
          .
          <article-title>Designing resource-bounded reasoners using Bayesian networks: System health monitoring and diagnosis</article-title>
          .
          <source>In Proceedings of the 18th International Workshop on Principles of Diagnosis (DX-07)</source>
          , pages
          <fpage>330</fpage>
          
          <fpage>337</fpage>
          ,
          <string-name>
            <surname>Nashville</surname>
            ,
            <given-names>TN</given-names>
          </string-name>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>O. J.</given-names>
            <surname>Mengshoel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Chavira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Cascio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Poll</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Darwiche</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Uckun</surname>
          </string-name>
          .
          <article-title>Probabilistic modelbased diagnosis: An electrical power system case study</article-title>
          .
          <source>IEEE Trans. on Systems, Man, and Cybernetics</source>
          ,
          <volume>40</volume>
          (
          <issue>5</issue>
          ):
          <volume>874</volume>
          
          <fpage>885</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>O. J.</given-names>
            <surname>Mengshoel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Roth</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Wilkins</surname>
          </string-name>
          . Portfolios in stochastic local search: E¢
          <article-title>- ciently computing most probable explanations in Bayesian networks</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          ,
          <volume>46</volume>
          (
          <issue>2</issue>
          ):
          <volume>103</volume>
          
          <fpage>160</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>K. P.</given-names>
            <surname>Murphy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Weiss</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. I.</given-names>
            <surname>Jordan</surname>
          </string-name>
          .
          <article-title>Loopy belief propagation for approximate inference: An empirical study</article-title>
          .
          <source>In Proc. of the Fifteenth Conference on Uncertainty in AI (UAI-99)</source>
          , pages
          <fpage>467</fpage>
          
          <fpage>475</fpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>S.</given-names>
            <surname>Parekh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Gandhi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hellerstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Tilbury</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Jayram</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Bigus</surname>
          </string-name>
          .
          <article-title>Using control theory to achieve service level objectives in performance management</article-title>
          .
          <source>Real-Time Systems</source>
          ,
          <volume>23</volume>
          (
          <issue>1</issue>
          ):
          <volume>841</volume>
          
          <fpage>854</fpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pearl</surname>
          </string-name>
          .
          <article-title>Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference</article-title>
          . Morgan Kaufmann, San Mateo, CA,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>S.</given-names>
            <surname>Poll</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Patterson-Hine</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Camisa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Garcia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hall</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. J.</given-names>
            <surname>Mengshoel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Neukom</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nishikawa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ossenfort</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sweet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Yentus</surname>
          </string-name>
          , I. Roychoudhury,
          <string-name>
            <given-names>M.</given-names>
            <surname>Daigle</surname>
          </string-name>
          , G. Biswas, and
          <string-name>
            <given-names>X.</given-names>
            <surname>Koutsoukos</surname>
          </string-name>
          .
          <article-title>Advanced diagnostics and prognostics testbed</article-title>
          .
          <source>In Proc. of the 18th International Workshop on Principles of Diagnosis (DX-07)</source>
          , pages
          <fpage>178</fpage>
          
          <fpage>185</fpage>
          ,
          <string-name>
            <surname>Nashville</surname>
            ,
            <given-names>TN</given-names>
          </string-name>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>B. W.</given-names>
            <surname>Ricks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Harrison</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O. J.</given-names>
            <surname>Mengshoel</surname>
          </string-name>
          .
          <article-title>Integrating probabilistic reasoning and statistical quality control techniques for fault diagnosis in hybrid domains</article-title>
          .
          <source>In Proc. of the Annual Conference of the PHM Society</source>
          <year>2011</year>
          (PHM-11), Montreal, Canada,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>B. W.</given-names>
            <surname>Ricks</surname>
          </string-name>
          and
          <string-name>
            <given-names>O. J.</given-names>
            <surname>Mengshoel</surname>
          </string-name>
          .
          <article-title>Methods for probabilistic fault diagnosis: An electrical power system case study</article-title>
          .
          <source>In Proc. of Annual Conference of the PHM Society</source>
          ,
          <year>2009</year>
          (PHM-09), San Diego, CA,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>P. P.</given-names>
            <surname>Shenoy</surname>
          </string-name>
          .
          <article-title>A valuation-based language for expert systems</article-title>
          .
          <source>International Journal of Approximate Reasoning</source>
          ,
          <volume>5</volume>
          (
          <issue>3</issue>
          ):
          <volume>383</volume>
          
          <fpage>411</fpage>
          ,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [36]
          <string-name>
            <surname>C.-Z. Xu</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Liu</surname>
            , and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Wei</surname>
          </string-name>
          .
          <article-title>Model predictive feedback control for QoS assurance in webservers</article-title>
          .
          <source>Computer</source>
          ,
          <volume>41</volume>
          :
          <fpage>66</fpage>
          
          <fpage>72</fpage>
          ,
          <string-name>
            <surname>March</surname>
          </string-name>
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>