K, then K ∗ φ is just the intersection of K and φ. This
is called belief expansion. But when φ is not consis-
tent with K, then the set of states believed following
revision will be the states where φ is true that are ‘as
close as possible’ to states in K. There is a well known
semantics based on orderings over possible states; we
refer the reader to (Katsuno and Mendelzon, 1992) for
a complete discussion.
For our purposes, the important thing to note is
that AGM revision operators are only appropriate for
single-shot belief revision. The problem is that the
revision process requires an ordering over states, but
the output is just a set of states. Hence, we do not
any ordering to use for subsequent revisions. To ad-
dres iterated belief revision, we could move to the
well-known Darwiche-Pearl approach (Darwiche and
Pearl, 1997). However, this introduces many compli-
cations.
2.2 Machine Learning
In this paper, we are concerned with two kinds of Ma-
chine Learning. At the outset, we will consider Rein-
forcement Learning. Basically reinforcement learn-
ing is based on the idea that an agent is rewarded for
achieving a goal. Agents learn to maximize their ex-
pected reward by choosing actions that are likely to
get them closer to their goal. The well-known Q-
Learning approach is a representative example of re-
inforcement learning; the simple, classic version of
the algorithm is described in (Mitchell, 1997)
We also consider learning approaches based on
classification. A classification learning problem in-
volves predicting how different data points will be
classified. The standard example is the play tennis
problem, where we have information about whether
an agent played tennis under different weather con-
ditions. Using a classification learning algorithm, we
can predict whether they will play tennis or not based
on the past data. We assume that the reader is familiar
with classification learning, as described in (Raschka
and Mirjalili, 2019).
3 EXACT MATCHING
3.1 Modelling
The BRL software to be introduced in this paper is
actually a collection of tools for reverse engineering
a belief revision operator. In the simplest case, we
assume that we have a history that consists of a set
of triples (K, φ, K
0
) where K
0
was the result when K
was revised by φ in the past. Informally, each triple
is understood to mean that there was a past situation
where the agent initially believed K, then received the
information φ and then believed K
0
.
We remark that this situation is not particularly
reasonable in practice. The problem is that we are
unlikely to know the complete belief state of an agent
before and after an observation. However, if we do
have this kind of data, there is a natural approach. We
can simply check every available revision operator to
see if it is consistent with the data. This is obviously
a very computationally expensive approach.
3.2 Implementation
The first application of BRL we consider is the exact
matching problem. In this case, we are looking for the
set of revision operators ∗ that satisfy K ∗ φ = K
0
for
every historical example. This is addressed through a
command line application written in C++ that essen-
tially performs an exhaustive search.
In the exact matching module of BRL, the input is
a comma separated text file, where each row contains
an initial belief state K, a formula φ that was given
for revision, and the new belief state that resulted. We
represent states by expressions of the form {p : 1 q :
0}, indicating that p is true and q is false. Belief states
are just sets of states. For example, a single line in the
history might read as follows:
{p:1 q:1}{p:0 q:0}, (p|q)&-(p&q), {p:1 q:0}
This line indicates that, when the belief state
{{p, q},
/
0} was revised by (p ∨q)∧¬(p∧q), then the
new belief state was {{p}}.
Given a set of instances in this format, BRL iter-
ates over all possible revision operators and returns
those that are consistent with the past revisions. For
our purposes, the set of possible revision operators is
the set of parametrised difference(PD) operators de-
fined in (Peppas and Williams, 2018). We focus on
PD operators because they are simple to specify, but
they can capture a large class of revision operators.
The output returns a set of ranks over propositional
variables, which eah define a PD operator. A sample
run of the program is shown in Figure 1.
The output gives a compact representation of all
PD operators consistent with the input. These oper-
ators are found relatively quickly, because BRL in-
cludes an efficient revision solver and it uses OpenMP
to test many operators in parallel. As a result, the run
times are acceptable for small examples. For larger
examples, the speed could be improved by using an
ALLSAT solver for the computationally hard parts of
the revision (Hunter and Agapeyev, 2020). We leave
this optimization for future work.
We summarise the average run times for up to 9
variables:
ICAART 2022 - 14th International Conference on Agents and Artificial Intelligence
754