<!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>Instance-Level Constraints in Density-Based Clustering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Piotr Lasek</string-name>
          <email>lasek@ur.edu.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Chair of Computer Science, Rzeszow University ul.</institution>
          <addr-line>Prof. Pigonia 1, 35-310 Rzeszow</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
      </contrib-group>
      <fpage>11</fpage>
      <lpage>18</lpage>
      <abstract>
        <p>Clustering data into meaningful groups is one of most important tasks of both artificial intelligence and data mining. In general, clustering methods are considered unsupervised. However, in recent years, so-named constraints become more popular as means of incorporating additional knowledge into clustering algorithms. Over the last years, a number of clustering algorithms employing different types of constraints have been proposed. In this paper we focus on instance level constraints such as must-link and cannot-link and present theoretical considerations on employing them in a well know density-based clustering algorithm - DBSCAN. Additionally we present a modified version of the algorithm using the discussed type of constraints.</p>
      </abstract>
      <kwd-group>
        <kwd>data mining</kwd>
        <kwd>data clustering</kwd>
        <kwd>supervised clustering</kwd>
        <kwd>clustering with constraints</kwd>
        <kwd>instance-level constraints</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Clustering is one of well-known and often used data mining methods. Its goal is to
assign data objects (or points) to different clusters so that objects that were assigned
to the same clusters are more similar to each other than to objects assigned to another
clusters [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Clustering algorithms can operate on different types of data sources such as
databases, graphs, text, multimedia, or on any other datasets containing objects that
could be described by a set of features or relationships [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Performing a clustering task
over a dataset can lead to discovering unknown yet interesting and useful patterns or
trends in the dataset. Since clustering algorithms do not require any external knowledge
to be run (except simple algorithm’s parameters like k in the k-Means algorithm), the
process of clustering, in opposite to classification, is also often referred to as an
unsupervised learning. However, there has always been a natural need to incorporate already
collected knowledge into algorithms to make them better both in terms of efficiency and
quality of results. This need led to the emergence of a new branch of clustering
algorithms based on so-named constraints. Constraint-based clustering algorithms employ
the fact, that in many applications, the domain knowledge (e.g. in the form of labeled
objects) is already known or could be easily specified by domain experts. Moreover,
in some cases such knowledge can be automatically detected. Initially, researchers
focused on algorithms that incorporated pairwise constraints on cluster membership or
learned distance metrics. Subsequent research was related to algorithms that used many
different kinds of domain knowledge [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>The major contribution of this work is the offering of a method of using
instancelevel constraints in the DBSCAN algorithm.</p>
      <p>The paper is divided into six sections. In Section 1 we have given a brief
introduction to clustering with constraints. Next, in Section 2, we shortly describe most
known types of constraints and focus on instance-level constraints such as must-link
and cannot-link constraints. Section 3 shortly presents reference works in the field of
constrained clustering – especially those which are related to density-based clustering.
In Section 4, the DBSCAN algorithm is reminded. Further, in Section 5 we present the
proposed method. Conclusions are drawn and further research is briefly commented and
discussed in Section 6.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Instance-Level Constraints</title>
      <p>
        In constrained clustering algorithms background knowledge can be incorporated into
algorithms by means of different types of so-named constraints. Over the years,
different methods of using constraints in clustering algorithms have been developed [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
Constraint-based methods proposed so far employ techniques such as modifying the
clustering objective function including a penalty for satisfying specified constraints [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
clustering using conditional distributions in an auxiliary space, enforcing all constraints
to be satisfied during clustering process [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] or determining clusters and constraints
based on neighborhoods derived from already available labeled examples [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Several types of constraints are known. For example, instance constraints describing
relations between objects, distance constraints such as inter–cluster δ–constraints as
well as intra–cluster ǫ–constraints [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Nevertheless, the hard instance-level constraints
seem to be most useful since the incorporation of just few constraints of this type can
increase clustering accuracy as well as decrease runtime. In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] authors introduced two
kinds of instance-level constraints, namely: the must-link and cannot-link constraints.
These constraints are simple but they have interesting properties. For example
mustlink constraints are symmetrical, reflexive and transitive, similarly to an equivalence
relation: if two points, say p0 and p1, are in a must-link relationship (or, in other words,
are connected by a must-link constraint), then these points should be assigned to the
same cluster c by a clustering algorithm. On the other hand, if two points, say r0 and
r1, are in a cannot-link relationship (or are separated by a cannot-link constraint), then
these points must not be assigned to the same cluster c.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Related Works</title>
      <p>
        As mentioned before, in constrained clustering background knowledge can be
incorporated into algorithms by means of different types of constraints. Through the years,
different methods of using constraints in clustering algorithms have been developed [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
Constraint-based methods proposed so far employ techniques such as modifying the
clustering objective function including a penalty for satisfying specified constraints [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
clustering using conditional distributions in an auxiliary space, enforcing all constraints
to be satisfied during clustering process [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] or determining clusters and constraints
based on neighborhoods derived from already available labelled examples [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. On the
other hand, in the distance based methods, the distance measure is designed so that it
satisfies given constraints [
        <xref ref-type="bibr" rid="ref10 ref4">10, 4</xref>
        ]. It is worth mentioning that among constrained
algorithms proposed so far, there are only a few constraint-based representatives from the
interesting for us group of density based algorithms, namely: C-DBSCAN [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ],
DBCCOM [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] or DBCluC [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        C-DBSCAN is an example of a density-based algorithm using instance-level
constraints. In C-DBSCAN [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] two types of constraints are supported, namely must-link and
cannot-link constraints. In the first step, the algorithm partitions the dataset using the
KD-Tree [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Next, under cannot-link constraints, so-named local clusters are created
by means of density-reachable points. In case there is a cannot-link constraint between
points in the same leaf node of the KD-Tree, then each point in a currently traversed leaf
is labelled as a singleton local cluster. Otherwise, every point p from a leaf is checked,
whether p is a core point or not. If it is not, in other words, the number of points in an
ǫ-neighborhood of p is less than the value of M inP ts, then p is labelled as a NOISE
and is ignored. If it is, then all points that are density-reachable from p are assigned
to the same local cluster. Step 3a of the algorithm is designed for enforcing must-link
constraints. If points connected by must-link constraints were assigned to different
local clusters, then such clusters are merged into, so-named, a core local cluster. Step 3b
was designed for further merging of the local clusters in order to enforce cannot-link
constraints that have not been satisfied yet. Cluster merging is done by means of
hierarchical agglomerative clustering with single linkage. For each pair of candidate clusters
to be merged, it is checked whether they contain points that could be found in a set of
cannot-link constraints. If they are involved in a cannot-link constraint then the clusters
cannot be merged. The steps of the algorithm are stopped if the number of clusters does
not change any more.
      </p>
      <p>
        DBCluC [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] which was also based on the known DBSCAN algorithm [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] employs
an obstacle modelling approach for density-based clustering of large two–dimensional
datasets. By means of modelling of obstacles which improves the efficiency of
clustering it is also capable of detecting clusters of arbitrary shape and is not sensitive to
the order of points in a dataset as well as to the obstacle constraints and noise. The
efficiency of clustering is leveraged by a reduction of polygons modelling the
obstacles - the algorithm simply removes unnecessary edges from the polygons making the
clustering faster in terms of a number of constraints to be analysed.
      </p>
      <p>
        The DBCCOM algorithm [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] pre-processes an input dataset so that it considers the
presence of physical obstacles by modelling them - similarly to DBCluC. It can detect
clusters of arbitrary shapes and size and is also considered to be insensitive to noise as
well as an order of points in a dataset. The obstacles are modelled by representing them
as simple polygons and it uses a polygon edge reduction algorithm so that the number
of edges used to test visibility between points in space could be reduced in order to
improve the efficiency of DBCCOM so the results reported by authors of the algorithm
confirm that it can perform polygon reduction faster than DBCluC. The algorithm
comprises of three steps: first, it reduces the obstacles by employing the above mentioned
edge reduction method, then performs the clustering and finally applies hierarchical
clustering on formed clusters.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Density-Based Clustering</title>
      <p>The DBSCAN algorithm is a well known density-based clustering algorithm. Below we
remind the key definitions related to the DBSCAN algorithm which will be used in the
sequel. Notations and their descriptions are given in Table 1.</p>
      <sec id="sec-4-1">
        <title>Definition 1 (ǫ–neighborhood, or ǫN N (p) of point p). ǫ–neighborhood of point p is</title>
        <p>the set of all points q in dataset D that are distant from p by no more than ǫ; that is,
ǫN N (p) = {q ∈ D|dist(p, q) ≤ ǫ}, where dist is a distance function.</p>
      </sec>
      <sec id="sec-4-2">
        <title>Definition 2 (directly density-reachable points). Point p is directly density reachable</title>
        <p>(Figure 1) from point q with respect to ǫ and M inP ts if the following two conditions
are satisfied:
a) p ∈ ǫN N (q)</p>
        <sec id="sec-4-2-1">
          <title>b) q is a core point.</title>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>Definition 3 (density-reachable points). Point p is density-reachable from a point q</title>
        <p>with respect to epsilon and M inP ts ) if there is a sequence of points p1, ..., pn such
that p1 = q, pn = p and pi +1 and is directly density-reachable from pi, i = 1 . . . n−1.
(Figure 2)
Definition 4 (a border point). Point p is a border point if it is not a core point and is
density-reachable from a core point.</p>
        <p>Definition 5 (cluster). A cluster is a non-empty set of points in D which are
densityreachable from a same core point.</p>
        <p>Definition 6 (noise). Noise is the set of all points in D that are not density-reachable
from any core point.</p>
        <p>Firstly, the algorithm generates a label for the first cluster to be found. Next, the
points in D are read. The value of the ClusterId attribute of the first point read is equal
to UNCLASSIFIED. While the algorithm analyzes point after point, it may happen that
the ClusterId attributes of some points may change before these points are actually
analyzed. Such a case may occur when a point is density-reachable from a core point
examined earlier. Such density-reachable points will be assigned to the cluster of a
core point and will not be analyzed later. If a currently analyzed point p has not been
classified yet (the value of its ClusterId attribute is equal to UNCLASSIFIED), then
the ExpandCluster function is called for this point. If p is a core point, then all points
in C(p) are assigned by the ExpandCluster function to the cluster with a label equal to
the currently created cluster’s label. Next, a new cluster label is generated by DBSCAN.
Otherwise, if p is not a core point, the attribute ClusterId of point p is set to NOISE,
which means that point p will be tentatively treated as noise. After analyzing all points
in D, each pointŠs attribute ClusterId stores a respective cluster label or its value is
equal to NOISE. In other words, D contains only points which have been assigned to
particular clusters or are noise.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Clustering with Instance Constraints</title>
      <p>In this section we present how we adapted instance constraints in DBSCAN.</p>
      <p>In our proposal, we introduce another type of points, namely the deferred points
(Definition 7). Below we present the definition of deferred point as well as modified
definitions of cluster and noise - Definition 9 and Definition 10, respectively.
Definition 7 (deferred point). A point p is deferred if it is involved in a cannot-link
relationship with any other point or it belongs to a ǫ–neighborhood ǫN N (q), where q
is any point involved in a cannot-link relationship.</p>
      <p>Definition 8 (parent point). A parent point of a given point p is the point q which is
involved in a cannot-link relationship with any other point and p is located withing q’s
ǫN N (q).</p>
      <p>Definition 9 (cluster). A cluster is a maximal non-empty subset of D such that:
– for two non-deferred points p and q in the cluster, p and q are neighborhood-based
density-reachable from a local core point with respect to k, and if p belongs to
cluster C and q is also neighborhood-based density connected with p with respect
to k, then q belongs to C;
– a deferred point p is assigned to a cluster c if the nearest neighbour of p belongs to
c, otherwise p is considered as a noise point.</p>
      <sec id="sec-5-1">
        <title>Definition 10 (noise). The noise is the set of all points in D that:</title>
        <p>– are not density-reachable from any core point or
– being a deferred point had two or more neighbours located at the same distance
and thus could not be unambiguously assigned to a cluster.</p>
        <p>Our method works so that the DBSCAN algorithm (Figure 3) in the phase of
preparation omits all points which are involved in any cannot-link relationship and marks
them as DEFERRED. Then, it adds those points to an auxiliary list called Rd which will
be later used in the main loop of the algorithm and the AssignDeferredPoints function.</p>
        <p>Then the algorithm iterates through all UNCLASSIFIED points from D except
those which were added to Rd. For all of those points it calls the ExpandCluster
function (Figure 5) and passes all necessary parameters. The main modifications in this
function concern how points involved in must-link relationships are processed.
Basically, if such a point is found and it is a core point or belongs to a neighbourhood of a
points which is a core point, then it is assigned to seeds or curSeeds lists depending
on which part of the ExpandCluster function is being executed.</p>
        <p>The last part of the algorithm is to process DEFERRED points. This is done by
means of the AssignDeferredPoints function (Figure 4). This function performs so that
for each point q from Rd (a list of points which were marked as DEFERRED in the main
algorithm method) it determines what would be the nearest cluster of that point (gp).
Additionally it analyzes cannot-link points connected from the currently processed area
(an ǫ–neighbourhood of p) so that it checks whether the parent point of q (p) (which
nearest cluster is gp) and is in a cannot-link relationship with another parent point (p6=)
was assigned to the same cluster (gp6= ) If so, then the point q is marked as NOISE.
Otherwise, q is assigned to cluster gp.</p>
        <p>Algorihtm DBSCAN (D, k, C=, C6=)
1. Rd = ∅
2. label all points in D as UNCLASSIFIED;
3. ClusterId = label of a first cluster;
4. for each point q involved in any constraint from C6= do
5. label q and points in ǫNN(q) as DEFERRED;
6. endfor;
7. add all DEFERRED points to Rd;
8. foreach point p in set D \ Rd do
9. if (p.ClusterId = UNCLASSIFIED) then
10. if ExpandCluster(D, p, ClusterId, ǫ, MinPts) then
11. ClusterId = NextId(ClusterId);
12. endif;
13. endif;
14. endfor;
15. AssignDefferedPoints(D, p, ClId, MinPts, ǫ, C=, C6=);</p>
        <p>Fig. 3. The DBSCAN algorithm.</p>
        <p>Function AssignDeferredPoints(D, Rd, C6=)
1. for each point q ∈ Rd do
2. p ← GetParent(q);
3. gp ← NearestCluster(p);
4. p6= ← C6=(p);
5. gp6= = NearestCluster(p6=);
6. if gp 6= gp6= then
7. mark q as NOISE;
8. else if
9. assign point q to gp;
10. end if;
11. remove q from Rd;
12. end for;</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6 Conclusions and Further Research</title>
      <p>Must-link and cannot-link constraints are supposed to work so that points connected by
must-link constraints are assigned to the same clusters and points which are in
cannotlink relationships cannot be assigned to the same clusters. Obviously such constraints
may lead to many problems, not to mention the fact that some constraints may be
contradictory. Our approach slightly loosens both must-link and cannot-link constraints
by prioritizing them. The intuition is that must-link constraint are more important than
cannot-link constraints which gives us the advantage when trying to fulfill all constraint.
We try to fulfill all must-link constraints first (assuming of course that all of them are
valid) treating them as more important than cannot-link constraints. When processing
cannot-link constraints, points which are contradictory (in terms of fulfilling both
mustlink and cannot-link constraints are intuitively marked as noise.</p>
      <p>In this paper we presented a method of adapting the DBSCAN algorithm to work
with instance constraints. Our future works will focus on analyzing the complexity
of the proposed method as well as on testing its performance compared to other
constrained clustering algorithms.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Basu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Banerjee</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mooney</surname>
          </string-name>
          , R.:
          <article-title>Semi-supervised clustering by seeding</article-title>
          ,
          <source>In Proceedings of 19th International Conference on Machine Learning (ICML-2002</source>
          , Citeseer,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Basu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davidson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wagstaff</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Constrained clustering: Advances in algorithms, theory, and applications</article-title>
          , CRC Press,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bentley</surname>
            ,
            <given-names>J. L.</given-names>
          </string-name>
          :
          <article-title>Multidimensional binary search trees used for associative searching</article-title>
          ,
          <year>1975</year>
          ,
          <fpage>509</fpage>
          -
          <lpage>517</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <issue>4</issue>
          .
          <string-name>
            <surname>Chang</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yeung</surname>
          </string-name>
          , D.-Y.:
          <article-title>Locally linear metric adaptation for semi-supervised clustering</article-title>
          ,
          <source>Proceedings of the twenty-first international conference on Machine learning, ACM</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Davidson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Basu</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A survey of clustering with instance level constraints</article-title>
          ,
          <source>ACM Transactions on Knowledge Discovery from Data</source>
          ,
          <volume>1</volume>
          ,
          <year>2007</year>
          ,
          <fpage>1</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Davidson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ravi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Clustering with Constraints: Feasibility Issues and the k-Means Algorithm</article-title>
          .,
          <source>SDM</source>
          , 5,
          <string-name>
            <surname>SIAM</surname>
          </string-name>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Duhan</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sharma</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>DBCCOM: Density Based Clustering with Constraints and Obstacle Modeling</article-title>
          , in: Contemporary Computing, Springer,
          <year>2011</year>
          ,
          <fpage>212</fpage>
          -
          <lpage>228</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Ester</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kriegel</surname>
            ,
            <given-names>H.-P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sander</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>X.:</given-names>
          </string-name>
          <article-title>A density-based algorithm for discovering clusters in large spatial databases with noise</article-title>
          .,
          <source>Kdd</source>
          ,
          <volume>96</volume>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. Han,
          <string-name>
            <given-names>J</given-names>
            .,
            <surname>Kamber</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>Data Mining, Southeast Asia Edition: Concepts and Techniques</article-title>
          , Morgan kaufmann,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Hertz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bar-Hillel</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weinshall</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Boosting margin based distance functions for clustering</article-title>
          ,
          <source>Proceedings of the twenty-first international conference on Machine learning, ACM</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Spiliopoulou</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Menasalvas</surname>
          </string-name>
          , E.:
          <article-title>C-dbscan: Density-based clustering with constraints</article-title>
          , in: Rough Sets, Fuzzy Sets,
          <source>Data Mining and Granular Computing</source>
          , Springer,
          <year>2007</year>
          ,
          <fpage>216</fpage>
          -
          <lpage>223</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Wagstaff</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cardie</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Clustering with instance-level constraints</article-title>
          ,
          <source>AAAI/IAAI</source>
          , 1097,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Wagstaff</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cardie</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rogers</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schrödl</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , et al.:
          <article-title>Constrained k-means clustering with background knowledge, ICML, 1</article-title>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Zaïane</surname>
            ,
            <given-names>O. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
          </string-name>
          , C.-H.:
          <article-title>Clustering spatial data when facing physical constraints</article-title>
          ,
          <source>Data Mining</source>
          ,
          <year>2002</year>
          .
          <article-title>ICDM 2003</article-title>
          . Proceedings. 2002 IEEE International Conference on, IEEE,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>