<!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>Transition Systems Reduction: Balancing between Precision and Simplicity</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sergey A. Shershakov</string-name>
          <email>sshershakov@hse.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anna A. Kalenkova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Irina A. Lomazova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>National Research University Higher School of Economics</institution>
          ,
          <addr-line>20 Myasnitskaya st., 101000 Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>78</fpage>
      <lpage>95</lpage>
      <abstract>
        <p>Transition systems are a powerful formalism, which is widely used for process model representation. A number of approaches were proposed in the process mining field to tackle the problem of constructing transition systems from event logs. Existing approaches discover transition systems that are either too large or too small. In this paper we propose an original approach to discover transition systems that perfectly fit event logs and whose size is adjustable depending on the user's need. The proposed approach allows achieving a required balance between simple and precise models.</p>
      </abstract>
      <kwd-group>
        <kwd>transition systems</kwd>
        <kwd>process mining</kwd>
        <kwd>model reduction</kwd>
        <kwd>process model quality</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Process mining is a relatively new discipline, whose basic research and
practical purpose is to extract process models from data given in the form of event
logs, checking existing models for conformance to actual processes and improving
them. Transition systems are extensively used to formalize processes extracted
from event logs. A transition system can be constructed from an event log by
using prefix-based techniques in a very natural way [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. We consider several
metrics that describe the model’s quality [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Replay fitness quantifies the extent to
which a process model can reproduce the behavior recorded in a log. Complexity
of the model is estimated by simplicity and precision (the metrics, which shows
how precise the model is in respect to the event log).
      </p>
      <p>
        The major weakness of models constructed from real-life event logs is their
size. Despite the fact that there are a number of approaches aimed to reduce
the size of transition systems [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], application of the existing approaches results
in either too large or too small models. In the former case the model size is big
enough for being readable. Furthermore, it becomes difficult or even impossible
to apply existing transition system analysis techniques that are sensitive to the
size of input models. For example, the state-based region algorithm [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] has an
exponential complexity dependence on the size of the input model, so its
applicability is limited with fairly small models. In the latter case, due to states merging
a rather small model implies considerably much of extra behavior, which makes
the model less precise and thus less applicable.
      </p>
      <p>The main goal of our study is to develop an approach for reducing the size
of a transition system mined from an event log in a flexible manner. This paper
describes an original 3-step algorithm achieving the goal by using a
variablesize window based on a state frequency characteristic. The approach preserves
(perfect) fitness of a model and balances between its simplicity and precision by
introducing a set of adjustable parameters.</p>
      <p>Thus, the main contributions are as follows: (1) an original method for
reducing transition systems and justification of its applicability; (2) a set of
experimental results which show the advantages of the proposed approach as compared
with existing methods; an openly available proof of the concept through
implementation in a set of ProM plug-ins.</p>
      <p>The remaining part of the paper is organized as follows. Section 2 gives an
overview of related work in the context of inferring transition systems and their
application in the process mining domain. Section 3 introduces basic concepts
used further in this paper. A detailed description of the proposed algorithm is
given in Section 4. A novel precision calculation algorithm, some significant
implementation details, and experimental results are discussed in Section 5. Finally,
Section 6 concludes the paper and discusses some directions for future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related work</title>
      <p>
        A number of works concerning inferring transition systems from event traces
exist. Biermann and Feldman in their work [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] proposed a k-tails algorithm
which merges states of a FSM by basing on the similarity of their behavior. The
algorithm falls into the class of prefix tree merging methods. Angluin [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
proposed a method of prefix tree states merging based on a notion of k-reversibility.
In [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], Lorenzoli et al. proposed a GK-tail approach, an extension of the k-tail
algorithm, dealing with parametrized finite state automata.
      </p>
      <p>
        Cook and Wolf in their work [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] introduced process discovery, a new data
analysis technique in the context of software engineering processes. They
considered automatic generation of a formal model describing an ongoing process from
captured event data. A new Markov method was developed specifically for this
purpose. Moreover, two existing methods, the k-tail and RNet (based on neural
networks) ones, were adopted for the process discovery technique.
      </p>
      <p>
        Process discovery along with conformance checking and process enhancement
form the basis of process mining [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], which deals with various types of process
models including Petri nets, transition systems, fuzzy maps, C-nets, BPMN and
others. In the context of process mining, transition systems are considered both
as a self-independent model and an intermediate model for building another
type of model on its basis. In the latter case, one should mention region-based
approaches discussed in [
        <xref ref-type="bibr" rid="ref10 ref15 ref5 ref8">5,10,8,15</xref>
        ].
      </p>
      <p>
        The leading role of a transition system as an intermediate representation of
a process is discussed in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The paper considers a number of different strategies
to construct a transition system that is more suitable to be a base for a resulting
final Petri net model with respect to desirable metrics. Nevertheless, all discussed
strategies are based on inferring algorithms with a fixed window.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Preliminaries</title>
      <p>This section introduces basic concepts related to event logs, transition systems
and some other notations that are needed for explaining the approach.</p>
      <p>P(A) denotes the power set of A — the set of all subsets of A. For a given
set A, A∗ is the set of all finite sequences over A.</p>
      <p>Definition 1 (Event Trace, Event Log). Let A be a set of activities. The
(event) trace is a sequence σ = a1, a2, ..., ai, ..., an ∈ A∗. By σ(i) = ai we
denote i-th element (event) of the trace. The [i, k]-subtrace of trace σ ended at
i-th event ai is defined as
σ[i, k] =
⎧
⎪⎨
⎪⎩
σ(1), σ(2), ..., σ(i) ,</p>
      <p>if k &gt; i;
σ(i − k + 1), ..., σ(i) , if 1 ≤ k ≤ i;
, if k = 0.
(1)</p>
      <p>The complete subtrace of the trace σ ended at i-th event ai is σ[i] = σ[i, i].
By |σ| we denote a trace length. For k ≤ i, k denotes the length of the subtrace.
L ∈ P(A∗)is an event log and |L| is a log size that is equal to a number of all
traces.</p>
      <p>We assume, that event logs do not contain process states explicitly. This
way, we need to deduce the desirable states from an event log based on some
approach.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], four approaches to determine the state in a log were proposed. They
are past, future, past and future and explicit knowledge. In this paper we consider
only past approach, according to which a state is constructed based on the prefix
of a trace. Then, the order of activities is important. Hence, we apply sequence
policy [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] for determining a state.
      </p>
      <p>Definition 2. A labeled transition system is a tuple TS = (S, E, T, s0, AS),
where S is a state space, E is a set of labels, T ⊆ S × E × S is set of transitions,
s0 ∈ S is an initial state, and AS ⊆ S is a set of accepting (final) states. We
denote the set of output ( input) transitions of a state s ∈ S as s• = {t =
(s, e, s ) ∈ T | e ∈ E, s ∈ S} (•s = {t = (s , e, s) ∈ T | e ∈ E, s ∈ S}).
Definition 3 (k-window transition system). Let L ∈ P(A∗) be a log over set
of activities A and let k ∈ N be a natural number called window size. TS(L, k) =
(S, E, T, s0, AS) is a k-window (labeled) transition system built for log L and
window size k, where S = {s0} ∪ {σ[i, k] | σ ∈ L, 1 ≤ i ≤ |σ|, k ≤ i} T =
{(s0, σ(1), σ[1, k]) | σ ∈ L} ∪ {(σ[i − 1, k], σ(i), σ[i, k]) | σ ∈ L, 2 ≤ i ≤ |σ|}, AS =
{s ∈ S | s = σ[|σ|, k], σ ∈ L}, and E = A.</p>
      <sec id="sec-3-1">
        <title>Definition 4 (Full transition system). Let L ∈ P(A∗) be a log over set A of</title>
        <p>
          activities. The full transition system TS(L) = (S, E, T, s0, AS) for the log L is
a labeled transition system built for log L, where S = {s0} ∪ {σ[i] | σ ∈ L, 1 ≤
i ≤ |σ|}, T = {(s0, σ(1), σ[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]) | σ ∈ L} ∪ {(σ[i − 1], σ(i), σ[i]) | σ ∈ L, 2 ≤ i ≤ |σ|},
AS = {s ∈ S | s = σ[|σ|], σ ∈ L}, and E = A.
        </p>
        <p>Definition 5. Let TS(L) = (S, E, T, s0, AS) be a transition system over a set
of activities E = A, and let σ = a1, ..., an be a trace over A and n = |σ|.
We say that trace σ can be replayed in transition system TS(L) if there is a
sequence of states s0, ..., sn such that ∃t1 = (s0, a1, s1), t2 = (s1, a2, s2), ..., tn =
a1
(sn−1, an, sn) where s0, s1, ..., sn ∈ S, t1, t2, ..., tn ∈ T . We denote this as s0 −→
fis1x −ian→2a..t.ra−a−n→nsitisonn. Wsysetesmay TtShatif tr∃akce&lt;σ nca:n b∃es0pa−ra→t1iallsy1 r−ea→p2lay..e.d−ab→ky istsk
parnedsk −a−k−+→1 sk+1 −a−k−+→2 ... −a−→n sn. We denote σ+(TS) = a0, a1, ..., ak and
σ−(TS) = ak+1, ..., an . Hence, σ(TS) = σ+(TS) + σ−(TS) where + denotes
concatenation of two sequences.</p>
        <p>
          To measure the quality of resulting models, we consider three quality
metrics. We based them primarily on the work [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] and adopted them for transition
systems. Fitness quantifies the extent to which a transition system can
reproduce traces recorded in a log. Simplicity quantifies the complexity of a model.
Simplicity is measured by comparing the size of a given transition system TS(L)
with the simplest possible transition system, which is the flower model (Fig. 1a).
Precision compares transition system TS(L) with the full transition system built
for log L, considering the latter to be the most precise.
        </p>
        <p>Definition 6 (Metrics). Let L be an event log and let TS(L) = (S, E, T, s0, AS)
be a transition system built for L. Fitness is defined to be the ratio of the number
of traces from log L that can be fully replayed in transition system TS(L) to the
total number of all traces. Log L perfectly fits transition system TS(L) iff all
traces of L can be fully replayed in TS(L).</p>
        <p>Simplicity of TS(L) is:</p>
        <p>Simpl(TS(L)) = |E| + 1 .</p>
        <p>|T | + |S|
Precision of TS(L) is:
1
S ·
| | s∈S
Prec(TS(L)) =</p>
        <p>Prec(s), Prec(s) =</p>
        <p>1
N oV (s) ·</p>
        <p>NoV (s)
i=1
|s • | − |s•i| ,
|s • |
where Prec(s) is a partial precision for state s, N oV (s) is a number of all visits
of state s during a replay of the full transition system. s•i is a set of penalized
ۃ a, bۄ</p>
        <p>g/1
ۃ a, b, d, gۄ
g/1
ۃ a, b, c,
d, f, gۄ
c/4
output transitions of state s, i.e., transitions that do not have active counterparts
as compared to the precise (full TS) model.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Algorithm Description</title>
      <p>For the clarification of the approach, the following motivating example is
considered. Let L1 be an event log that is defined as follows:</p>
      <p>L1 = { a, b, c, d, e, f , a, b, c, d, e, g , a, b, c, d, f, e , a, b, c, d, f, g ,
a, b, d , a, b, d, g , a, b, d, e, f , a, b, d, e, g }
(2)</p>
      <p>In addition to the previously discussed flower model, one can build a number
of other models that perfectly fit log L1. A model built with unlimited window
size is depicted on Figure 1b. This model is a full transition system by the
definition. Another model built by an algorithm with a fixed window of size 1
is depicted on Figure 1c. Although all these models perfectly fit log L1, none of
them is satisfactory in simplicity and precision at the same time. Thus, we are
interested in a trade off between these metrics.</p>
      <p>The proposed approach incorporates a 3-steps algorithm sequentially building
3 transition systems. The first transition system, TS1, is built from an event log.
The second (TS2) and the third (TS3) transition systems are built from TS1 and
TS2, respectively. Finally, TS3 is considered as a desirable result.</p>
      <p>The main point of the proposed approach is dynamic variation of the
window used for deducing states. For this very purpose, two adjustable parameters
are involved into the approach. The first one, Threshold, affects the size of the
intermediate transition system (TS2). The second one, Vwsc, is a linear factor
used for the dynamic calculation of a variable window size while building the
resulting model (TS3). Each step of the algorithm along with both parameters
is thoroughly discussed in the following sections.
4.1</p>
      <sec id="sec-4-1">
        <title>Constructing a Full Transition System (Step 1)</title>
        <p>The first step of the approach is to construct a full transition system and define
a special labeling function mapping every transition to a natural number that
determines its frequency characteristic.</p>
        <sec id="sec-4-1-1">
          <title>Definition 7 (Frequency characteristic). Let L ∈ P(A∗)be a log over set</title>
          <p>of activities A and let TS(L) = (S, E, T, s0, AS) be a full transition system for
the L. A frequency characteristic of TS(L) is a function f : T → N defined for
t = (σ[j − 1], σ(j), σ[j]) as f (t) = |L |, where L ⊆ L is the maximum subset of
L, and ∀σ ∈ L ∃l ∈ N, l &gt; 0 : σ [l − 1] = σ[j − 1], σ (l) = σ(j), σ [l] = σ[j].</p>
          <p>Note that for l = 1, σ(0) = = s0 by (1).</p>
          <p>Frequency characteristic determines for every transition
t a number of traces in log L that start with prefixes σ[j].</p>
          <p>The entire procedure of building a full transition system is
presented in Algorithm 1.</p>
          <p>We denote a full transition system for a given log L as
TS1(L) = TS(L). TS1(L1) built for log L1 with function f
is depicted on Figure 1b; it is a tree by the construction.</p>
          <p>It is easy to see that fitness of the full transition system
(TS1(L)) is perfect (equals 1). This is inherent in the
algorithm since it builds for each trace in a log a full chain
of states following one after another that corresponds to a
sequence of events in the trace.
4.2 Constructing a Condensed Transition System
(Step 2)
c/4
The second step of our approach involves cutting some branches of the full
transition system with frequency values less than a cutting threshold parameter;
we refer to it as f1. Having f1 set, we can exclude from a model all the states
and transitions that correspond to behavior in the event log which is rarely
observed. This results in simplifying the tree structure and reduction of the
number of states and transitions.</p>
          <p>Definition 8 (Condensed Transition System). Let TS1(L) = (S1, E1, T1,
s0, AS1) be a full transition system constructed for log L and let f be a frequency
characteristic. The Threshold is a real number from [0; 1] determining a cutting
threshold f1 as follows: f1 = round(|L| · Threshold) − 1. The value f1 + 1 =
round(|L| · Threshold) is a minimum preserved frequency for TS1(L).
Algorithm 1: Building a full
transition system for a given log L</p>
          <p>Input : an event log L
Output : a full transition system;
TS1(L) = (S, E, T, s0, AS); f is a
frequency characteristic;
begin</p>
          <p>S ← {s0};
for σ ∈ L do
s ← s0;
for i ← 1 to |σ| do
s ← σ[i];
t ← (s, σ(i), s );
if t ∈/ T then</p>
          <p>T ← T ∪ {t};
f (t) ← 1;
else</p>
          <p>f (t) ← f (t) + 1;
S ← S ∪ {s };
E ← E ∪ {σ(i)};
if i = |σ| then</p>
          <p>AS ← AS ∪ {s};</p>
          <p>Note that the frequencies of transitions diminish on the way to the leaves of
TS1(L) and TS2(L). Hence, the exclusion of transition tk from a TS1(L) implies
the exclusion of a total subtree that has state sk as a root. Thus, TS2(L) obtained
as a result of cutting with a given threshold, cannot be disconnected.</p>
          <p>The entire procedure of construction a condensed transition system is
presented in Algorithm 2. For log L1 with the size |L| = 8 and Threshold = 0.33, we
have f1 = 2. A TS2(L) built for the log L1 and f1 = 2 is depicted in Figure 2.
It is easy to see that not all the traces from the log can be replayed on TS2(L)
as its fitness is not perfect. Therefore, we cannot consider this model as a final
result.
In this section, we propose an approach to convert TS2(L) to a model with
perfect fitness and a size that it less than the size of TS1(L).</p>
          <p>Our proposal is to construct a new transition system TS3(L) based on TS2(L)
by adding missing states and transitions in order to fully replay all the traces.
Unlike building the full transition system, in this case we use partial subtrace
σ[i, k] for representing newly added states of TS3(L). The important point here
is that parameter k is proportional to the frequency of a corresponding input
transition.</p>
          <p>The algorithm implementing the proposed approach includes a few steps
performed iteratively. Its main part is represented in Algorithm 5. In the beginning,
we create a copy of TS2(L), which is denoted as TS3(L).Then, we try to replay
all the traces σ from event log L until there is no trace that cannot be fully
replayed in the transition system under construction. Along with replay, we build
on additional elements of TS3(L) such that an increasing number of traces can
be replayed.</p>
          <p>Coming back to the example with log L1, we consider transition system
TS3(L1) copied from TS2(L1) depicted in Figure 2. We try to replay log L1 on
it and perform its transformation. Let σ = a, b, c, d, e, f . The only prefix of σ
that can be successfully replayed is σ+(TS3(L1)) = a, b, c, d . Correspondingly,
the unreplayable suffix of σ is σ−(TS3(L1)) = e, f .</p>
          <p>Algorithm 3 replays a single trace σ and also gets as its input transition
system TS3(L) and a frequency characteristic f (discussed above). Moreover, it uses
a special function ξ, which maps every trace σ onto number j that determines
element σ(j) splitting σ into σ+ and σ−, σ(j) ∈ σ−, and set T T of temporary
transitions. The algorithm starts with initial state s0 as a current state s and the
first element σ(1) of a trace as a current element σ(i). Then it tries to find an
appropriate transition t starting with current state s and marked by symbol σ(i).</p>
          <p>We use an example in Figure 3 to illustrate the proposed approach. Next,
there are three possible cases. In the first one (for instance, during the replay
σ = a, b, d ), t = (s, σ(i), s ) exists with some s ∈ S2 and it is a regular one
(t ∈/ T T ). In this case current state s is changed to s and the next element
σ(i + 1) is processed. In the second case (if σ = a, b, d, g ), t does not exist. For
that case a new temporary transition t = (s, σ(i), s) is added to both the set
of transitions and the set of temporary transitions. The end state s is a special
temporary state too. It is not marked by any substring and is unique for any
temporary transition. For newly added transition t frequency characteristic f is
defined to be equal to 1; It means transition t “fired” only once. In the third
case, t exists and it is a temporary one (t ∈ T T ). This is the case when transition
t “fires” one more time; hence, its frequency should be increased by one.</p>
          <p>In both the second and the third cases replaying of the current trace σ is
broken and ξ(σ) is set to the position of the first unreplayable element. This is
the reason why the temporary state s cannot still be marked with any subtrace
and, consequently, one cannot guarantee that s will be preserved in TS3(L).</p>
          <p>This way, at each iteration Algorithm 5 tries to replay as many traces from
the log as possible. For each state the first unreplayable element is determined
and a new temporary transition for the element along with a temporary state
are built. TS3(L1) with temporary transitions and states marked by symbols e,
f , g and e are depicted in Figure 3a. Note, the total frequency for all temporary
transitions is equal to a number of traces that were not able to be replayed at
the first iteration.</p>
          <p>Trace σ5 = a, b, d from log L1 is an example of a trace that can be replayed
at the very first iteration. Once all the traces from the log can be replayed, the
reconstruction of TS3(L) is successfully ended.</p>
          <p>As long as there is at least one temporary transition/state in TS3(L), it has
to be converted to a regular one. It is done by Algorithm 4, which enumerates all
uncompleted traces. For each such trace σ, the last regular state s, temporary
transition t and temporary state s are obtained; they correspond to the first
unplayable element σ(ξ(σ)). Then state s is converted to a regular state by
being marked with subtrace σ[ξ(σ), m] of trace σ ended by element σ(ξ(σ))
with length m that is proportional to the frequency of temporary transition
t. Furthermore, the dedicated state s0ws is used for the case of zero window
size, which accumulates all rare behavior. This results in the shortest subtrace
marking such a state than its counterpart in the full transition system. Note
that temporary states and transitions are always converted to regular ones.</p>
          <p>The latter results in a probability of coinciding numbers of previously
distinguishable states. In such a case, all matching states are merged and the total
number of states and transitions in the resulting transition system is decreased.
Figure 3b shows how two states marked with subtrace d, e are merged to one
state.</p>
          <p>After the algorithm is finished, no temporary transitions and states are
present in TS3(L) anymore. Moreover, all previously unreplayable elements in
the traces can now be replayed in TS3(L) as new states for them have been
established. At the end of algorithm’s iteration each trace from the log can be
replayed at least by one more element than before the iteration. Since the length
of each trace is finite, the number of algorithm’s iterations is also finite. Thus,
the algorithm finally stops. The resulting TS3(L1) is depicted in Figure 3c.</p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>Algorithm 3: Function</title>
        <p>ReplayTrace of the
algorithm of building a reduced
transition system TS3(L)
Input : trace σ;
reduced transition system
TS3(L) = (S3, E3, T3, s0, AS3);
frequency characteristic f ; set
of completely replayed traces
CompleteT races ⊆ L; function
ξ mapping each trace to a
number of the first
unreplayable symbol ; set of
temporary transitions T T ;
Output : true, if a trace</p>
        <p>is replayed
completely, f alse otherwise
Function ReplayTrace(σ,
TS3(L), f , CompleteT races,
ξ, T T ): Boolean
/* Already completed */
if σ ∈ CompleteT races
then</p>
        <p>return true;
s ← s0;
for i ← 1 to |σ| do
if ∃s : t =
(s, σ(i), s ) ∈ T3 then
if s = s then
f (t) ← f (t) + 1;
ξ(σ) = i;
return f alse;</p>
      </sec>
      <sec id="sec-4-3">
        <title>Algorithm 4: Procedure RestateTS</title>
        <p>of the algorithm of building a reduced
transition system TS3(L)</p>
        <p>Input : log L;
reduced transition system
TS3(L) = (S3, E3, T3, s0, AS3); frequency
characteristic f ; set of completely
replayed traces CompleteT races ⊆ L;
function ξ mapping each trace to a
number of the first unreplayable symbol;
multiplicative factor for fixed window size
V wsc ∈ R; set of temporary transitions
T T ;
/* Converts temporaries
Procedure RestateTS(L, TS3(L), f ,
CompleteT races, ξ, V wsc, T T )
for σ ∈ L do
i ← ξ(σ);
/* If the trace is already
complete
if i = |σ| + 1 then
return;
*/
*/
s ← σ[i − 1];
t ← (s, σ(i), s);
if t ∈/ T T then</p>
        <p>return;
maxW ndSize ← max(|σ|);</p>
        <p>σ
wndSize ← round(maxW ndSize ·
f (t) · V wsc ÷ |L|);
/* a special ‘trash’ state */
if wndSize = 0 then
else
s ← s0ws;
s ← σ[i, wndSize];
t ← (s, σ(i), s );
/* Replace the temporary
transition and the state by
regular ones</p>
        <p>*/
S3 ← S3 \ {s} ∪ {s };
T3 ← T3 \ {t} ∪ {t };
T T ← T T \ {t};
f (t ) ← f (t);
if i = |σ| then</p>
        <p>AS3 ← AS3 ∪ {s };
return;
Algorithm 5: Building a reduced transition system TS3(L)</p>
        <p>Input : an event log L;
a condensed transition system TS2(L) = (S2, E2, T2, s0, AS2); a frequency
characteristic f ; a multiplicative factor V wsc ∈ R for fixed window size;
Output : a reduced transition system TS3(L) = (S3, E3, T3, s0, AS3);
Data: a set of completely replayed traces CompleteT races ⊆ L;
a function mapping each trace to a number of first unreplayable symbol ξ;
a set of temporary transitions T T ;
/* Main part of the algorithm
begin</p>
        <p>TS3(L) ← TS2(L);
repeat
unreplayableTraces ← f alse;
for σ ∈ L do
if ReplayTrace(σ, TS3(L), f , CompleteT races, ξ, T T ) = f alse
then</p>
        <p>unreplayableTraces ← true;
if unreplayableTraces = true then</p>
        <p>RestateTS (L, TS3(L), f , CompleteT races, ξ, V wsc, T T );
until unreplayableTraces = f alse;
*/</p>
        <p>
          In Algorithm 5 Vwsc is an additional parameter used to combine a varying
window size approach with a classical fixed window size approach. It is a real
value from [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ] determining a maximum size of a state window during the
reconstruction phase of TS3(L).
        </p>
        <p>Finally, considering fitness of reduced transition system TS3(L) one can
postulate the following proposition.</p>
        <p>Theorem 1. Let L be a log and let TS3(L) be a reduced transition system based
on condensed transition system TS2(L). Then, TS3(L) perfectly fits L.
Proof. Let σ = a1, a2, ..., an ∈ A∗ be a trace of log L and σ = σ+(TS2(L)) +
σ−(TS2(L)), where σ+(TS2(L)) is a trace prefix that can be “replayed” on
TS2(L) and σ−(TS2(L)) is a trace suffix that cannot be “replayed” on TS2(L).
σ+(TS2(L)) can be “replayed” on TS3(L) by the construction. Now we need to
prove that the entire sequence σ can be “replayed” on TS3(L). We will prove that
iteratively for sequences σ(1), ..., σ(i) , where i varies from |σ+(TS2(L))| to |σ|.
Basis of induction: the proposition valid for i = |σ+(TS2(L))|, since σ+(TS2(L))
can be “replayed” on TS3(L). Step of induction: the trace σ(1), ..., σ(i) can
be “replayed”. Now let us prove that the trace σ(1), ..., σ(i + 1) can be
“replayed” as well. According to Algorithms 3 and 4, we “replay” σ(1), ..., σ(i)
and add a new state s (if it has not been added previously) and a new edge
t = (s, σ(i + 1), s) correspondingly. Thus, trace σ(1), ..., σ(i + 1) now can be
replayed, and that proves the step of induction.
ۃa, b, d ۄ
In this section we evaluate the proposed approach on real-life event logs. In the
beginning of the section, an algorithm for precision calculation is introduced.
Calculation of metrics for all three transition systems is performed throughout
their building.</p>
        <p>As we have shown above, fitness of TS1(L) and TS3(L) is perfect. Further,
simplicity of a model is easily calculated on the basis of the number of model’s
elements.</p>
        <p>
          We propose an algorithm calculating precision metrics for a given transition
system TS(L) based on an idea of simulation [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. The algorithm assumes that
TS(L) perfectly fits log L. Suppose that TS(L) can simulate TS1(L). All extra
behavior observed for TS(L) is penalized. Finally, a normalized total penalty
forms the basis of a precision value.
        </p>
        <p>The approach for calculation of precision is described in Algorithm 6. The
algorithm consists of two main steps. First, the algorithm iteratively calculates
so-called partial precisions for every state in TS(L) (Algorithm 9). Second, the
algorithm sums partial precisions (Algorithm 7) and calculates the average over
the number of states.</p>
        <p>To get an illustration of this idea, consider a following log:</p>
        <p>L2 = { a, b, c , a, b, d , b, c, d , b, d, c }</p>
        <p>Full transition system TS1(L2) for the log is depicted in Figure 4c. It is
considered to be the most precise reference model. Transition system TSf (L2)
in Figure 4a is built with a fixed window size (equal to 1). As a more general
model than TS1(L2) it allows more behavior than the reference model. All extra
behavior is counted as penalty and influence precision.</p>
        <p>Precision calculation invokes simulation routine implemented as a
recursive procedure (Algorithm 8). For the example above, TS(L) = TSf (L2) and
Algorithm 6: Calculating precision
for transition system TS(L)</p>
        <p>Input : general (perfectly fit)</p>
        <p>transition system
TS(L) = (S, E, T, s0, AS) built for log
L; reference full transition system
TS1(L) = (S1, E1, T1, s01, AS1);
Output : value of precision</p>
        <p>P rec(TS(L)) for TS(L);
Data: partial function η mapping each
state of TS(L) to a real number
determining the state’s “partial
precision”; partial function θ mapping
each state s ∈ TS(L) to a natural
number determining how many times
state s has been visited;
/* Main part of the algorithm */
begin</p>
        <p>CalcStatePrecision (s0, s01,
TS(L), TS1(L), η, θ);
P rec(TS(L)) ←SumPartialPrecisions
(TS(L), η);</p>
      </sec>
      <sec id="sec-4-4">
        <title>Algorithm 7: Function</title>
        <p>SumPartialPrecisions
calculating total precision of
TS(L)</p>
        <p>Input : general (perfectly fit)</p>
        <p>transition system
TS(L) = (S, E, T, s0, AS) built
for log L; function η mapping
each state of TS(L) to a real
number determining state’s
“partial precision”;
Output : value of precision</p>
        <p>P rec(TS(L)) for</p>
        <p>TS(L);
Function
SumPartialPrecisions(TS(L),
η): Real
sum ← 0;
for s ∈ S do</p>
        <p>sum ← sum + η(s);
res ← sum/|S|;
return res;
TS1(L) = TS1(L2). Initially s = s0 ∈ TS(L) and s1 = s01 ∈ TS1(l) are passed
as parameters to the procedure. For each output transition of a current state
s, the algorithm tries to find a transition labeled with the same event among
output transitions of a current state s1. It is possible to have not more than one
transition labeled with the same event, since all transition systems considered
in the paper are deterministic by the construction.</p>
        <p>For example, consider transition (s0, a, a ) in TSf (L2). It has a matching
transition (s0, a, a ) in TS1(L2). The procedure is recursively called with s = a
and s1 = a . This step also produces an input edge to vertex a in an
unfolding graph depicted on Figure 4b. This step has to be repeated for transitions
( a ), b, b ) and ( a ), b, a, b ) (obtains b1 in the unfolding graph) and transitions
( b ), c, c ) and ( a, b ), c, a, b, c ) (obtains c1 in the unfolding graph). Here, c
in TSf (L2) is an accepting state; it contains a virtual output transition (depicted
as a gray dashed arrow) to a virtual final state. Similarly, a, b, c from TS1(L2)
also has a virtual final transition, which maintains balance (depicted as a dashed
output edge in the unfolding graph).</p>
        <p>Together with that, c has transition ( c ), d, d ) to state d , which has
no counterpart in TS1(L2) (edge (c1, d4) in the graph). The algorithm penalizes
this extra transition and calculates partial precision for state c as a
difference between a number of output transitions and a number of penalized output
transitions divided by a total number of output transitions.
Algorithm 8: Procedure CalcStatePrecision calculating “partial
precision for entire states” as function η</p>
        <p>Input : current state s of TS(L);
current state s1 of TS1(L); general (perfectly fit) transition system
TS(L) = (S, E, T, s0, AS) built for log L; reference full transition system
TS1(L) = (S1, E1, T1, s01, AS1); partial function η mapping each state of TS(L)
to a real number determining the state’s “partial precision”; partial function θ
mapping each state s ∈ TS(L) to a natural number determining how many
times state s has been visited;
Procedure CalcStatePrecision(s, s1, TS(L), TS1(L), η, θ)
pen ← 0;
for t = (s, a, s ) ∈ s• do
/* If no matching trans.
if ∃t1 = (s1, a, s1) ∈ TS1(L) then</p>
        <p>CalcStatePrecision (s , s1, TS(L), TS1(L), η);
else</p>
        <p>pen ← pen + 1;
/* Number of output trans-s
otn ← |s • |;
if s ∈ AS then
otn ← otn + 1
if s1 ∈/ AS1 then</p>
        <p>pen ← pen + 1;
if otn = 0 then
partP artP rec = (otn − pen)/otn;</p>
        <p>RecalcStatePrecision (s, partP artP rec);
Algorithm 9: Procedure RecalcStatePrecision refines the value of a
state’s “partial precision”</p>
        <p>Input : state s ∈ S of TS(L) = (S, E, T, s0, AS);
function η mapping each state of TS(L) to a real number determining the
state’s “partial precision”; partial function θ mapping each state s ∈ S to a
natural number determining how many times state s has been visited; new
state’s partial precision pprec for refining;
Procedure RecalcStatePrecision(s, η, θ, pprec)
/* If either η or θ is not defined for this state
if η(s) is not defined then</p>
        <p>η(s) ← 0;
if θ(s) is not defined then</p>
        <p>θ(s) ← 0;
stP rec ← η(s) · θ(s);
θ(s) ← θ(s) + 1;
η(s) ← (stP rec + pprec)/θ(s);</p>
        <p>Since state a, b, c of TS1(L2) does not allow any further moves, the
algorithm leaves the current iteration of the procedure and, thereby, returns to a
higher level, to state b of TSf (L2) and a, b of TS1(L2). Then, the algorithm
repeats the same steps for all unvisited output transitions.</p>
        <p>During its work, the algorithm can normally visit some states of a more
general model (TSf (L2) in the example) more than once. For each such visit a
value of partial precision for the state is recalculated (Algorithm 9).</p>
        <p>Finally, after all states of the reference model have been visited during the
simulation, values of ultimate partial precision for each state of TS(L) are
represented by η. The last step is to calculate an average value (Algorithm 7), which
is the required value of the model’s precision.
5.2</p>
      </sec>
      <sec id="sec-4-5">
        <title>Implementation Details</title>
        <p>
          To evaluate the proposed approach, we have developed a number of routines for
the ProM toolkit [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. The routines are implemented as plug-ins with several
entry points intended for different sets of input parameters.
        </p>
        <p>Build and reduce transition systems (xi) plug-in combines routines for
building TS1(L), TS2(L), TS3(L) for a given input log L, along with calculation
metrics for each transition system built. In the simplest case, the plug-in obtains
at its input only event log L and provides ability to configure the settings as
follows. (1) Specify a maximum window size for building TS1(L). Default size is
unlimited (that is set at a value of -1). By setting the size to a natural number,
one can make algorithm act with a fixed window. We use this option for building
reference models with fixed windows. (2) Specify a value of Threshold parameter
used for building TS2(L). (3) Specify a value of multiplicative factor Vwsc used
when building TS3(L).</p>
        <p>Once successfully finished, the plug-in produces at its output three transition
systems, and, what is the most important for analyzing the results, a hierarchical
report. The report represents a set of characteristics organized in a tree structure.
They include metrics for each built transition system and additional attributes
calculated during the algorithm’s operation. We created a special “view”
plugin for browsing such reports, which allows to export information as a
JSONstructure or HTML-formatted text.</p>
        <p>The both plug-ins are openly available to download on http://pais.hse.ru.
5.3</p>
      </sec>
      <sec id="sec-4-6">
        <title>Experiments and Discussion</title>
        <p>
          We evaluated our approach on a set of event logs, both artificial and real-life.
In the following sections we consider “BPI challenge” logs [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] L3 (11 traces, 89
activities) and L4 (251 traces, 247 activities). Full transition systems built for
the logs have the following frequency characteristics:
– TS1(L3): Maximum Window Size: 71; 514 states; 513 transitions;
– TS1(L4): Maximum Window Size: 83; 8088 states; 8087 transitions.
        </p>
        <p>Our goal is to compare metrics of models built with an existing fixed window
algorithm and models built with the algorithms proposed in this paper.</p>
        <p>In our algorithms, there are two parameters affecting a model size: Threshold
and Vwsc. Parameter Threshold has a limited impact on the model size. As it is
shown in Table 1, dependence of the model size from Threshold is nonlinear in
the entire domain of Threshold. For log L4, better simplicity results are in the
vicinity of the points 0.2 and 0.8 and worse in the range ends. This is because
in the case of dismissive small Threshold model TS2(L) is similar to TS1(L); so,
application area of a variable size window lies near the tree leaves. In such a
case, noticeable reduction of a model is achievable only for traces with similar
suffixes.</p>
        <p>Conversely, the closer a value of Threshold to 1, the lesser TS2(L) is built.
Consequently, at the stage of building TS3(L) model most of it is to be
reconstructed. Preliminary experiments show that selecting Threshold from a range
[0.2; 0.8] leads to better results; nevertheless, further elaboration of the
parameter’s impact is needed.</p>
        <p>By decreasing the value of Vwsc parameter from 1 to 0, significant reduction
of a resulting model size is achieved (last two rows of Table 1). For example,
for log L3 and a value of Vwsc = 0.05 we have Simpl(TS3(L3)) = 0.3516 and
Prec(TS3(L3)) = 0.676 versus Simpl(TSf (L3)) = 0.2479 and Prec(TSf (L3)) =
0.6117 for the case of one window size model. Generally, by adjusting the value
of Vwsc, one can obtain a resulting model in a wide range of sizes. Unlike
parameter Threshold, parameter Vwsc gives a linear dependence of the model size.
Moreover, by varying values both of Threshold and Vwsc it is possible to enhance
mutual influence of the parameters on each other. That allows flexible balancing
between precision and simplicity.
6</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>This paper presented a new approach for reducing transition systems, based on
an inference algorithm with a varied window size. In contrast to the existing
approaches the approach presented in this paper shows advantages of flexible
adjustment of a resulting model size. This way, estimation of achievability of the
main goal is made on the basis of numerical characteristics of resulting models,
both absolute and integral metrics. Future work is aimed at further investigation
of impacts of various algorithm coefficients on time costs of a region-based
algorithm applied to resulting transition systems. Moreover, we plan to investigate
the quality metrics of Petri nets obtained as an outcome of the algorithm.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>1. http://fluxicon.com/blog/2015/05/bpi-challenge-2015/</mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rubin</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verbeek</surname>
            ,
            <given-names>H.M.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dongen</surname>
            ,
            <given-names>B.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kindler</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , Gu¨nther, C.W.:
          <article-title>Process mining: a two-step approach to balance between underfitting and overfitting</article-title>
          .
          <source>Software &amp; Systems Modeling</source>
          <volume>9</volume>
          (
          <issue>1</issue>
          ),
          <fpage>87</fpage>
          -
          <lpage>111</lpage>
          (
          <year>2008</year>
          ), http://dx.doi.org/10.1007/s10270-008-0106-z
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          : Process Mining - Discovery, Conformance and Enhancement of Business Processes. Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Angluin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Inference of reversible languages</article-title>
          .
          <source>J. ACM</source>
          <volume>29</volume>
          (
          <issue>3</issue>
          ),
          <fpage>741</fpage>
          -
          <lpage>765</lpage>
          (
          <year>Jul 1982</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/322326.322334
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Badouel</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Darondeau</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>Lectures on Petri Nets I: Basic Models: Advances in Petri Nets, chap</article-title>
          .
          <source>Theory of regions</source>
          , pp.
          <fpage>529</fpage>
          -
          <lpage>586</lpage>
          . Springer Berlin Heidelberg, Berlin, Heidelberg (
          <year>1998</year>
          ), http://dx.doi.org/10.1007/3-540-65306-6_
          <fpage>22</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Biermann</surname>
            ,
            <given-names>A.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feldman</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          :
          <article-title>On the synthesis of finite-state machines from samples of their behavior</article-title>
          .
          <source>IEEE Trans. Comput</source>
          .
          <volume>21</volume>
          (
          <issue>6</issue>
          ),
          <fpage>592</fpage>
          -
          <lpage>597</lpage>
          (
          <year>Jun 1972</year>
          ), http: //dx.doi.org/10.1109/TC.
          <year>1972</year>
          .5009015
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Buijs</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dongen</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aalst</surname>
          </string-name>
          , W.:
          <article-title>On the Role of Fitness, Precision, Generalization and Simplicity in Process Discovery</article-title>
          . In: Meersman,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Rinderle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Dadam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <surname>X</surname>
          </string-name>
          . (eds.)
          <source>OTM Federated Conferences, 20th International Conference on Cooperative Information Systems (CoopIS</source>
          <year>2012</year>
          ).
          <source>Lecture Notes in Computer Science</source>
          , vol.
          <volume>7565</volume>
          , pp.
          <fpage>305</fpage>
          -
          <lpage>322</lpage>
          . Springer-Verlag, Berlin (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Carmona</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cortadella</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kishinevsky</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A region-based algorithm for discovering petri nets from event logs</article-title>
          .
          <source>In: BPM</source>
          . pp.
          <fpage>358</fpage>
          -
          <lpage>373</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Cook</surname>
            ,
            <given-names>J.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>A.L.</given-names>
          </string-name>
          :
          <article-title>Discovering models of software processes from event-based data</article-title>
          .
          <source>ACM Trans. Softw. Eng. Methodol</source>
          .
          <volume>7</volume>
          (
          <issue>3</issue>
          ),
          <fpage>215</fpage>
          -
          <lpage>249</lpage>
          (
          <year>Jul 1998</year>
          ), http://doi. acm.
          <source>org/10</source>
          .1145/287000.287001
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Cortadella</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kishinevsky</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lavagno</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yakovlev</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Deriving petri nets from finite transition systems</article-title>
          .
          <source>IEEE Trans. Comput</source>
          .
          <volume>47</volume>
          (
          <issue>8</issue>
          ),
          <fpage>859</fpage>
          -
          <lpage>882</lpage>
          (
          <year>Aug 1998</year>
          ), http://dx.doi.org/10.1109/12.707587
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Lorenzoli</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mariani</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , Pezz`e, M.:
          <article-title>Inferring state-based behavior models</article-title>
          .
          <source>In: 4th International Workshop on Dynamic Analysis (WODA</source>
          <year>2006</year>
          )
          <article-title>co-located with the 28th</article-title>
          <source>International Conference on Software Engineering (ICSE</source>
          <year>2006</year>
          ). pp.
          <fpage>25</fpage>
          -
          <lpage>32</lpage>
          . ACM Press (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Park</surname>
            ,
            <given-names>D.M.R.</given-names>
          </string-name>
          :
          <article-title>Concurrency and automata on infinite sequences</article-title>
          .
          <source>In: Theoretical Computer Science</source>
          , 5th GI-Conference, Karlsruhe, Germany, March 23-25,
          <year>1981</year>
          , Proceedings. pp.
          <fpage>167</fpage>
          -
          <lpage>183</lpage>
          (
          <year>1981</year>
          ), http://dx.doi.org/10.1007/BFb0017309
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Rubin</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dongen</surname>
            ,
            <given-names>B.F.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kindler</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , Gu¨nther, C.W.:
          <article-title>Process mining: A twostep approach using transition systems and regions</article-title>
          .
          <source>Tech. rep., BPM Center Report BPM-06-30</source>
          , BPM Center (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Shershakov</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lomazova</surname>
            ,
            <given-names>I.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalenkova</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          :
          <article-title>Method for transition systems reduction based on state frequencies (preliminary version)</article-title>
          .
          <source>Tech. rep., Higher School of Economics</source>
          (
          <year>2016</year>
          ), http://dx.doi.
          <source>org/10.13140/RG.2.1.3438.6328</source>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Sole</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carmona</surname>
          </string-name>
          , J.:
          <article-title>Region-based foldings in process discovery</article-title>
          .
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>25</volume>
          (
          <issue>1</issue>
          ),
          <fpage>192</fpage>
          -
          <lpage>205</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Verbeek</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buijs</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dongen</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aalst</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>ProM 6: The Process Mining Toolkit</article-title>
          . In: Rosa,
          <string-name>
            <surname>M.L</surname>
          </string-name>
          . (ed.)
          <source>Proc. of BPM Demonstration Track 2010. CEUR Workshop Proceedings</source>
          , vol.
          <volume>615</volume>
          , pp.
          <fpage>34</fpage>
          -
          <lpage>39</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>