<!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>Algorithm from Today's Perspective</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Trnecka</string-name>
          <email>martin.trnecka@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Palacky University</institution>
          ,
          <addr-line>Olomouc</addr-line>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
      </contrib-group>
      <fpage>167</fpage>
      <lpage>178</lpage>
      <abstract>
        <p>8M is an old but nowadays virtually unknown algorithm for Boolean matrix factorization. In this paper, we provide a detailed analysis of 8M. We demonstrate by experiments that even though the algorithm uses a limited insight into the decomposition problem, its performance is reasonably good even from today's perspective. We analyze all the steps involved in 8M, provide a first complete description of 8M, and the relationships of 8M to the main currently available factorization algorithms. It turns out that 8M involves certain interesting concepts, which are not exploited by the current algorithms. We discuss the prospect of these concepts and, furthermore, propose an enhancement of 8M which is based on the current understanding of Boolean matrix factorization and significantly improves the performance of the original 8M.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>1.1</p>
    </sec>
    <sec id="sec-2">
      <title>Introduction</title>
      <sec id="sec-2-1">
        <title>The Goal of this Paper</title>
        <p>
          In the past decade or so, considerable research has been devoted to Boolean
matrix factorization (BMF, called also Boolean matrix decomposition). This
research has resulted in various new methods of analysis and processing of Boolean
data and has also contributed to our understanding of Boolean (binary, yes/no)
data as regards foundational aspects. A vast majority of the respective research
contributions has been devoted to the design of factorization algorithms, which
is also the subject of our paper. To name some of the best-known algorithms
(more detailed information about some of these algorithms is provided in the
subsequent sections), let us recall Tiling [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], the nowadays classic Asso [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ],
GreConD [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], Hyper [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ], PaNDa [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], GreEss [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], and various modifications
of these algorithms and modifications of the factorization problems discussed in
the above-mentioned papers, as well as in [
          <xref ref-type="bibr" rid="ref10 ref12 ref14 ref16 ref18 ref4">4,10,12,14,16,18</xref>
          ].
        </p>
        <p>
          Interestingly, there exists an old BMF algorithm, namely the 8M algorithm,
which is virtually unknown in the present research on BMF. This fact is
remarkable particularly in view of our experimental evaluations which demonstrate that
the 8M algorithm performs reasonably well even from today’s perspective. We
learned about this algorithm from Hana Rˇ ezankov´a who used it in her
various works on comparison of various clustering and factorization methods; see
e.g. the references in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. Even though the performance of 8M may be partially
assessed from those works, the principles of 8M have never been discussed in
c paper author(s), 2018. Proceedings volume published and copyrighted by its editors.
        </p>
        <p>
          Paper published in Dmitry I. Ignatov, Lhouari Nourine (Eds.): CLA 2018, pp.
167{178, Department of Computer Science, Palacky University Olomouc, 2018.
Copying permitted only for private and academic purposes.
the literature. The goal of this paper is threefold. First, we provide a complete
description of the 8M algorithm, including its pseudo-code and the description
of its principles from today’s perspective. Second, we propose an improvement
of the 8M algorithm, which turns out to improve its performance reasonably.
Third, we utilize one of the principles of 8M to enhance the performance of two
standard algorithms. Note at this point that we discussed the 8M algorithm in
our yet unpublished paper [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] in which we were solely interested in one particular
property of this algorithm which we exploited in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]; the present description is
complete and comprehensive compared to the one presented in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
1.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Basic Notions</title>
        <p>The set of all n × m Boolean matrices shall be denoted {0, 1}n×m and the
particular matrices by I, J , and the like. An input matrix I shall primarily be
interpreted as an object-attribute incidence matrix (hence the symbol I). That
is, the entry Iij corresponding to the row i and the column j is either 1 or 0,
indicating that the object i does or does not have the attribute j, respectively.
The ith row and jth column vector of I is denoted by Ii and I j , respectively.
In BMF, one generally attempts to find for a given I ∈ {0, 1}n×m matrices
A ∈ {0, 1}n×k and B ∈ {0, 1}k×m for which</p>
        <p>I (approximately) equals A ◦ B,
where ◦ is the Boolean matrix product, i.e. (A ◦ B)ij = maxlk=1 min(Ail, Blj ).
A decomposition of I into A ◦ B may be interpreted as a discovery of k factors
that exactly or approximately explain the data: Interpreting I, A, and B as
object-attribute, object-factor, and factor-attribute matrices, model (1) reads:
The object i has the attribute j if and only if there exists factor l such that l
applies to i and j is one of the particular manifestations of l. The least k for
which an exact decomposition I = A ◦ B exists is called the Boolean rank (or
Schein rank) of I. The approximate equality in (1) is assessed in BMF by means
of the metric E(·, ·), defined for C, D ∈ {0, 1}n×m by</p>
        <p>E(C, D) = Pm,n
i,j=1 |Cij − Dij |.</p>
        <p>(1)
(2)
The following particular variants of the BMF problem, relevant to this paper,
are considered in the literature.</p>
        <p>
          – Discrete Basis Problem (DBP, [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]):
        </p>
        <p>
          Given I ∈ {0, 1}n×m and a positive integer k, find A ∈ {0, 1}n×k and B ∈
{0, 1}k×m that minimize E(I, A ◦ B).
– Approximate Factorization Problem (AFP, [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]):
        </p>
        <p>Given I and prescribed error ε ≥ 0, find A ∈ {0, 1}n×k and B ∈ {0, 1}k×m
with k as small as possible such that E(I, A ◦ B) ≤ ε.</p>
        <p>These problems reflect two important views of BMF: DBP emphasizes the
importance of the first few (presumably most important) factors; AFP emphasizes
the need to account for (and thus to explain) a prescribed portion of data.
In general, the committed error E(I, A ◦ B) has two parts, namely
E(I, A ◦ B) = Eu(I, A ◦ B) + Eo(I, A ◦ B),
(3)
where Eu(I, A ◦ B) = |{hi, ji | Iij = 1 and (A ◦ B)ij = 0}| and Eo(I, A ◦ B) =
|{hi, ji | Iij = 0 and (A ◦ B)ij = 1}| are the so-called undercovering error and
overcovering error, respectively, which view shall be used below.
2
2.1
8M</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Described</title>
      <sec id="sec-3-1">
        <title>History of 8M</title>
        <p>The 8M method is one of the many data analysis methods available in an old
and widely used statistical software package known as BMDP. The acronym
“BMDP” stands for “Bio-Medical Data Package” (some sources say “BioMeDical
Package”). The package was developed primarily for biomedical applications
since the 1960s at the University of California in Los Angeles (UCLA) under
the leadership of W. J. Dixon.1 BMDP was originally available for free, later
through BMDP Statistical Software, Inc., and then by its subsidiary, Statistical
Solutions Ltd. As of 2017, BMDP is no longer available.2</p>
        <p>
          BMDP and its methods are described in several editions of manuals, starting
with a 1961 manual of BMD, a direct predecessor of BMDP. In our description of
8M, we use the 1992 edition [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], which accompanies release 7 of BMDP. There,
8M is described in chapter “Boolean factor analysis” on pp. 933–945, written
by M. R. Mickey, L. Engelman, and P. Mundle, and in appendix B.11 on pp.
1401–1403.
        </p>
        <p>The 8M method has been added to BMDP in the late 1970s: It was not part of
the 1979 manual but it is part along with other new methods in the next version,
whose revised printing appeared in 1983. According to this edition, 8M is based
on research done by the statistician M. Ray Mickey of the UCLA, was designed
by Mickey with contributions from Laszlo Engelman, and was programmed by
Peter Mundle and Engelman.3
2.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Description of the Method</title>
        <p>
          Even though the description of 8M in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] is fairly detailed, certain parts are
somewhat unclear, both as to the procedural details and the rationale of
various steps. As to the procedural details, we therefore examined the step-by-step
1 The package grew out from an older computer program BIMED, which was
developed for biomedical applications, and was first called BMD. Since the implemented
methods allowed a parameterized format, the letter “P” was added. Later, “P” was
interpreted as standing for “Package.”
2 We crosschecked our implementation against the version of BMDP we purchased in
2015 from Statistical Solutions Ltd.
3 The references of the BMDP manual include some papers by Mickey but none of
them concerns 8M and Boolean factor analysis.
program behavior on various data to figure out the unclear parts until our own
implementation yielded the same results as the software which we purchased
from Statistical Solutions Ltd. As to the rationale, we provide our explanation
of the particular steps of 8M below.
        </p>
        <p>Basic Idea We first describe the basic idea of 8M. The algorithm takes as its
input four parameters: an n × m Boolean matrix I (object-attribute matrix),
a number k of desired factors, and two auxiliary parameters, a number init of
initial factors, and a number cost used to refine the factors being computed. The
desired output consists of n × k and k × m Boolean matrices A (object-factor
matrix) and B (factor-attribute matrix).</p>
        <p>The algorithm starts by computing init initial factors. Then the algorithm
iteratively computes new factors until k desired factors are obtained. The way
8M computes the factors is very different from the current BMF algorithms
in two respects. First is the very way of generating a new factor. Second is
the fact that the previously generated factors are revisited and dropped. The
corresponding procedures are described in detail below.</p>
        <p>
          Even though 8M’s revisiting of the previously generated factors is done in a
straightforward manner, it represents an interesting property. Namely, while the
undercovering and overcovering error, Eu and Eo, see (3), seem symmetric, they
have a different role in the design of BMF algorithms: Due to the NP-hardness
of the various versions of the decomposition problem [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], most of the current
factorization algorithms are heuristic approximation algorithms computing the
factors one-by-one until a satisfactory factorization is obtained. Now, having
computed say k factors, the next computed factor may make the overall error
E smaller but its overcover part Eo never decreases (hence the decrease is E
is due to a decrease in Eu). Put another way, while committing the Eu error
may be repaired by adding further factors, committing the Eo error will never
be repaired by adding further factors and must thus be carefully considered.
Revisiting and possibly dropping some of the previously generated factors is a
natural procedure to cope with this problem as it makes it possible to repair the
Eo error. From this perspective it is interesting to note that while the current
algorithms producing general factorization, such as Asso or PaNDa, do not use
any kind of revisiting, the old 8M already used this idea.
        </p>
        <p>Detailed Description and Pseudocode of 8M (algorithm 1) To compute n × k
and k × m Boolean matrices A and B form the given n × m Boolean matrix I,
the prescribed number init of initial factors, the desired number k of factors, and
the parameter cost , the algorithm 8M (algorithm 1) proceeds as follows. First,
init initial factors are computed (l. 1) as explained below. Note at this point
that by default, init = k − 2 but init is generally set by the user. The variable f
storing the number of the currently computed factors is set accordingly (l. 2). The
matrices A and B are then refined (l. 3) by the procedure RefineMatricesAB
described below. The algorithm then enters a loop (l. 5–17) whose purpose is
to add new factors and remove some of the previously generated ones until the
desired number k of factors is reached for the second time or all 1s in I are covered</p>
      </sec>
      <sec id="sec-3-3">
        <title>Algorithm 1: 8M</title>
        <p>Input: Boolean n × m matrix I, desired number of factors k, number init of
initial factors, number cost</p>
        <p>Output: Boolean matrices A and B
add column j of Δ+ with the largest count of 1s as new column to A
add row of 0s as new row to B and set entry j of this row to 1
f ← f + 1
RefineMatricesAB(A, B, I, cost)
if another two new factors were added then
remove column A (f−2) from A and row B(f−2) from B
f ← f − 1</p>
        <p>RefineMatricesAB(A, B, I, cost)
by A ◦ B, i.e. Iij ≤ (A ◦ B)ij for all i, j holds (l. 5). Whenever a factor is added
or removed, A and B are refined. Adding and removing factors is performed
according to the following scheme. One starts with f = init factors, adds two
factors so that f + 2 factors are obtained, then removes the factor generated
two steps back, i.e. the f th factor, adds another two factors, removes a factor
generated two steps back, and so on. Hence, starting with init = 2 factors, one
successively obtains 2, 3, 4, 3, 4, 5, 4, 5, 6, 5, 6, 7, 6, 7, 8, etc. factors. One stops
when the desired number k of factors is obtained the second time. For instance, if
k = 6 one computes the sequence 2, 3, 4, 3, 4, 5, 4, 5, 6, 5, 6 of factors and the last
six factors are the final factors output by the algorithm (provided the algorithm
does not stop due to the second condition in l. 5).</p>
        <p>The initial factors are computed by ComputeInitialFactors (algorithm 2)
as follows. First, an m × m matrix C is computed in which Cij = 1 iff column
i is included in column j in I (i.e. Iqi ≤ Iqj for each q). One then goes through
the rows i of C, i = 1, 2, . . . , and adds them as new rows of B until init rows
have been added: row i of C is added to B provided there exists j with Cij = 1
such that no row previously added to B contains 1 at position j.</p>
        <p>Initialization of the factors is a key step in 8M in that the quality of the
computed factorization depends on it. Below we propose a new way to initialize.
At this point, let us point out an interesting observation. Computing the
association matrix in the Asso algorithm is a kind of initialization. In particular,</p>
        <sec id="sec-3-3-1">
          <title>Algorithm 2: ComputeInitialFactors</title>
          <p>Input: n × m Boolean matrix I and the number of initial factors init
Output: init × m Boolean matrix B
the vectors of the association matrix serve as the candidate B-parts of factors.
Now, it is easy to observe that to select the rows of the association matrix, Asso
uses basically the same strategy as 8M, only more general. Where 8M tests
inclusion of columns i and j (l. 3 of algorithm 2), Asso tests whether the degree
of partial inclusion of column i in column j exceeds a user-specified threshold τ
(or whether the confidence of the association rule {i} ⇒ {j} exceeds τ in terms
of Asso). Setting τ = 1 would yield the same vectors in the association matrix
of Asso as what 8M uses as the initial factors. Even though we do not explore
this observation in this paper, is shall be explored further.</p>
        </sec>
        <sec id="sec-3-3-2">
          <title>Algorithm 3: RefineMatricesAB</title>
          <p>Input: Boolean matrices A, B, I, number cost
1 repeat
2 RefineMatrixA(A, B, I, cost)
3 RefineMatrixB(A, B, I, cost)
4 until loop executed 3 times or A and B did not change</p>
          <p>Refining of A and B by RefineMatricesAB (algorithm 3) consists in
performing a cycle until A and B do not change but at most three times, in which A
is computed from I, B, and the parameter cost by a so-called Boolean regression
described in RefineMatrixA (algorithm 4), followed by computing
symmetrically B using RefineMatrixB. A new factor is computed in l. 6–8 of 8M by
computing first the positive part Δ+ of the discrepancy matrix Δ = I − A ◦ B,
one adds to A as new column the column j of Δ+ containing the largest number
of 1s, and adds to B a row of 0s with 1 at position j. For space reasons, we do
not describe the meaning of Boolean regression further here; it shall be described
in an extended version of this paper.</p>
        </sec>
        <sec id="sec-3-3-3">
          <title>Algorithm 4: RefineMatrixA</title>
          <p>Input: Boolean matrices A, B, I and cost</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Experimental Evaluation</title>
      <sec id="sec-4-1">
        <title>Datasets and Algorithms</title>
        <p>
          Our evaluation involves the real-world datasets Apj [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] (2044 × 1164, density
0.003), DNA [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] (4590×392, density 0.015), Emea [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] (3046×35, density 0.068),
Chess [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] (size 3196 × 76, density 0.487), Firewall 1 [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] (365 × 709, 0.124),
Firewall 2 [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] (325 × 590, 0.190), Mushroom [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] (8124 × 119, 0.193), and Paleo4
(501 × 139, density 0.051) well known and commonly used in the literature on
BMF. Note that size refers to the number of objects × number of attributes and
that density is the percentage of the entries with 1 of the dataset. Moreover,
we used two collections, X1 and X2, of synthetic datasets. Each collection
includes 1000 randomly generated matrices obtained as Boolean products A ◦ B
of 1000 × 40 and 40 × 500 matrices A and B which are randomly generated. The
4 NOWpublic release 030717, available from http://www.helsinki.fi/science/now/.
average densities of datasets included in X1 is 0.15. In case of X2, the
average densities are 0.2. An extended version shall contain more datasets but the
present results are representative of the algorithms’ behavior.
        </p>
        <p>We used in the experimental evaluation the algorithms: Tiling, Asso,
GreConD, Hyper, and PaNDa (see section 1).
3.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Evaluating 8M and Its Improved Version 8M+</title>
        <p>In our evaluation, we use the so-called coverage c of the input data I by the
first l computed factors, i.e. the n × l and l × m matrices A and B, defined by
c(l) = 1 − E(I, A ◦ B)/|I|, in which |I| is the number of 1s in I. For 8M we used
the default recommendation cost = 1 and used various values for init .</p>
        <p>Fig. 1 presents a comparison of the selected current BMF algorithms with the
8M method. The graphs depict the coverage c(l) of the first l factors generated
by the algorithms. One may observe that 8M compares fairly well with the
current algorithms. It even outperforms PaNDa on all these datasets and on
most of those we experimented with. On some data, 8M outperforms Asso and
very often it outperforms Hyper in its coverage by the first few factors.</p>
        <p>Fig. 2 presents a comparison of the basic 8M algorithm with its enhanced
version denoted 8M+, which consists in a simple improvement of the initialization
step of 8M. Namely, since the purpose of initialization in 8M is to obtain some
reasonably good factors and since the initialization of 8M is rather simplistic, we
exploited the very fast strategy of the GreConD algorithm to compute the first
init factors. These have the additional advantage of committing no overcovering
error. One may observe from the graphs that the improvement is significant.
Moreover, taking into account Fig. 1, one can see that this improvement makes
the new algorithm an interesting rival to the current algorithms.
3.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Evaluating the Improvement of GreConD Inspired by 8M</title>
        <p>It turns out that the idea of revisiting the previously generated factors may
easily be implemented in one of the currently best BMF algorithms, GreConD,
and yields a significant improvement as regards exact and almost exact
factorizations. In our modification of GreConD, we revisit—every time a new factor
is generated as in the original GreConD—the previously generated factors. If
removal of a factor under consideration would result in an increase in the error
E not larger than p × |I|, where p is a parameter, we removed the factor. In
Table 1, the columns represent the original GreConD and its modifications for
p = 0, 0.01, . . . , 0.05, the rows labeled “k” represent the number of factors
obtained by the particular algorithm on the given dataset, and the row labeled “c”
contains the coverage of the computed factorization. Thus, for instance, when
factorizing the Mushroom data, the original GreConD needs 120 factors to
obtain exact factorization. Our modification with p = 0 requires only 113 factors
for exact factorization and only 61 factors for computing a highly accurate
factorization, namely with coverage 0.951. Since such behavior is typical, we find it
(e) Set</p>
        <p>X1</p>
        <p>20 25 30
k (number of factors)
(f ) Set</p>
        <p>X2
5
10
15
35
40
45
50
5
10
15
35
40
45
50</p>
        <p>Radim</p>
        <p>Belohlavek</p>
        <p>Chess
10
20
50
60
70
10
20</p>
        <p>30
l (number of factors)</p>
        <p>40
(b)</p>
        <p>Firewall 1
40 50 60 70
l (number of factors)
(c) Mushroom
10
20
30
80
90
100
110</p>
        <p>50
8M
8M+
8M
8M+
8M
8M+
120
of the first l factors on real data: 8M vs. 8M+.
very interesting and find the idea of revisiting factors worth further exploration.
Note that we did similar improvements with similar effects to Asso.
In addition to the fact that a description and detailed experimental evaluation of
8M were long due, we believe that the most interesting finding for future research
is the property of 8M to revisit and possibly drop the previously computed
factors. This idea is appealing particularly for algorithms performing general BMF,
i.e. those committing overcovering error because, unlike the symmetric
undercovering error, overcovering error can only increase if an algorithm does not
revisit and modify the previously computed factors. Our straightforward
implementation of this idea to GreConD and Asso yields an improvement which
represents a promising sign of a usefulness of this idea, which hence needs to
be further explored. Another topic worth further investigation is the regression
procedure of 8M. While we described how it works, it is not yet properly
understood why this procedure, which is analogous to statistical regression, actually
works and delivers reasonable results.</p>
      </sec>
      <sec id="sec-4-4">
        <title>Acknowledgment</title>
        <p>R. Belohlavek acknolwedges support by the ECOP (Education for
Competitiveness Operational Programme) project No. CZ.1.07/2.3.00/20.0059, which
was co-financed by the European Social Fund and the state budget of the
Czech Republic (the present research has been conducted in the follow-up
period of this project), and by grant IGA 2018 of Palacky´ University Olomouc,
No. IGA PrF 2018 030.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bache</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lichman</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>UCI Machine Learning Repository</article-title>
          [http://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bartl</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Belohlavek</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Osicka</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Rˇezankova´, H.:
          <article-title>Dimensionality Reduction in Boolean Data: Comparison of Four BMF Methods</article-title>
          .
          <source>CHDD</source>
          <year>2012</year>
          :
          <fpage>118</fpage>
          -
          <lpage>133</lpage>
          . (
          <year>2012</year>
          )
        </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>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <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>Impact of Boolean factorization as preprocessing methods for classification of Boolean data</article-title>
          .
          <source>Ann. Math. Artif. Intell</source>
          .
          <volume>72</volume>
          (
          <issue>1-2</issue>
          ),
          <fpage>3</fpage>
          -
          <lpage>22</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <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>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <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>A new algorithm for Boolean matrix factorization which admits overcovering</article-title>
          .
          <source>Discrete Applied Mathematics (in press).</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Dixon</surname>
          </string-name>
          , W. J. (ed.)
          <source>: BMDP Statistical Software Manual</source>
          . Berkeley, CA: University of California Press (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Ene</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horne</surname>
            ,
            <given-names>W.</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>
          , and
          <string-name>
            <surname>Tarjan R</surname>
          </string-name>
          . E.:
          <article-title>Fast exact and heuristic methods for role minimization problems</article-title>
          .
          <source>In: SACMAT</source>
          <year>2008</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          . (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <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>
          .
          <source>In: Discovery Science</source>
          <year>2004</year>
          , pp.
          <fpage>278</fpage>
          -
          <lpage>289</lpage>
          . (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Lu</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vaidya</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Atluri</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hong</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Constraint-aware role mining via extended Boolean matrix decomposition</article-title>
          .
          <source>IEEE Trans. Dependable and Secure Comp</source>
          .
          <volume>9</volume>
          (
          <issue>5</issue>
          ),
          <fpage>655</fpage>
          -
          <lpage>669</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Lucchese</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Orlando</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perego</surname>
          </string-name>
          , R.:
          <article-title>Mining top-K patterns from binary datasets in presence of noise</article-title>
          .
          <source>In: SIAM DM</source>
          <year>2010</year>
          , pp.
          <fpage>165</fpage>
          -
          <lpage>176</lpage>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Miettinen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Sparse Boolean matrix factorizations</article-title>
          .
          <source>In: IEEE ICDM</source>
          <year>2010</year>
          , pp.
          <fpage>935</fpage>
          -
          <lpage>940</lpage>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <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. Knowledge and Data Eng</source>
          .
          <volume>20</volume>
          (
          <issue>10</issue>
          ),
          <fpage>1348</fpage>
          -
          <lpage>1362</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Miettinen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vreeken</surname>
            <given-names>J</given-names>
          </string-name>
          .:
          <article-title>Model order selection for Boolean matrix factorization</article-title>
          .
          <source>In: ACM SIGKDD</source>
          <year>2011</year>
          , pp.
          <fpage>51</fpage>
          -
          <lpage>59</lpage>
          . (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Myllykangas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          et al:
          <year>2006</year>
          ,
          <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="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Outrata</surname>
          </string-name>
          , J.:
          <article-title>Boolean factor analysis for data preprocessing in machine learning</article-title>
          .
          <source>In: ICMLA</source>
          <year>2010</year>
          , pp.
          <fpage>899</fpage>
          -
          <lpage>902</lpage>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Stockmeyer</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <article-title>The set basis problem is NP-complete</article-title>
          ,
          <source>Tech. Rep. RC5431</source>
          , IBM,
          <string-name>
            <surname>Yorktown</surname>
            <given-names>Heights</given-names>
          </string-name>
          ,
          <string-name>
            <surname>NY</surname>
          </string-name>
          , USA (
          <year>1975</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Vaidya</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Atluri</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          :
          <article-title>The role mining problem: finding a minimal descriptive set of roles</article-title>
          .
          <source>In: SACMAT</source>
          <year>2007</year>
          , pp.
          <fpage>175</fpage>
          -
          <lpage>184</lpage>
          . (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Xiang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jin</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fuhry</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dragan</surname>
            ,
            <given-names>F. F.</given-names>
          </string-name>
          :
          <article-title>Summarizing transactional databases with overlapped hyperrectangles</article-title>
          .
          <source>Data Mining and Knowledge Discovery</source>
          <volume>23</volume>
          ,
          <fpage>215</fpage>
          -
          <lpage>251</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>