<!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>Revisiting the GreCon Algorithm for Boolean Matrix Factorization</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. Computer Science, Palacky ́ University Olomouc</institution>
          ,
          <addr-line>Olomouc</addr-line>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2033</year>
      </pub-date>
      <fpage>0000</fpage>
      <lpage>0001</lpage>
      <abstract>
        <p>Over the past decade, the two most fundamental Boolean matrix factorization (BMF) algorithms, GreCon and GreConD, were proposed. Whereas GreConD has become one of the most popular algorithms, GreCon-an algorithm on which the GreConD was build-is somewhat forgotten. Although GreCon may produce better results than GreConD, computing BMF via this algorithm is time consuming. We show that the reasons for not using GreCon algorithm are no longer truth. We revise the algorithm and on various experiments we demonstrate that the revised version is competitive to current BMF algorithms in term of running time. Moreover, in some cases GreCon outperforms GreConD-the fastest BMF algorithm. Additionally, we argue that a search strategy of GreConD, notwithstanding it provides a good result, is limited. Furthermore, we show that our novel approach to GreCon opens a new door to further BMF research.</p>
      </abstract>
      <kwd-group>
        <kwd>Boolean matrix factorization</kwd>
        <kwd>Boolean matrix factorization Algorithms</kwd>
        <kwd>Formal concept analysis</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Boolean Matrix Factorization (BMF), also known as Boolean matrix
decomposition, is a well-established and widely used tool in data-mining and data
processing of Boolean (1/0) data.</p>
      <p>
        In the last decade there was a huge effort dedicated to a BMF research. In
many works (e.g. [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ]) a strong connection—which we consider in the paper—
between BMF and formal concept analysis (FCA) was established. FCA provides
a general framework for the BMF problem description. Namely, formal context
represents the input data and formal concepts represent factors in such data.
From this perspective, BMF can be seen as a covering of a formal context by
formal concepts [
        <xref ref-type="bibr" rid="ref10 ref2 ref3">2, 3, 10</xref>
        ].
      </p>
      <p>
        In the pioneer work [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] two main algorithms, GreCon and GreConD, for
BMF as well as a fundamental theory based on FCA were established.1 These
two algorithms are basic ones. Both utilize formal concepts as candidates for
1 The algorithms were originally called Algorithm 1 and 2. The names GreCon and
      </p>
      <p>GreConD come from later works.
factors. From these candidates the final factors are selected via a greedy choice.
A detailed description of these two algorithms is provided in Section 2.</p>
      <p>
        While the GreConD has become extremely popular, mainly due to its simple
architecture and performance—in a fact GreConD is one of the fastest BMF
algorithms and according to various experimental evaluations (see e.g. results in
[
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]) it provides a very good results from the quality viewpoint—the GreCon
is forgotten in the contemporary BMF research. There are two main reasons
for that: (i) GreCon is a very slow BMF algorithm. The algorithm requires
a several iterations over the set of all formal concepts, which may be large. (ii)
Results provided by GreConD are comparable to results provided by GreCon.
These two reasons stand on results presented in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and are widely adopted in
BMF research. In the paper, we argue that these reasons need to be revisited,
mainly according to a new development in BMF.
      </p>
      <p>The main aim of this paper is to show that the reasons for not using GreCon
algorithm are no longer valid—thanks to the development of algorithms for FCA
and, paradoxically, thanks to the development of the GreConD algorithm. The
main aim can be summarized as follows: (i) We reimplemented the GreCon
algorithm and on various experiments we demonstrate that the revised version
is competitive in term of running time with existing BMF algorithms. Moreover,
the new implementation in some cases outperforms GreConD. (ii) We show,
that the search strategy used by GreConD, despite it provides a good result, is
limited. In the paper, we compare the search spaces of GreCon and GreConD
and we briefly address the comparison of the results provided by both of them.
(iii) Last but not least, the massive speed up of GreCon presented in the paper
opens a new door to further BMF research. Namely, we utilize the GreCon
search strategy on a restricted set of formal concepts. Although this is not a
completely new idea, its application was limited, because of the speed of existing
algorithms. Moreover, in an experimental evaluation we show that this approach
may provides better results.</p>
      <p>The rest of the paper is organized as follows. In Section 2, we provide a
brief introduction to BMF, overview of related works and a description of the
basic algorithms, GreCon and GreConD. Then, in Section 3, a comparison
of GreCon and GreConD is discussed. Section 4 provides a description and
a pseudocode of the redesign GreCon algorithm. In Section 5, we present
results from various experimental evaluations. Section 6 summarizes the paper and
outlines a further research directions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>A Brief Introduction to BMF</title>
      <p>
        A good overview of BMF and related topics can be found e.g. in [
        <xref ref-type="bibr" rid="ref1 ref2 ref8">1, 2, 8</xref>
        ]. In
general, BMF and BMF algorithms are addressed in various papers involving
formal concept analysis [
        <xref ref-type="bibr" rid="ref3 ref6">3, 6</xref>
        ], role mining [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], binary databases [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] or bipartite
graphs [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. In this paper, we focus instead of a general BMF to a certain class of
factorization, so-called from-below matrix factorization [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], i.e. no entries in the
input data with a zero value are covered by some factor.
      </p>
      <p>A general aim of BMF is for a given Boolean matrix I ∈ {0, 1}m×n to find
matrices A ∈ {0, 1}m×k and B ∈ {0, 1}k×n for which</p>
      <p>
        I ≈ A ◦ B
(1)
where ◦ is Boolean matrix multiplication, i.e. (A ◦ B)ij = maxlk=1 min(Ail, Blj ),
and ≈ represents an approximate equality. This approximate equality is assessed
by || · || (i.e. by number of 1s) and with the corresponding metric E which is
defined for matrices I ∈ {0, 1}m×n, A ∈ {0, 1}m×k, and B ∈ {0, 1}k×n by
E(I, A ◦ B) = ||I
(A ◦ B)||,
(2)
where is Boolean subtraction which is the normal matrix subtraction with an
alternative definition 0 − 1 = 0. In other words, function E is a number of 1s
in I that are not in (A ◦ B). The metric (2), or its variant, is generally used to
assess the quality of factorization [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ].
      </p>
      <p>A decomposition of I into A◦B may be interpreted as a discovery of k factors
that exactly or approximately describe the data: interpreting I, A, and B as
the object-attribute, object-factor, and factor-attribute matrices. The model (1)
can be interpreted as follows: the object i has the attribute j, i.e. Iij = 1, if and
only if there exists factor l such that l applies to i and j is one of the particular
manifestations of l.
2.1</p>
      <sec id="sec-2-1">
        <title>BMF with Help of Formal Concept Analysis</title>
        <p>We already mentioned that the BMF is closely connected to FCA. The formal
context hX, Y, Ii with m objects and n attributes can be seen as a Boolean
matrix I ∈ {0, 1}m×n where Iij = 1 if hx, yi ∈ I, and vice versa. To every
I ∈ {0, 1}n×m one may associate a pair h↑, ↓i of arrow operators assigning to
sets C ⊆ X = {1, . . . , m} and D ⊆ Y = {1, . . . , n} the sets C↑ ⊆ Y and D↓ ⊆ X
defined by</p>
        <p>C↑ = {j ∈ Y | ∀i ∈ C : Iij = 1},</p>
        <p>D↓ = {i ∈ X | ∀j ∈ D : Iij = 1}.</p>
        <p>A pair hC, Di for which C↑ = D and D↓ = C is called a formal concept. The
set of all formal concepts for formal context hX, Y, Ii is defined as follows</p>
        <p>B(X, Y, I) = {hC, Di | C ⊆ X, D ⊆ Y, C↑ = D, D↓ = C}.</p>
        <p>For the sake of simplicity, we denote the set of all formal concepts for Boolean
matrix I by B(I). The set of all concepts can be equipped with a partial order
≤ such that hA, Bi ≤ hC, Di iff A ⊆ C (or D ⊆ B). The whole set of partially
ordered formal concepts is called the concept lattice of I.</p>
        <p>The set of formal concepts that is generated by single object (denoted by
O(I)) is called the set of object concepts, i.e. O(I) = {hi↑↓, i↑i | ∀i ∈ X}, and
the set that is generated by single attribute (denoted A(I)) is called the set of
attributes concepts, i.e. A(I) = {hj↓, j↓↑i | ∀j ∈ Y }.</p>
        <p>Now, we explain the connection between a set of formal concepts and the
BMF. Every set F = {hC1, D1i, . . . , hCk, Dki} ⊆ B(I), with a fixed indexing of
the formal concepts hCl, Dli induces the m × k and k × n Boolean matrices AF
and BF by
and
(AF )il =
(BF )lj =
1, if i ∈ Cl,
0, if i 6∈ Cl,
1, if j ∈ Dl,
0, if j 6∈ Dl,
for l = 1, . . . , k. That is, the lth column of AF and lth row BF are the
characteristic vectors of Cl and Dl, respectively. The set F is called a set of factor
concepts. The entry Iij = 1 is covered by formal concept hA, Bi if i ∈ A and
j ∈ B.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Algorithm GreCon</title>
        <p>
          The GreCon2 algorithm [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] is one of the straightforward algorithms for BMF
based on FCA. To produce matrices AF and BF it uses a greedy search for factor
concepts driven by metric (2). More precisely, the algorithm first computes the
set B(I). Then it iteratively goes through this set and in each iteration a factor
concept that covers the largest not yet covered part of input data is selected, i.e.
it is a set cover based algorithm. The algorithm is designed to compute an exact
(or approximate if it is stopped before the end) from-below matrix factorization.
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Algorithm GreConD</title>
        <p>
          One of the most successful algorithms for BMF is the GreConD3 algorithm [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]
which was originally designed to improve a running time of GreCon. To
produce the matrices AF and BF it uses a particular greedy search for factor
concepts which allows us to compute factor concepts “on demand”, i.e. without
the need to compute the set of all formal concepts for the input matrix first.
GreConD constructs the factor concepts by adding sequentially “promising
columns” to candidate hC, Di for factor concept. More formally, a new column j
that minimizes the error E(I, AF∪h(D∪j)↓,(D∪j)↓↑i ◦BF∪h(D∪j)↓,(D∪j)↓↑i) is added
to hC, Di. This is repeated until no such columns exist. If there is no such
column, hC, Di is added to the set F . This strategy leads to a huge time saving
while the quality of the decomposition is comparable with the decomposition
obtained via GreCon. Similar to GreCon, the algorithm is also designed to
compute an exact and approximate from-below factorization.
2 GreCon is the abbreviation for Greedy Concepts.
3 GreConD is the abbreviation for Greedy Concepts on Demand.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Comparison of GreCon and GreConD</title>
      <p>In what follows, we demonstrate differences between the search strategies of
GreConD and GreCon. Let us consider matrix I, depicted below, with rows
{1, 2, 3, 4, 5} and columns {a, b, c, d, e, f }
and two sets of factor concepts F1 and F2 that are computed via GreConD
and GreCon respectively. The corresponding matrices are:</p>
      <p>The search space, in each iteration of GreCon, is the set of all formal
concepts. Namely, in each the iteration all formal concepts in the concept lattice of
I (depicted in Figure 1) are considered as candidates for factors, in order in they
were generated.</p>
      <p>The search space of GreConD is different. GreConD always starts with
attributes concepts. Then it extends the selected concept via some promising
attributes, i.e. GreConD search space is limited to chains in the corresponding
concept lattice and the selection of a particular chain is driven by the greedy
choice. Note, the columns of the input matrix are considered in a fixed order.
As a consequence of this GreConD may stop in some local maximum.</p>
      <p>In a fact, this is true for the first iteration on our example data matrix I.
GreConD starts with attribute a which generates h{3, 4}, {a, e}i. All remaining
candidates (attribute concepts) have smaller or equal size as the first concept.
Then, h{3, 4}, {a, e}i is extended by some attributes to obtain a potentially better
candidate (candidate which covers more not yet covered entries of I), namely
attributes b, d, f are considered, meanwhile c is skipped because a, c, e do not
generate any formal concept. The concepts considered as candidates for factors
in the first iteration of GreConD are depicted by black nodes in Figure 1.
As a consequence of this GreConD is not able to discover the best choice
h{1, 4, 5}, {d, e}i.</p>
      <p>Despite the differences between the algorithms, the results produced by them
are comparable—GreConD produces slightly worse results than GreCon—in
terms of the overall coverage which is evaluated by the metric (2). The
comparison of the coverage is shown in Figure 2. Note, the coverage is computed as
1 − E(I|,|AI|◦|B) .</p>
      <p>1.0
0.8
aeg0.6
r
e
v
oC0.4
0.2
Fig. 2: Comparison of coverage produced by factorization obtained via GreCon
and GreConD on selected real-word data.</p>
      <p>
        This observation—in fact results presented in Figure 2 are standard in BMF—
was confirmed by previous works e.g. [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. The interpretation of this observation
is affected by a small misunderstanding. Namely, graphs in Figure 2 capture the
cumulative coverage, i.e. the sum of all covered entries for a given number of
factors. In this sum, the differences between the factorizations be may not easy
to see.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] a different kind of experiments were performed. Instead of plotting the
cumulative coverage, the coverage of i-th factor in one factorization in contrast
with the coverage of i-th factor in the second factorization is plotted, i.e. plotted
points have coordinates based on the number of covered entries. Results of this
experiments—[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] includes only the results for Mushroom data (see Section 5)—
for selected data are depicted in Figure 3.
      </p>
      <p>104
105
100
101
103</p>
      <p>104</p>
      <p>One may easily see, that the difference between factorizations may be very
large despite small differences in Figure 2. In case of Customers dataset
(Figure 3b) the datapoints are gathered close to the diagonal which means that
there is a small difference between the corresponding factors. In contrast with
this a significant difference between GreCon and GreConD on DNA dataset
(Figure 3c) may be observed.</p>
    </sec>
    <sec id="sec-4">
      <title>Redesign of GreCon</title>
      <p>Now we describe a basic idea of redesigning the GreCon algorithm. We call the
redesigned version of the algorithm GreCon2 because it is mainly an efficient
implementation of the original GreCon algorithm.</p>
      <p>Differently from GreCon, GreCon2 does not need repeatedly compute the
number of not yet covered entries for each formal concept—which is the most
time consuming task in GreCon. Instead of this the actual cover for all formal
concepts is maintained for the entire running time. For this purpose, a
convenient data structure which enables an additional speed up is used. Additionally,
GreCon2 does not iterate over all the formal concepts (i.e. data structure) but
only over the numbers (integers). A pseudocode of GreCon2, which accepts as
an input Boolean matrix I ∈ {0, 1}m×n, is depicted in Algorithm 1.</p>
      <sec id="sec-4-1">
        <title>Algorithm 1: GreCon2</title>
        <p>Input: Boolean matrix I ∈ {0, 1}m×n</p>
        <p>Output: Set F of factor concepts.
1 concepts ← B(I);
2 foreach hAl, Bli ∈ concepts do
3 covers[l] ← ||Al|| · ||Bl||
4 foreach (i, j) ∈ hAl, Bli do
5 append l to list cell[i · n + j]
6 end
7 end
8 while AF ◦ BF 6= I do
9 add hAl, Bli which maximizes covers[l] to F
10 foreach (i, j) ∈ hAl, Bli do
11 foreach k ∈ cell[i · n + j] do
12 covers[k] ← covers[k] − 1
13 end
14 delete list cell[i · n + j]
15 end
16 end</p>
        <p>In the first phase, GreCon2 computes the set of all formal concepts B(I)
(line 1). Then the algorithm computes a coverage for each concept—stores in
array covers (line 3)—and for each Iij constructs a list of concepts that cover
Iij (lines 4–6). These lists are stored in array cell on a corresponding indexes
(line 5). Note that accessing the entries of arrays covers and cell requires a
constant time.</p>
        <p>In the second phase, GreCon2 performs linear search in array covers and
adds to F concept hAl, Bli for which the value of cover[l] is maximal (line 9).
For each Iij covered by hAl, Bli GreCon2 decrease values in array covers for
each concept that covers Iij (lines 10–13) and deletes the list for Iij (line 14).
The second phase is repeated until all the entries of the input data matrix are
covered or, equivalently, there is no covers[l] &gt; 0.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Experimental Evaluation</title>
      <p>In this section, we present results of an experimental comparison of GreCon,
GreConD and GreCon2. We implemented4 all three algorithms in the Swift
programming language with the same level of optimization to make the
comparison fair.
5.1</p>
      <sec id="sec-5-1">
        <title>Datasets</title>
        <p>
          We used eight real-world datasets, namely Advertisement, Mushroom, Tic Tac
Toe from [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]; Americas small, Apj, Customer, Firewall 1 from [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]; and DNA [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
The characteristics of the datasets are shown in Table 1. Specifically the
number of objects, the number of attributes, the density of nonzero entries in data
in percents, the number of concepts, and the number of object and attribute
concepts. All of them are well known and widely used as benchmark datasets in
BMF.
We compared the running times of GreCon, GreConD and GreCon2. All
experiments were performed on an ordinal computer with 2.7GHz Quad-Core
Intel Core i7 processor and 16GB of RAM. Each algorithm was run 5 times
on a particular data and the average time as well the standard deviation (the
numbers after ±) are reported in Table 2. Note, the running times do not involve
the time required to load input data. In case of GreCon and GreCon2, the
time required for the computation of all formal concepts, which is done via our
implementation of FCbO algorithm [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], is included in each iteration.
        </p>
        <p>Table 2 shows that in all cases GreCon2 significantly outperforms
original GreCon algorithm. Moreover, in most cases GreCon2 outperforms
GreConD. GreConD performs well on datasets where the number of attributes
4 All implementations together with scripts that performs all presented experiments
are available on the GitHub https://github.com/rvyjidacek/experiments-cla2020
is rather small. This is the reason why GreConD outperforms GreCon2 on
Mushroom dataset which has a larger number of concepts and only a small
number of attributes.</p>
        <p>Note that our implementation of GreCon2 may be improved. Namely the
construction phase of the algorithm (lines 2–6 in Algorithm 1) can be a part of
FCbO algorithm (line 1). We decide to keep these two parts separated to make
the comparison between GreCon and GreCon2 fair.
A significant speed up provided by GreCon2 allows us to consider the set of all
formal concepts as a set of candidates for factors. Despite considerable speedup,
the set may be still too large (like in the case of Mushroom dataset). As a
very promising research direction seems to be a restriction of the set of formal
concepts, i.e. skip formal concepts that are potentially not a good candidates
for factors. To demonstrate this idea, we consider in GreCon2 the set O(I) ∪
A(I) instead of B(I). We perform the same experiments as above and compare
GreCon2 with the restricted search space and unchanged GreConD.</p>
        <p>From the results shown in Table 3, we observe that GreCon2 significantly
outperforms GreConD in therm of running times. Moreover, in this case
GreCon2 produces slightly better results in terms of overall coverage (see Figure 4)
and in some cases a smaller number of factors than GreConD (see Table 3).</p>
        <p>GreCon2</p>
        <p>GreConD
100 200 300 400 500 600 700</p>
        <p>Number of Factors
(a) Advertisement
0 25 50 75 Num1b0e0r of Factors 150 175 200</p>
        <p>125
(b) Americas small
GreCon2
GreConD
100
We proposed a revised version of GreCon algorithm which significantly
outperforms the original algorithm and which is competitive to the fastest BMF
algorithms. Additionally, we show that our approach enables us to consider a
larger search space than one of the most popular BMF algorithms, which in the
past has caused that GreCon to be forgotten in BMF research.</p>
        <p>Further research shall include an efficient implementation of the approach;
a deep investigation of how the set of all formal concepts may be restricted
without affecting the outcome quality; and last but not least, a parallelization
of the approach.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>Supported by Junior research Grant No. JG 2020 003 of the Palacky´ University
Olomouc. Support by Grant No. IGA PrF 2020 030 of IGA of Palacky´ University
is also acknowledged.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Belohlavek</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Outrata</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trnecka</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Toward quality assessment of Boolean matrix factorizations</article-title>
          .
          <source>Inf. Sci</source>
          .
          <volume>459</volume>
          ,
          <fpage>71</fpage>
          -
          <lpage>85</lpage>
          (
          <year>2018</year>
          ). https://doi.org/10.1016/j.ins.
          <year>2018</year>
          .
          <volume>05</volume>
          .016
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Belohlavek</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trnecka</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>From-below approximations in Boolean matrix factorization: Geometry and new algorithm</article-title>
          .
          <source>J. Comput. Syst. Sci</source>
          .
          <volume>81</volume>
          (
          <issue>8</issue>
          ),
          <fpage>1678</fpage>
          -
          <lpage>1697</lpage>
          (
          <year>2015</year>
          ). https://doi.org/10.1016/j.jcss.
          <year>2015</year>
          .
          <volume>06</volume>
          .002
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Belohlavek</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vychodil</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Discovery of optimal factors in binary data via a novel method of matrix decomposition</article-title>
          .
          <source>J. Comput. Syst. Sci</source>
          .
          <volume>76</volume>
          (
          <issue>1</issue>
          ),
          <fpage>3</fpage>
          -
          <lpage>20</lpage>
          (
          <year>2010</year>
          ). https://doi.org/10.1016/j.jcss.
          <year>2009</year>
          .
          <volume>05</volume>
          .002
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Ene</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horne</surname>
            ,
            <given-names>W.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Milosavljevic</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rao</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schreiber</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tarjan</surname>
            ,
            <given-names>R.E.</given-names>
          </string-name>
          :
          <article-title>Fast exact and heuristic methods for role minimization problems</article-title>
          . In: Ray,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <source>(eds.) 13th ACM Symposium on Access Control Models and Technologies</source>
          ,
          <string-name>
            <surname>SACMAT</surname>
          </string-name>
          <year>2008</year>
          ,
          <article-title>Estes Park</article-title>
          , CO, USA, June 11-13,
          <year>2008</year>
          , Proceedings. pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          . ACM (
          <year>2008</year>
          ). https://doi.org/10.1145/1377836.1377838
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Geerts</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goethals</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , Mielika¨inen, T.:
          <article-title>Tiling databases</article-title>
          . In: Suzuki,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Arikawa</surname>
          </string-name>
          , S. (eds.) Discovery Science, 7th International Conference, DS 2004, Padova, Italy, October 2-
          <issue>5</issue>
          ,
          <year>2004</year>
          ,
          <source>Proceedings. Lecture Notes in Computer Science</source>
          , vol.
          <volume>3245</volume>
          , pp.
          <fpage>278</fpage>
          -
          <lpage>289</lpage>
          . Springer (
          <year>2004</year>
          ). https://doi.org/10.1007/978-3-
          <fpage>540</fpage>
          -30214-8 22
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ignatov</surname>
            ,
            <given-names>D.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nenova</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Konstantinova</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Konstantinov</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          :
          <article-title>Boolean matrix factorisation for collaborative filtering: An fca-based approach</article-title>
          . In: Agre,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Hitzler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Krisnadhi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.A.</given-names>
            ,
            <surname>Kuznetsov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.O</given-names>
            . (eds.) Artificial Intelligence: Methodology,
            <surname>Systems</surname>
          </string-name>
          , and Applications - 16th International Conference, AIMSA 2014, Varna, Bulgaria,
          <source>September 11-13</source>
          ,
          <year>2014</year>
          .
          <source>Proceedings. Lecture Notes in Computer Science</source>
          , vol.
          <volume>8722</volume>
          , pp.
          <fpage>47</fpage>
          -
          <lpage>58</lpage>
          . Springer (
          <year>2014</year>
          ). https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          - 10554-3 5, https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -10554-3 5
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Lichman</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>UCI machine learning repository (</article-title>
          <year>2013</year>
          ), http://archive.ics.uci.edu/ml
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Miettinen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Mielika¨inen, T.,
          <string-name>
            <surname>Gionis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Das</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mannila</surname>
          </string-name>
          , H.:
          <article-title>The discrete basis problem</article-title>
          .
          <source>IEEE Trans. Knowl. Data Eng</source>
          .
          <volume>20</volume>
          (
          <issue>10</issue>
          ),
          <fpage>1348</fpage>
          -
          <lpage>1362</lpage>
          (
          <year>2008</year>
          ). https://doi.org/10.1109/TKDE.
          <year>2008</year>
          .53
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Monson</surname>
            ,
            <given-names>S.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pullman</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rees</surname>
            ,
            <given-names>R.:</given-names>
          </string-name>
          <article-title>A survey of clique and biclique coverings and factorizations of (0,1)-matrices</article-title>
          . No.
          <volume>14</volume>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Mouakher</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yahia</surname>
          </string-name>
          , S.B.:
          <article-title>QualityCover: Efficient binary relation coverage guided by induced knowledge quality</article-title>
          .
          <source>Inf. Sci</source>
          .
          <volume>355</volume>
          -
          <issue>356</issue>
          ,
          <fpage>58</fpage>
          -
          <lpage>73</lpage>
          (
          <year>2016</year>
          ). https://doi.org/10.1016/j.ins.
          <year>2016</year>
          .
          <volume>03</volume>
          .009
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Myllykangas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Himberg</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , B¨ohling, T.,
          <string-name>
            <surname>Nagy</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , Hollm´en, J.,
          <string-name>
            <surname>Knuutila</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Dna copy number amplification profiling of human neoplasms</article-title>
          .
          <source>Oncogene</source>
          <volume>25</volume>
          (
          <issue>55</issue>
          ),
          <fpage>7324</fpage>
          -
          <lpage>7332</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Outrata</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vychodil</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Fast algorithm for computing fixpoints of galois connections induced by object-attribute relational data</article-title>
          .
          <source>Inf. Sci</source>
          .
          <volume>185</volume>
          (
          <issue>1</issue>
          ),
          <fpage>114</fpage>
          -
          <lpage>127</lpage>
          (
          <year>2012</year>
          ). https://doi.org/10.1016/j.ins.
          <year>2011</year>
          .
          <volume>09</volume>
          .023
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>