<!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>Finding Suitable Activity Clusters for Decomposed Process Discovery</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>B.F.A. Hompes</string-name>
          <email>b.f.a.hompes@student.tue.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>H.M.W. Verbeek</string-name>
          <email>h.m.w.verbeek@tue.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>W.M.P. van der Aalst</string-name>
          <email>w.m.p.v.d.aalst@tue.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Mathematics and Computer Science Eindhoven University of Technology</institution>
          ,
          <addr-line>Eindhoven</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Event data can be found in any information system and provide the starting point for a range of process mining techniques. The widespread availability of large amounts of event data also creates new challenges. Existing process mining techniques are often unable to handle \big event data" adequately. Decomposed process mining aims to solve this problem by decomposing the process mining problem into many smaller problems which can be solved in less time, using less resources, or even in parallel. Many decomposed process mining techniques have been proposed in literature. Analysis shows that even though the decomposition step takes a relatively small amount of time, it is of key importance in nding a high-quality process model and for the computation time required to discover the individual parts. Currently there is no way to assess the quality of a decomposition beforehand. We de ne three quality notions that can be used to assess a decomposition, before using it to discover a model or check conformance with. We then propose a decomposition approach that uses these notions and is able to nd a high-quality decomposition in little time.</p>
      </abstract>
      <kwd-group>
        <kwd>decomposed process mining</kwd>
        <kwd>decomposed process discovery</kwd>
        <kwd>distributed computing</kwd>
        <kwd>event log</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Process mining aims to discover, monitor and improve real processes by
extracting knowledge from event logs readily available in today's information systems
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In recent years, (business) processes have seen an explosive rise in
supporting infrastructure, information systems and recorded information, as illustrated
by the term Big Data. As a result, event logs generated by these information
systems grow bigger and bigger as more event (meta-)data is being recorded and
processes grow in complexity. This poses both opportunities and challenges for
the process mining eld, as more knowledge can be extracted from the recorded
data, increasing the practical relevance and potential economic value of process
mining. Traditional process mining approaches however have di culties coping
with this sheer amount of data (i.e. the number of events), as most interesting
algorithms are linear in the size of the event log and exponential in the number
of di erent activities [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In order to provide a solution to this problem,
techniques for decomposed process mining [3{5] have been proposed. Decomposed
process mining aims to decompose the process mining problem at hand into
smaller problems that can be handled by existing process discovery and
conformance checking techniques. The results for these individual sub-problems can
then be combined into solutions for the original problems. Also, these smaller
problems can be solved concurrently with the use of parallel computing. Even
sequentially solving many smaller problems can be faster than solving one big
problem, due to the exponential nature of many process mining algorithms.
Several decomposed process mining techniques have been developed in recent years
[2{5, 7, 8, 10, 12, 13]. Though existing approaches have their merits, they lack in
generality. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], a generic approach to decomposed process mining is proposed.
The proposed approach provides a framework which can be combined with di
erent existing process discovery and conformance checking techniques. Moreover,
di erent decompositions can be used while still providing formal guarantees,
e.g. the fraction of perfectly tting traces is not in uenced by the
decomposition. When decomposing an event log for (decomposed) process mining, several
problems arise. In terms of decomposed process discovery, these problems lie in
the step where the overall event log is decomposed into sublogs, where
submodels are discovered from these sublogs, and/or where submodels are merged to
form the nal model. Even though creating a decomposition is computationally
undemanding, it is of key importance for the remainder of the decomposed
process discovery process in terms of the overall required processing time and the
quality of the resulting process model.
      </p>
      <p>The problem is that there is currently no clear way of determining the quality
of a given decomposition of the events in an event log, before using that
decomposition to either discover a process model or check conformance with. The current
decomposition approaches do not use any quality notions to create a
decomposition. Thus, potential improvements lie in nding such quality notions and a
decomposition approach that uses those notions to create a decomposition with.</p>
      <p>The remainder of this paper is organized as follows. In Section 2 related work
is discussed brie y. Section 3 introduces necessary preliminary de nitions for
decomposed process mining and the generic decomposition approach. Section 4
introduces decomposition quality notions to grade a decomposition upon, and
two approaches that create a high quality decomposition according to those
notions. Section 5 shows a (small) use case. The paper is concluded with views
on future work in Section 6.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Little work has been done on the decomposition and distribution of process
mining problems [3{5]. In [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] MapReduce is used to scale event correlation
as a preprocessing step for process mining. In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] an approach is described to
distribute genetic process mining over multiple computers. In this approach
candidate models are distributed and in a similar fashion the log can be distributed
as well. However, individual models are not partitioned over multiple nodes.
More related are the divide-and-conquer techniques presented in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], where it is
shown that region-based synthesis can be done at the level of synchronized State
Machine Components (SMCs). Also a heuristic is given to partition the causal
dependency graph into overlapping sets of events that are used to construct sets
of SMCs. In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] a di erent (more local) partitioning of the problem is given which,
unlike [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], decouples the decomposition approach from the actual conformance
checking and process discovery approaches. The approach presented in this
paper is an extension of the approach presented in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Where [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] splits the process
mining problem at hand into subproblems using a maximal decomposition, our
approach rst aims to recombine the many created activity clusters into better
and fewer clusters, and only then splits the process mining problem into
subproblems. As a result, fewer subproblems remain to be solved. The techniques used
to recombine clusters are inspired by existing software quality metrics and the
business process metrics listed in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. More information on the use of software
engineering metrics in a process mining context is described there as well.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Preliminaries</title>
      <p>
        This section introduces the notations needed to de ne a better decomposition
approach. A basic understanding of process mining is assumed [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
3.1
      </p>
      <sec id="sec-3-1">
        <title>Multisets, Functions, and Sequences</title>
      </sec>
      <sec id="sec-3-2">
        <title>De nition 1 (Multisets).</title>
        <p>Multisets are de ned as sets where elements may appear multiple times. B(A)
is the set of all multisets over some set A. For some multiset b 2 B(A), and
element a 2 A, b(a) denotes the number of times a appears in b.
For example, take A = fa; b; c; dg: b1 = [] denotes the empty multiset, b2 = [a; b]
denotes the multiset over A where b2(c) = b2(d) = 0 and b2(a) = b2(b) = 1, b3 =
[a; b; c; d] denotes the multiset over A where b3(a) = b3(b) = b3(c) = b3(d) = 1,
b4 = [a; b; b; d; a; c] denotes the multiset over A where b4(a) = b4(b) = 2 and
b4(c) = b4(d) = 1, and b5 = [a2; b2; c; d] = b4. The standard set operators can be
extended to multisets, e.g. a 2 b2, b5 n b2 = b3, b2 ] b3 = b4 = b5, jb5j = 6</p>
      </sec>
      <sec id="sec-3-3">
        <title>De nition 2 (Sequences).</title>
        <p>A sequence is de ned as an ordering of elements of some set. Sequences are used
to represent paths in a graph and traces in an event log. S(A) is the set of all
sequences over some set A. s = ha1; a2; : : : ; ani 2 S(A) denotes a sequence s
over A of length n. Furthermore: s1 = h i is the empty sequence and s1 s2 is
the concatenation of two sequences.</p>
        <p>For example, take A = fa; b; c; dg: s1 = ha; b; bi, s2 = hb; b; c; di, s1
ha; b; b; b; b; c; di
s2 =</p>
      </sec>
      <sec id="sec-3-4">
        <title>De nition 3 (Function Projection).</title>
        <p>Let f 2 X 6! Y be a (partial) function and Q X. f Q denotes the projection
of f on Q: dom(f Q) = dom(f ) \ Q and f Q(x) = f (x) for x 2 dom(f Q).
The projection can be used for multisets. For example, b5 fa;bg = [a2; b2].</p>
      </sec>
      <sec id="sec-3-5">
        <title>De nition 4 (Sequence Projection).</title>
        <p>Let A be a set and Q A a subset. Q 2 S(A) ! S(Q) is a projection function
and is de ned recursively: (1) h i Q = h i and (2) for s 2 S(A) and a 2 A:
(hai s) Q =
(
s Q
hai s Q
if a 2= Q
if a 2 Q
So ha; a; b; b; c; d; di fa;bg = ha; a; b; bi.
3.2</p>
      </sec>
      <sec id="sec-3-6">
        <title>Event Logs</title>
        <p>
          Event logs are the starting point for process mining. They contain information
recorded by the information systems and resources supporting a process.
Typically, the executed activities of multiple cases of a process are recorded. Note
that only example behavior is recorded, i.e. event logs only contain information
that has been seen. An event log often contains only a fraction of the possible
behavior [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. A trace describes one speci c instance (i.e. one \run") of the process
at hand, in terms of the executed activities. An event log is a multiset of traces,
since there can be multiple cases having the same trace. For the remainder of
this paper, we let UA be some universe of activities.
        </p>
      </sec>
      <sec id="sec-3-7">
        <title>De nition 5 (Trace).</title>
        <p>Let A UA be a set of activities. A trace s 2 S(A) is a sequence of activities.</p>
      </sec>
      <sec id="sec-3-8">
        <title>De nition 6 (Event log).</title>
        <p>Let A UA be a set of activities. Let L 2 B(S(A)) be a multiset of traces over
A. L is an event log over A.</p>
        <p>An example event log is L1 = [ha; b; c; di5; ha; b; b; c; di2; ha; c; di3]. There are three
unique traces in L1, and it contains information about a total of 10 cases. There
are 4 5+5 2+3 3 = 39 events in total. The projection can be used for event logs
as well. That is, for some log L 2 B(S(A)) and set Q A : L Q = [s Qjs 2 L].
For example L1 fa;b;cg = [ha; b; ci5; ha; b; b; ci2; ha; ci3]. We will refer to these
projected event logs as sublogs.
3.3</p>
      </sec>
      <sec id="sec-3-9">
        <title>Activity Matrices, Graphs, and Clusters</title>
        <p>
          In [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] di erent steps for a generic decomposed process mining approach have been
outlined. In [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], an implementation of the generic approach has been created
which decomposes the overal event log based on a causal graph of activities. This
section describes the necessary de nitions for this decomposition method.
        </p>
      </sec>
      <sec id="sec-3-10">
        <title>De nition 7 (Causal Activity Matrix).</title>
        <p>Let A UA be a set of activities. M(A) = (A A) ! [ 1:0; 1:0] denotes the
set of causal activity matrices over A. For a; a0 2 A and M 2 M(A), M (a; a0)
denotes the \directly follows strength" from a to a0.</p>
        <p>A M (a; a0) value close to 1:0 signi es that we are quite con dent there exists
a directly follows relation between two activities while a value close to 1:0
signi es that we are quite sure there is no relation. A value close to 0:0 indicates
uncertainty, i.e., there may be a relation, but there is no strong evidence for it.</p>
      </sec>
      <sec id="sec-3-11">
        <title>De nition 8 (Causal Activity Graph).</title>
        <p>Let A UA be a set of activities. G(A) denotes the set of causal activity graphs
over A. A causal activity graph G 2 G(A) is a 2-tuple G = (V; E) where V A
is the set of nodes and E (V V ) is the set of edges. G = (V; E) 2 G(A) is
the causal activity graph based on M 2 M(A) and a speci c causality threshold
2 [ 1:0; 1:0] i E = f(a; a0) 2 A A j M (a; a0) &gt; g and V = S(a;a0)2E fa; a0g.
That is, for every pair of activities (a; a0) 2 A, there's an edge from a to a0 in G
i the value for a to a0 in the causal activity matrix M exceeds some threshold
. Note that V A since some activities in A might not be represented in G.</p>
      </sec>
      <sec id="sec-3-12">
        <title>De nition 9 (Activity Cluster).</title>
        <p>Let A UA be a set of activities. C(A) denotes the set of activity clusters over
A. An activity cluster C 2 C(A) is a subset of A, that is, C A.</p>
      </sec>
      <sec id="sec-3-13">
        <title>De nition 10 (Activity Clustering).</title>
        <p>Let A UA be a set of activities. Cb(A) denotes the set of activity clusterings
over A. An activity clustering Cb 2 Cb(A) is a set of activity clusters, that is,
Cb P (A). A k-clustering Cb 2 Cb(A) is a clustering with size k, i.e. jCbj = k.
Let Cb 2 Cb(A) be a clustering over A, the number of activities in Cb is denoted by
jjCbjj = j S Cj, i.e. jjCbjj signi es the number of unique activities in Cb.</p>
        <p>C2Cb
3.4</p>
      </sec>
      <sec id="sec-3-14">
        <title>Process Models and Process Discovery</title>
        <p>
          Process discovery aims at discovering a model from an event log while
conformance checking aims at diagnosing the di erences between observed and modeled
behavior (resp. the event log and the model). Literature suggests many di erent
notations for models. We abstract from any speci c model notation, but will
de ne the set of algorithms that discover a model from an event log. Various
discovery algorithms have been proposed in literature. These discovery
algorithms are often called mining algorithms, or miners in short. For an overview
of di erent algorithms we refer to [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
        </p>
      </sec>
      <sec id="sec-3-15">
        <title>De nition 11 (Process Model).</title>
        <p>Let A UA be a set of activities. N (A) denotes the set of process models over
A, irrespective of the speci c notation (Petri nets, transition systems, BPMN,
UML ASDs, etc.) used.</p>
      </sec>
      <sec id="sec-3-16">
        <title>De nition 12 (Discovery Algorithm).</title>
        <p>Let A UA be a set of activities. D(A) = B(S(A)) ! N (A) denotes the set
of discovery algorithms over A. A discovery algorithm D 2 D(A) discovers a
process model over A from an event log over A.
3.5</p>
      </sec>
      <sec id="sec-3-17">
        <title>Decomposed Process Discovery</title>
        <p>
          As discussed, in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], a generic approach to decomposed process mining is
proposed. In terms of decomposed process discovery, this approach can be explained
as follows: Let A UA be a set of activities, and let L 2 B(S(A))) be an event
log over A. In order to decompose the activities in L, rst a causal activity
matrix M 2 M(A) is discovered. Any causal activity matrix discovery
algorithm DCA 2 B(S(A))) ! M(A) can be used. From M a causal activity graph
G 2 G(A) is ltered (using a speci c causality threshold). By choosing the value
of the causality threshold carefully, we can lter out uncommon causal relations
between activities or relations of which we are unsure, for example those
relations introduced by noise in the event log. Once the causal activity graph G
has been constructed, an activity clustering Cb 2 Cb(A) is created. Any activity
clustering algorithm AC 2 G(A) ! Cb(A) can be used to create the clusters.
For example, the maximal decomposition can be used where the causal activity
graph is cut across its vertices and each edge ends up in precisely one submodel.
This leads to the smallest possible submodels [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. For every cluster in the
clustering, L is ltered to a corresponding sublog by projecting the cluster to L, i.e.,
for all C 2 Cb a sublog L C is created. A process model is discovered for each
sublog L C . These are the submodels. Any discovery algorithm D 2 D(A) can
be used to discover the submodels. Finally, the submodels are merged into an
overal model. Any merging algorithm in B(N (A)) ! N (A) can be used for this
step. Currently, submodels are merged based on activity labels. Note that we
have jCbj clusters, sublogs and submodels, and jjCbjj activities in the nal, merged
model.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>A Better Decomposition</title>
      <p>
        It is apparent that the manner in which activities are clustered has a substantial
e ect on required processing time, and it is possible for similarly sized clusterings
(in the average cluster size) to lead to very di erent total processing times. As
a result of the vertex-cut (maximal ) decomposition approach [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], most activities
will be in two (or more) activity clusters, leading to double (or more) work, as the
clusters have a lot of overlap and causal relations between them, which might not
be desirable. From the analysis results in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] we can see that this introduces a
lot of unwanted overhead, and generally reduces model quality. Also, sequences
or sets of activities with high causal relations are generally easily (and thus
quickly) discovered by process discovery algorithms, yet the approach will often
split up these activities over di erent clusters. Model quality can potentially
su er from a decomposition that is too ne-grained. It might be that the sublogs
created by the approach contain too little information for the process discovery
algorithm to discover a good, high quality submodel from, or that a process is
split up where it shouldn't be. Merging these low-quality submodels introduces
additional problems.
      </p>
      <p>Hence, a good decomposition should (1) maximize the causal relations
between the activities within each cluster in the activity clustering, (2) minimize
the causal relations and overlap across the clusters and (3) have approximately
equally sized clusters. The challenge lies in nding a good balance between these
three properties.</p>
      <p>A clustering where one cluster is a subset of another cluster is not valid as
it would lead to double work, and would thus result in an increase in required
processing time without increasing (or even decreasing) model quality. Note
that this de nition of a valid clustering allows for disconnected clusters, and
that some activities might not be in any cluster. This is acceptable as processes
might consist of disconnected parts and event logs may contain noise. However,
if activities are left out some special processing might be required.
valid clustering i : Cb 6= ; ^ 8C1;C22Cb^C16=C2 C1 6
valid clusterings over A.</p>
      <sec id="sec-4-1">
        <title>De nition 13 (Valid Clustering).</title>
        <p>Let A UA be a set of activities. Let Cb 2 Cb(A) be a clustering over A. Cb is a
C2. CbV (A) denotes the set of
4.1</p>
      </sec>
      <sec id="sec-4-2">
        <title>Clustering Properties</title>
        <p>We de ne decomposition quality notions in terms of clustering properties. The
rst clustering property we de ne is cohesion. The cohesion of an activity
clustering is de ned as the average cohesion of each activity cluster in that clustering.
A clustering with good cohesion (cohesion 1) signi es that causal relations
between activities in the same cluster are optimized, whereas bad cohesion
(cohesion 0) signi es that activities with few causal relations are clustered
together.</p>
      </sec>
      <sec id="sec-4-3">
        <title>De nition 14 (Cohesion).</title>
        <p>Let A UA be a set of activities. Let M 2 M(A) be a causal activity matrix over
A, and let Cb 2 CbV (A) be a valid clustering over A. The cohesion of clustering Cb
in matrix M , denoted Cohesion(Cb; M ) is de ned as follows:</p>
        <p>Cohesion(Cb; M ) =
Cohesion(C; M ) =</p>
        <p>PC2Cb Cohesion(C; M )</p>
        <p>jCbj
Pc1;c22C max(M (c1; c2); 0)
jC Cj</p>
        <p>The second clustering property is called coupling, and is also represented
by a number between 0 and 1. Good coupling (coupling 1) signi es that
causal relations between activities across clusters are minimized. Bad coupling
(coupling 0) signi es that there are a lot of causal relations between activities
in di erent clusters.</p>
      </sec>
      <sec id="sec-4-4">
        <title>De nition 15 (Coupling).</title>
        <p>Let A UA be a set of activities. Let M 2 M(A) be a causal activity matrix over
A, and let Cb 2 CbV (A) be a valid clustering over A. The coupling of clustering Cb
in matrix M , denoted Coupling(Cb; M ) is de ned as follows:</p>
        <p>Coupling(Cb; M ) =
hmax(M (c1; c2); 0) + max(M (c2; c1); 0)i</p>
        <p>Note that the weights of the causal relations are used in the calculation of
cohesion and coupling. Relations of which we are not completely sure of (or that
are weak) therefore have less e ect on these properties than stronger ones.</p>
        <p>The balance of an activity clustering is the third property. A clustering with
good balance has clusters of (about) the same size. Decomposing the activities
into clusters with low balance (e.g. a k-clustering with one big cluster holding
almost all of the activities and (k 1) clusters with only a few activities) will not
speed up discovery or conformance checking, rendering the whole decomposition
approach useless. At the same time nding a clustering with perfect balance (all
clusters have the same size) will most likely split up the process / log in places
that \shouldn't be split up", as processes generally consist out of di erent-sized
natural parts. Balance is also represented by a number between 0 and 1, where
a good balance (balance 1) signi es that all clusters are about the same size
and a bad balance (balance 0) signi es that the cluster sizes di er quite a lot.
This balance formula utilizes the standard deviation of the sizes of the clusters
in a clustering to include the magnitude of the di erences in cluster sizes. A
variation of this formula using squared errors or deviations could also be used
as a clustering balance measure.</p>
      </sec>
      <sec id="sec-4-5">
        <title>De nition 16 (Balance).</title>
        <p>Let A UA be a set of activities. Let Cb 2 CbV (A) be a valid clustering over A.
The balance of clustering Cb denoted Balance(Cb) is de ned as follows:
Balance(Cb) = 1
2</p>
        <p>(Cb)
jjCbjj
Where (Cb) signi es the standard deviation of the sizes of the clusters in the
clustering Cb.</p>
        <p>In order to assess a certain decomposition based on the clustering properties,
we introduce a weighted scoring function, which grades an activity clustering
with a score between 0 (bad clustering) and 1 (good clustering). A weight can
be set for each clustering property, depending on their relative importance. A
clustering with clustering score 1 has perfect cohesion, coupling and balance
scores, on the set weighing of properties.</p>
      </sec>
      <sec id="sec-4-6">
        <title>De nition 17 (Clustering Score).</title>
        <p>Let A UA be a set of activities. Let M 2 M(A) be a causal activity matrix
over A, and let Cb 2 CbV (A) be a valid clustering over A. The clustering score
(score) of clustering Cb in matrix M , denoted Score(Cb; M ) is de ned as follows:
Score(Cb; M ) = Cohesion(Cb; M )
+ Coupling(Cb; M )
+ Balance(Cb)</p>
        <sec id="sec-4-6-1">
          <title>BalW</title>
        </sec>
        <sec id="sec-4-6-2">
          <title>CohW + CouW + BalW</title>
        </sec>
        <sec id="sec-4-6-3">
          <title>CohW</title>
        </sec>
        <sec id="sec-4-6-4">
          <title>CohW + CouW + BalW</title>
        </sec>
        <sec id="sec-4-6-5">
          <title>CouW</title>
        </sec>
        <sec id="sec-4-6-6">
          <title>CohW + CouW + BalW</title>
          <p>where CohW , CouW , and BalW are the weights for Cohesion, Coupling, and
Balance.
4.2</p>
        </sec>
      </sec>
      <sec id="sec-4-7">
        <title>Recomposition of Activity Clusters</title>
        <p>
          Creating a good activity clustering is essentially a graph partitioning problem.
The causal activity graph needs to be partitioned in parts that have (1) good
cohesion, (2) good coupling and (3) good balance. The existing maximal
decomposition approach [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] often leads to a decomposition that is too decomposed,
i.e. too ne-grained. Cohesion and balance of clusterings found by this approach
are usually quite good, since all clusters consist of only a few related activities.
However, coupling is inherently bad, since there's a lot of overlap in the activity
clusters and there are many causal relations across clusters. This decomposition
approach leads to unnecessary and unwanted overhead and potential decreased
model quality. We thus want to nd a possibly non-maximal decomposition
which optimizes the three clustering properties.
        </p>
        <p>Instead of applying or creating a di erent graph partitioning algorithm, we
recompose the activity clusters obtained by the vertex-cut decomposition. The
idea is that it is possible to create a clustering that has fewer larger clusters,
requiring less processing time to discover the nal model, because overhead as
well as cluster overlap are reduced. Additionally, model quality is likely to
increase because of the higher number of activities in the clusters and the lower
coupling between clusters.</p>
        <p>There are often many ways in which a clustering can be recomposed to the
desired amount of clusters, as shown in Figure 1. We are interested in the highest
quality clustering of the desired size, i.e. the clustering that has the best cohesion,
coupling and balance properties. A clustering that has a high clustering score
will very likely lead to such a decomposition.</p>
        <p>In order to nd a good decomposition in the form of a high-scoring clustering
quickly, we propose two agglomerative hierarchical recomposition approaches,
which iteratively merge clusters, reducing the size of the clustering by one each
iteration.
Proximity-based approach We propose an hierarchical recomposition
approach based on proximity between activity clusters, where cluster coupling is
used as the proximity measure. The starting point is the clustering as created
by the vertex-cut approach. We repeatedly merge the clusters closest to one
another (i.e. the pair of clusters with the highest coupling) until we end up with
the desired amount of clusters (k ). After the k-clustering is found, it is made
valid by removing any clusters that are a subcluster of another cluster, if such
clusters exist. It is therefore possible that the algorithm returns a clustering with
size smaller than k. By merging clusters we are likely to lower the overal
cohesion of the clustering. This drawback is minimized, as coupling is used as the
distance measure. Coupling is also minimized. The proximity-based hierarchical
recomposition approach however is less favored towards the balance property, as
it is possible that -because of high coupling between clusters- two of the larger
clusters are merged. In most processes however, coupling between two
\original" clusters will be higher than coupling between \merged" clusters. If not,
the two clusters correspond to parts of the process which are more di cult to
split up (e.g. a loop, a subprocess with many interactions and/or possible paths
between activities, etc.). Model quality is therefore also likely to increase by
merging these clusters, as process discovery algorithms don't have to deal with
missing activities, or incorrect causal relations introduced in the corresponding
sublogs. A possible downside is that as the clustering might be less balanced,
processing time can be slightly higher in comparison with a perfectly-balanced
decomposition.
Score-based approach We propose a second hierarchical recomposition
algorithm that uses the scoring function in a look-ahead fashion. In essence, this
algorithm, like the proximity-based variant, iteratively merges two clusters into
one. For each combination of clusters, the score of the clustering that results
from merging those clusters is calculated. The clustering with the highest score
is used for the next step. The algorithm is nished when a k-clustering is reached.
Like in the proximity-based approach, after the k-clustering is found, it is made
valid by removing any clusters that are a subcluster of another cluster, if such
clusters exist. The advantage of this approach is that speci c (combinations of)
clustering properties can be given priority, by setting their scoring weight(s)
accordingly. For example, it is possible to distribute the activities over the clusters
near perfectly, by choosing a high relative weight for balance. This would likely
lead to a lower overall processing time. However, it might lead to natural parts
of the process being split over multiple clusters, which could negatively a ect
model quality. A downside of this algorithm is that, as the algorithm only looks
ahead one step, it is possible that a choice is made that ultimately leads to a
lower clustering score, as that choice cannot be undone in following steps.
4.3</p>
      </sec>
      <sec id="sec-4-8">
        <title>Implementation</title>
        <p>
          All concepts and algorithms introduced in this paper are implemented in the
process mining toolkit ProM 1, developed at the Eindhoven University of
Technology. All work can be found in the BartHompes package2. For more elaborate
explanations, pseudo-code of the algorithms, and analysis results we refer to [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
5
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Use Case</title>
      <p>
        The proposed recomposition techniques are tested using event logs of di erent
sizes and properties. Results for an event log consisting of 33 unique activities,
and 1000 traces are shown in this section. For this test the ILP Miner process
discovery algorithm was used [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Discovering a model directly for this log will
lead to a high quality model, but takes 25 minutes on a modern quad-core
system [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The vertex-cut decomposed process mining approach is able to discover
a model in roughly 90 seconds, however the resulting model su ers from
disconnected activities (i.e. a partitioned model). The goal is thus to nd a balance
between processing times and model quality.
      </p>
      <p>We are interested in the clustering scores of each algorithm when
recomposing the clustering created by the vertex-cut approach to a certain smaller size.
Exhaustively nding the best possible clustering proved to be too time- and
resource-consuming, therefore, besides the two hierarchical approaches listed
here, a random recomposition approach was used which recomposes clusters
randomly one million times, as to give an idea of what the best possible
clustering might be. The highest found clustering score is shown on the graph. Equal
1 See http://www.processmining.org
2 See https://svn.win.tue.nl/repos/prom/Packages/BartHompes/
weights were used for the three clustering properties in order to compute the
clustering scores. As can be seen in Figure 2, the vertex-cut approach creates
22 clusters. We can see that all algorithms perform very similarly in terms of
clustering score. Only for very small clustering sizes the proximity-based
approach performs worse than the other approaches, due to its tendency to create
unbalanced clusters.</p>
      <p>Clustering scores
0,75
0,7
0,55
0,5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22</p>
      <p>#clusters</p>
      <p>Agglomerative Hierarchicalw/ Proximity Agglomerative Hierarchicalw/ Scoring Random(max)</p>
      <p>Besides clustering scores, we are even more interested in how each
decomposition method performs in terms of required processing time and quality of
the resulting process model. In Figure 3 we can see that decomposing the event
log drastically reduces processing times. For an event log this size, the
decomposition steps relatively takes up negligible time (see base of bars in gure), as
most time is spent discovering the submodels (light blue bars). Processing times
are reduced exponentially (as expected), until a certain optimum decomposition
(in terms of speed) is reached, after which overhead starts to increase time
linearly again. We have included two process models (Petri Nets) discovered from
the event log. Figure 4 shows the model discovered when using the vertex-cut
decomposition. Figure 5 shows the model discovered when using the clustering
recomposed to 11 clusters with the Proximity-based agglomerative hierarchical
approach. We can see that in Figure 4, activity \10" is disconnected (marked
blue). In Figure 5, this activity is connected, and a structure (loop) is
discovered. We can also see that activity \12" now is connected to more activities. This
shows that the vertex-cut decomposition sometimes splits up related activities,
which leads to a lower quality model. By recomposing the clusters we rediscover
these relations, leading to a higher quality model. Processing times for these two
models are comparable, as can be seen in Figure 3.</p>
      <p>Time per step &amp; Parti ti ons in model- ILP Miner Discovery Algorithm
900
800
700
600
s
d
no500
sce
n
ie400
m
i
T300
200
100
0
4
3
1
l
e
d
o
m
2 in
s
n
ito
r
a
P
2 3 4 A5gg6lom7era8vtie9Hie10rar1c1hi1c2al1w3/1P4ro1x5im16ity17 18 19 20 21 2 3 4 5Ag6glo7me8ravtie9 H1i0era11rch12ica1l3w1/4Sc1o5ri1n6g 17 18 19 20 21 22 0</p>
      <p>Max. Decomp.</p>
      <p>Recomposition method - # clusters</p>
      <p>Matrix Graph Clustering Sublogs Submodels Merge Partion sin model</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions and Future Work</title>
      <p>In decomposed process discovery, large event logs are decomposed by somehow
clustering their events (activities), and there are many ways these activity
clusterings can be made. Hence, good quality notions are necessary to be able to
assess the quality of a decomposition before starting the time-consuming actual
discovery algorithm. Being able to nd a high-quality decomposition plays a key
role in the success of decomposed process mining, even though the decomposition
step takes relatively very little time.</p>
      <p>By using a better decomposition, less problems arise when discovering
submodels for sublogs and when merging submodels into the overal process model.
We introduced three quality notions in the form of clustering properties:
cohesion, coupling and balance. It was shown that nding a non-maximal
decomposition can potentially lead to a decrease in required processing time while
maintaining or even improving model quality, compared to the existing
vertexcut maximal decomposition approach. We have proposed two variants of an
agglomerative hierarchical recomposition technique, which are able to create a
high-quality decomposition for any given size, in very little time.</p>
      <p>Even though the scope was limited to decomposed process discovery, the
introduced quality notions and decomposition approaches can be applied to
decomposed conformance checking as well. However, more work is needed to
incorporate them in a conformance checking environment.</p>
      <p>Besides nding a better decomposition, we believe improvements can be
gained in nding a better, more elaborate algorithm to merge submodels into the
overal process model. By simply merging submodels based on activity labels it is
likely that implicit paths are introduced. Model quality in terms of tness,
simplicity, generality or precision could su er. An additional post-processing step
(potentially using causal relations) could also solve this issue.</p>
      <p>Even though most interesting process discovery algorithms are exponential
in the number of di erent activities, adding an infrequent or almost unrelated
activity to a cluster might not increase computation time for that cluster as much
as adding a frequent or highly related one. Therefore, besides weighing causal
relations between activities in the causal activity matrix, activities themselves
might be weighted as well. Frequency and connectedness are some of the many
possible properties that can be used as weights. It might be possible that one
part of a process can be discovered easily by a simple algorithm whereas another,
more complex part of the process needs a more involved discovery algorithm to
be modeled correctly. Further improvements in terms of processing time can be
gained by somehow detecting the complexity of a single submodel in a sublog,
and choosing an adequate discovery algorithm.</p>
      <p>Finally, as discussed, the proposed recomposition algorithms expect the
desired amount of clusters to be given. Even though the algorithms were shown to
provide good results for any chosen number, the approach would bene t from
some method that determines a tting clustering size for a given event log. This
would also mean one less potentially uncertain step for the end-user.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <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, Berlin (
          <year>2011</year>
          )
          <volume>1</volume>
          ,
          <issue>3</issue>
          ,
          <issue>4</issue>
          ,
          <fpage>5</fpage>
        </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>
          :
          <article-title>Decomposing process mining problems using passages</article-title>
          .
          <source>In: Application and Theory of Petri Nets</source>
          , pp.
          <volume>72</volume>
          {
          <fpage>91</fpage>
          . Springer (
          <year>2012</year>
          )
          <fpage>2</fpage>
        </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>
          :
          <article-title>Distributed Process Discovery and Conformance Checking</article-title>
          . In: de Lara, J.,
          <string-name>
            <surname>Zisman</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . (eds.)
          <source>FASE. Lecture Notes in Computer Science</source>
          , vol.
          <volume>7212</volume>
          , pp.
          <volume>1</volume>
          {
          <fpage>25</fpage>
          . Springer (
          <year>2012</year>
          )
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>A general divide and conquer approach for process mining</article-title>
          .
          <source>In: Computer Science and Information Systems (FedCSIS)</source>
          , 2013 Federated Conference on. pp.
          <volume>1</volume>
          {
          <fpage>10</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2013</year>
          )
          <fpage>3</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Decomposing Petri nets for process mining: A generic approach</article-title>
          .
          <source>Distributed and Parallel Databases</source>
          <volume>31</volume>
          (
          <issue>4</issue>
          ),
          <volume>471</volume>
          {
          <fpage>507</fpage>
          (
          <year>2013</year>
          )
          <volume>2</volume>
          ,
          <issue>4</issue>
          ,
          <issue>6</issue>
          ,
          <fpage>9</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Bratosin</surname>
            ,
            <given-names>C.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sidorova</surname>
          </string-name>
          , N.,
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Distributed genetic process mining</article-title>
          .
          <source>In: Evolutionary Computation (CEC)</source>
          ,
          <source>2010 IEEE Congress on</source>
          . pp.
          <volume>1</volume>
          {
          <issue>8</issue>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2010</year>
          )
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Carmona</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Projection approaches to process mining using region-based techniques</article-title>
          .
          <source>Data Min. Knowl. Discov</source>
          .
          <volume>24</volume>
          (
          <issue>1</issue>
          ),
          <volume>218</volume>
          {
          <fpage>246</fpage>
          (
          <year>2012</year>
          ), http://dblp. uni-trier.de/db/journals/datamine/datamine24.html 2
        </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: Business Process Management (BPM2008)</source>
          . pp.
          <volume>358</volume>
          {
          <issue>373</issue>
          (
          <year>2008</year>
          )
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <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>Divide-and-conquer strategies for process mining</article-title>
          .
          <source>In: Business Process Management</source>
          , pp.
          <volume>327</volume>
          {
          <fpage>343</fpage>
          . Springer (
          <year>2009</year>
          )
          <fpage>3</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Goedertier</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martens</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vanthienen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baesens</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Robust Process Discovery with Arti cial Negative Events</article-title>
          .
          <source>Journal of Machine Learning Research</source>
          <volume>10</volume>
          ,
          <volume>1305</volume>
          {
          <fpage>1340</fpage>
          (
          <year>2009</year>
          )
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Hompes</surname>
            ,
            <given-names>B.F.A.</given-names>
          </string-name>
          :
          <article-title>On Decomposed Process Mining: How to Solve a Jigsaw Puzzle with Friends</article-title>
          .
          <source>Master's thesis</source>
          , Eindhoven University of Technology, Eindhoven, The
          <string-name>
            <surname>Netherlands</surname>
          </string-name>
          (
          <year>2014</year>
          ), http://repository.tue.
          <source>nl/776743 6</source>
          ,
          <fpage>11</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Mun</surname>
          </string-name>
          <article-title>~oz-</article-title>
          <string-name>
            <surname>Gama</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carmona</surname>
            , J., van der Aalst,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Conformance Checking in the Large: Partitioning and Topology</article-title>
          . In: Daniel,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Weber</surname>
          </string-name>
          ,
          <string-name>
            <surname>B</surname>
          </string-name>
          . (eds.)
          <source>BPM. Lecture Notes in Computer Science</source>
          , vol.
          <volume>8094</volume>
          , pp.
          <volume>130</volume>
          {
          <fpage>145</fpage>
          . Springer (
          <year>2013</year>
          )
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Mun</surname>
          </string-name>
          <article-title>~oz-</article-title>
          <string-name>
            <surname>Gama</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carmona</surname>
            , J., van der Aalst,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Hierarchical Conformance Checking of Process Models Based on Event Logs</article-title>
          . In: Colom,
          <string-name>
            <given-names>J.M.</given-names>
            ,
            <surname>Desel</surname>
          </string-name>
          ,
          <string-name>
            <surname>J</surname>
          </string-name>
          . (eds.)
          <source>Petri Nets. Lecture Notes in Computer Science</source>
          , vol.
          <volume>7927</volume>
          , pp.
          <volume>291</volume>
          {
          <fpage>310</fpage>
          . Springer (
          <year>2013</year>
          )
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Reguieg</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toumani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motahari-Nezhad</surname>
            ,
            <given-names>H.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Using mapreduce to scale events correlation discovery for business processes mining</article-title>
          .
          <source>In: Business Process Management</source>
          , pp.
          <volume>279</volume>
          {
          <fpage>284</fpage>
          . Springer (
          <year>2012</year>
          )
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Vanderfeesten</surname>
            ,
            <given-names>I.T.P.</given-names>
          </string-name>
          :
          <article-title>Product-based design and support of work ow processes (</article-title>
          <year>2009</year>
          )
          <fpage>3</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Verbeek</surname>
            ,
            <given-names>H.M.W.</given-names>
          </string-name>
          , van der Aalst,
          <string-name>
            <surname>W.M.P.</surname>
          </string-name>
          :
          <article-title>Decomposed Process Mining: The ILP Case</article-title>
          .
          <source>In: BPI 2014 Workshop</source>
          (
          <year>2014</year>
          ),
          <article-title>accepted for publication 4</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>van der Werf</surname>
            ,
            <given-names>J.M.E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>van Dongen</surname>
            ,
            <given-names>B.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hurkens</surname>
            ,
            <given-names>C.A.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Process discovery using integer linear programming</article-title>
          .
          <source>In: Applications and Theory of Petri Nets</source>
          , pp.
          <volume>368</volume>
          {
          <fpage>387</fpage>
          . Springer (
          <year>2008</year>
          )
          <fpage>11</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>