<!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>Inverse Tree-OLAP: Definition, Complexity and First Solution</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Domenico Sacca`</string-name>
          <email>sacca@unical.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Edoardo Serra</string-name>
          <email>edoardoserra@boisestate.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alfredo Cuzzocrea</string-name>
          <email>alfredo.cuzzocrea@dia.units.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Boise State University</institution>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Calabria</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Trieste and ICAR-CNR</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <fpage>24</fpage>
      <lpage>27</lpage>
      <abstract>
        <p>Count constraint is a data dependency that requires the results of given count operations on a relation to be within a certain range. By means of count constraints a new decisional problem, called the Inverse OLAP, has been recently introduced: given a flat fact table, does there exist an instance satisfying a set of given count constraints? This paper focus on a special case of Inverse OLAP, called Inverse Tree-OLAP, for which the flat fact table key is modeled by a Dimensional Fact Model (DFM) with a tree structure.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Emerging “Big Data” platforms and applications call for the invention of novel data
analysis techniques that are capable to handle large amount of data. There is therefore
an increasing need to use real-life datasets for data-driven experiments but, as pointed
out in a recent ACM SIGMOD Blog post by Gerhard Weikum [13], datasets used into
research papers are often poor. Companies have their own interesting data, and
industrial labs have access to such data and real-life workloads; however, such datasets are
often proprietary and out of reach for academic research. In order to ensure high quality
experimental findings, inverse mining techniques can be applied to generate artificial
datasets that reflect the patterns of real ones: the patterns are first discovered by data
mining techniques (or directly provided by domain experts) and then used to generate
“realistic” privacy-preserving datasets.</p>
      <p>A promising and important example of inverse mining is Inverse Frequent itemset
Mining (IFM), first stated in [9], which consists of finding a transactional database D
satisfying given support constraints on some itemsets, which are typically the frequent
ones. As an example, given the items a; b; c; d, the itemsets I1 = fa; bg; I2 = fb; cg
and I3 = fc; dg, the support constraints I1 = I2 = 100 and I3 = 50, and a fixed
database size equal to 170, a feasible transactional database D consists of the following
(replicated) transactions: hfa; b; cg; 70i (i.e., there are 70 occurrences of the transaction
fa; b; cg in D), hfb; c; dg; 10i, hfa; bg; 30i, hfb; cg; 20i and hfc; dg; 40i. Observe that
the support constraint I1 = 100 is satisfied by D as there are 30 occurrences of I1 in
D and I1 is a subset of fa; b; cg occurring 70 times in D – it is easy to see that the other
support constraints are satisfied as well.</p>
      <p>Count constraints have been used in [12] to define a new integrity constraint
decisional problem: given a relation scheme and a number of count constraints on it, does
there exist a relation instance satisfying the count constraints? The problem has been
called Inverse OLAP because the typical relation scheme dealt with is a (flat) fact table,
whose attributes are dimensions (i.e., properties, possibly structured at various levels of
abstraction) – no measure attributes are considered as the only aggregation operator is
the count. We recall that a flat fact table can be represented as a star schema with
additional tables for storing dimensions or a snowflake schema, which includes additional
dimensional tables describing dimension hierarchies. This kind of fact table is called a
factless fact table [7] and it arises in some scenarios storing many-to-many mappings
in which no attribute qualifies as a measure – typical cases are event records, where an
event is given by a combination of simultaneously occurring dimensional
characteristics.</p>
      <p>Inverse OLAP has a potential high relevance in synthesizing data cubes having
predefined characteristics to be used in benchmarks of novel techniques for handling big
data. Inverse OLAP has been proved in [12] to be NEXP-complete under various
conditions: data complexity (i.e, the number of attributes and the size of constraints are
constant), program complexity (i.e, the domains are constant) and combined
complexity.</p>
      <p>We are not discouraged by the high complexity and in this paper we present a
solution approach of the Inverse OLAP problem for the case of a flat fact table, called
tree-fact table, whose schema is a special case of Dimensional Fact Model (DFM) of
[5]: it is a tree (and not a graph as in the general definition) having dimension hierarchy
levels as nodes and the “rolls-up-t” relationships between them as edges.</p>
      <p>This paper is the short version of the paper [11], where we present the main results
of our research.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Inverse Tree-OLAP</title>
      <p>In this section we define the Inverse Tree-OLAP problem. We assume that the flat
fact table R has the following scheme (tree-fact table): R(B1; : : : ; Bn; S1; : : : ; Sn;
M1; : : : ; Mm), where (B1; : : : ; Bn) is the table key (basic dimensions), Si, 1 i n,
is a dimension hierarchy tree rooted on Bi, and M1; : : : ; Mm) are measures. We also
assume that the all the once-to-many relationships in the subtrees S2; : : : ; Sn are stored
as facts in ad-hoc additional domain tables (as in an ontology) whereas the first level of
the one-to-many relationships in the subtree S1 are not. In addition we assume that all
the dimension domains are given in suitable tables except for the basic dimension B1
(aggregating basic dimension), whose values are generated by means of a polynomial
time function. Finally the values of measures are determined by means of a polynomial
time function having the table key domains as range.</p>
      <p>We make the following restrictions on the count constraints that can be applied to a
tree-fact table:
– Tree-Tuple Count Constraint: the table key fB1; : : : ; Bng must be contained in</p>
      <p>X [ Y, being X and Y suitable subsets of dimensions, respectively;
– Tree-Tuple Count Constraint-B1: Y = fB1g, X is a subset of dimensions in the
subtree S1 rooted at A1 and all other basic dimensions B2; : : : ; Bn as well as the
ones in the corresponding subtrees S2; : : : ; Sn must be contained in Z, being Z a
suitable subset of dimensions;
– Tree-Group Count Constraint: W = B1, Y = fB2; : : : ; Bng while all other
dimensions must be in Z (being Z a suitable subset of dimensions), i.e., they are
existentially quantified.</p>
      <p>Observe that Tree-Group Count Constraints define an IFM-like subproblem, whose
very objective is to model how the values of the basic dimensions can occur together in
a many-to-many relationship. Restrictions on Tree-Tuple Count Constraints avoid the
problem of handling duplicates on table projections. In fact, the projected tuples are
guaranteed to be distinct as the table key B1; : : : ; Bn is included in the set of selection
/ projection attributes. The problem of removing duplicates from table projections has
been recognized in [1] as the critical step for checking satisfaction of cardinality
constraints. As for Tree-Tuple Count Constraint-B1, distinctness of projected tuples will
be guaranteed by our solution approach that group the tuples by the aggregation basic
dimension.</p>
      <p>We are now ready to define the specialization of Inverse OLAP.</p>
      <p>Inverse Tree-OLAP Problem. Given a tree-fact table R on a DFM D and a set of 2D
count constraints C, the Inverse Tree-OLAP problem consists of deciding whether there
exists a relation r on R such that r j= C [ F , where F are the functional dependencies
corresponding to D. 2</p>
      <p>The next result shows that the (both data and combined) complexity of Inverse
TreeOLAP remains NEXP-complete.</p>
      <p>Proposition 1. Inverse Tree-OLAP is NEXP-complete.</p>
      <p>PROOF (sketch). Membership to NEXP derives from the fact that Inverse OLAP is
in NEXP and Inverse Tree-OLAP is a specialization of Inverse OLAP. Actually
satisfaction of FDs is not explicitly required in the general Inverse OLAP formulation as
possible FDs are expressed as count constraints. Checking FDs can be obviously done
in time polynomial in the size of a problem certificate and, therefore, the complexity
remains in NEXP. To prove NEXP-hardness, it is sufficient to show that any instance x of
IFMI can be transformed in logarithmic space into an instance x0 of Inverse Tree-OLAP,
such that x is a YES-instance for IFMI if and only if x0 is a YES-instance for Inverse
Tree-OLAP. We shall give some intuition on this part of the proof in the example below.
2</p>
      <p>Observe that NEXP-completeness only depends on the presence of Tree-Group
Count Constraints. The fact that Tuple Constraints do not have high complexity is due
to our restrictions that produce table projections without duplicates.</p>
      <p>To get an intuition of our approach, consider a tree-fact table R(S; W; B;
C; R; T ; L; A; G; P ) modeling a classical example of point-of-sales transaction
application. Recall that the dimensions are: S (Sale), W (Ware), B (ware Brand), C (sale
Customer), R (customer Ranking), T (customer Town), L (sale Location), A (sale Area)
and G (ware Group). The basic dimensions are S; W and B and S is the aggregating
one. There is a unique measure: P (item Price), where an item is a pair ware-brand
and its price may vary from one location to another. Then the value of P is univocally
determined by the values of L, W and B – we assume that the function returning the
price value is suitably stored to be used after a feasible solution has been produced. The
domains of the dimensions, denoted by DS , DW and so on, are given and they are finite
tables; however, DS is not explicitly stored but the values are generated as needed.</p>
      <p>The prefixed one-to-many relationships are given and stored into the tables: DW G,
DLA, and DCT . The other one-to-many relationships are not predefined.</p>
      <p>A domain table DfW Bg 1 2 stores a number of predefined itemsets (i.e., sets of
items) and a range of admissible supports 1 2 for each of them. There are
additional tables: DGA 1 2 storing the admissible numbers of ware groups that must be
assigned for location areas, DBR 1 2 storing the admissible numbers of brands that
must be sold to all customers of each ranking and DR !1!2 storing the admissible
numbers of regions that must be interested to all customers of each ranking. Observe that
the minimum value !1 for the lowest ranking is 0.</p>
      <p>
        Enforcing the total number of sales
true ! s1
#(fS : R(S; w; b; c; r; t; l; a; g; p)g)
s2
where low letters represent existentially quantified variables and s1; s2 with s1 s2 are
two non negative integers, denoting respectively the minimal and the maximal number
of sales in a feasible solution. Constraint (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) is a Tree-Tuple Count Constraint-B1.
      </p>
      <sec id="sec-2-1">
        <title>Enforcing frequency support constraints on itemsets</title>
        <p>
          DfW Bg 1 2 (X; 1; 2) !
1
#(fS : X
fW B : R(S; W; B; v)gg)
2
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
where v is the list of existentially quantified variables [c; r; t; l; a; g; p], dotted letters
represent universally quantified variables and  ; 2 are the minimal and maximal
sup1
port for frequent itemsets. Constraint (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) is a Tree-Group Count Constraint that enforces
that all itemsets stored in DfIg 1 2 be frequent.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Enforcing infrequency support constraints on itemsets</title>
        <p>Y =fW B : DW (W )</p>
        <p>Y 6 X ! #(fS : X</p>
        <p>DB(B)g ^ DfW Bg 1 2 (X ; 1; 2) ^</p>
        <p>fW B : R(S; W; B; v))gg)
where is a non negative integer denoting the infrequency support threshold. Constraint
3 is a Tree-Group Count Constraint that enforces that all itemsets that are not a (not
necessarily proper) subset of some itemset in DfW Bg 1 2 must have a support below
the threshold .</p>
        <p>
          We point out that Constraints (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ), (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) and (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) expresses the IFMI problem – so they
can be used in the NEXP-hardness proof of Proposition 1. Our formalism is rather
powerful as it enable to define additional constraints to IFMI – as an example, we next
show how to enforce a size range for the fact table and a maximum number of items for
transactions (the latter constraint has been analyzed in [3]).
        </p>
        <p>DGA 1 2 (G; A; 1; 2) !
1
#(fS W B : R(S; W; B; c; r; t; l; A; G; p)g)
2:</p>
        <p>This Tree-Tuple Count Constraint fixes the number of wares of each group that must
be sold to all locations of a given area.</p>
      </sec>
      <sec id="sec-2-3">
        <title>Distributing sales on locations</title>
        <p>DL(L) !
1
#(fS : R(S; W; B; v)g)
2:
where v has been defined above and 1; 2 with 1 2 are two non negative
integers denoting the same distribution range for all locations. This is a Tree-Tuple Count
Constraint-B1.</p>
        <p>
          Assigning brands to rankings
(
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
(
          <xref ref-type="bibr" rid="ref5">5</xref>
          )
(
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
(
          <xref ref-type="bibr" rid="ref7">7</xref>
          )
(
          <xref ref-type="bibr" rid="ref8">8</xref>
          )
(
          <xref ref-type="bibr" rid="ref9">9</xref>
          )
DS(S) !
        </p>
        <p>#(fW B : R(S; W; B; v)g)
where is a positive integer denoting the maximal transaction length. Constraint 5 is a
Tree-Tuple Count Constraint.</p>
        <p>We next define a number of additional Tree-Tuple Count Constraints (including type
B 1) that involve also non-basic dimensions.</p>
      </sec>
      <sec id="sec-2-4">
        <title>Enforcing prefixed one-to-many relationships Consider first the prefixed one-to</title>
        <p>many relationship from G (ware Group) to W (Ware), defined by DW G. The following
Tree-Tuple Count Constraint:</p>
        <p>DW (W) ^ DS(S) ^ DB(B) !
#(fG : R(S; W; B; c; r; t; l; a; G; p) ^ :DW G(W; G)g) = 0:
excludes the possibility that any ware can take a group value different from the one that
has been fixed in DW G. Observe that we have slightly modified the notation inside the
function # by enabling a conjunction of the fact predicate with domain predicates – the
semantics of this extension is obvious.</p>
        <p>We add similar constraints for all other prefixed one-to-many relationships: from L
(sale Location) to A (Area), from C (Customer) to T (Town) and from C to R (customer
Ranking).</p>
      </sec>
      <sec id="sec-2-5">
        <title>Distributing ware groups on areas</title>
        <p>
          Enforcing the total number of tuples in the fact table
true ! s3
#(fS W B : R(S; W; B; v)g)
s4
where s3; s4 with s3 s4 are two non negative integers, denoting respectively the
minimal and the maximal cardinality of a feasible fact table instance. Constraint (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) is
a Tree-Tuple Count Constraint.
        </p>
      </sec>
      <sec id="sec-2-6">
        <title>Enforcing a maximum number of itemsets in a sale</title>
        <p>DB R 1 2 (B; R; 1; 2) !
1
#(fS W B : R(S; W; B; c; R; t; l; a; g; pg)
2:</p>
        <p>This is a Tree-Tuple Count Constraint.</p>
      </sec>
      <sec id="sec-2-7">
        <title>Assigning the numbers of sales to customers per ranking</title>
        <p>
          DR !1!2 (R; !1; !2) !
!1
#(fS : R(S; w; b; c; R; t; l; a; g; p)g)
!2:
(
          <xref ref-type="bibr" rid="ref10">10</xref>
          )
This is a Tree-Tuple Count Constraint-B1. Observe that a ranking dimension is
considered in [8] to show an example of derived (hidden) dimensions.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Solving Inverse Tree-OLAP</title>
      <p>In this section we present a method for finding an approximate solution of the Inverse
Tree-OLAP. Given a instance x of the Inverse Tree-OLAP:
1. Construct an instance y of IFMI using Tree-Group Count Constraints and possible
Tree-Tuple Count Constraints (also in the variant B1) for which all non-basic
dimensions are existentially quantified. Any itemset is a set of (n 1)-tuples on the
basic dimensions B2; : : : ; Bn that share the same value for the aggregating basic
dimension B1.
2. Solve y using the algorithm of [6] – let D be the transaction database computed by
the algorithm, where a transaction is a set of items and each item is an element of
B2 Bn.
3. Represent the database D as a set of triples (t; Z(t); (t)), where Z(t) is an itemset
occurring in D, (t) is the number of its duplicates in D and t is an identifier for
the itemset Z(t). Note that t is not a value in the domain of the aggregating basic
domain B1 but it represents a group of (t) distinct values for B1.
4. Represent an instance r of the relation R by means of variables as follows: for each
(t; Z(t); (t)), introduce variables x^b1b2:::bnd, where b2 : : : bn d are all admissible
values for B2; : : : ; Bn, d is the list of all possible values for non-basic domains that
are not determined by the prefixed one-to-many relationships and ^b1 represents the
portion of t duplicates that are assigned to the values of the other subscript indices.
Observe that this representation can be seen as a chase, which is a finite “canonical”
database, witnessing the satisfiability of integrity constraints [2].
5. Use the Tree-Tuple Count Constraints and Tree-Tuple Count Constraints-B1
involving non-basic dimensions to compute the variable values. To this end, we use
linear equations that are solved using a linear program whose objective function is
the cost of violating the above constraints.
6. Generate a flat table starting from the computed variable values by including the
values for non-basic domains that are determined by the prefixed one-to-many
relationships and by computing the measure values.</p>
      <p>For presentation sake, we next illustrate our method by referring to the example
described in Section 2.</p>
      <p>
        As already mentioned, constraints (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ), (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) and (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) encode an instance of IFMI,
described in the following. We first present the formal definition of IFMI. Let:
1. I be a given set of n items and UI be the set of all non-empty itemsets over I
2. S be a given set of m itemsets over the items in I
8I 2 S : mIin
      </p>
      <p>D(I)</p>
      <p>I
max
8I 2 S0 : D(I)
size1
jDj</p>
      <p>
        size2:
8I 2 BS0 : D(I)
0
0
(
        <xref ref-type="bibr" rid="ref11">11</xref>
        )
(
        <xref ref-type="bibr" rid="ref12">12</xref>
        )
(
        <xref ref-type="bibr" rid="ref13">13</xref>
        )
(14)
3. S0 denote fI 2 UI j I0 2 S : I I0g
4. = f(I; 1I ; 2I ) j I 2 S; 0 1I 2I g be a given set of triples assigning a
minimum and maximum support to each itemset in S
5. 0 0 be the maximum support threshold for all itemsets in S0
6. size = (size1; size2), 0 size1 size2, be the minimal and maximal number
of transactions.
      </p>
      <p>The inverse frequent itemset mining problem with infrequency constraint (IFMI) on I,
S, , 0 and size consists of finding a database D over I such that the following
conditions hold (or of eventually stating that there is no such a database):</p>
      <p>
        By the anti-monotonocity property, constraints (
        <xref ref-type="bibr" rid="ref12">12</xref>
        ) can be replaced by:
where BS0 = fI 2 S0 j I0 2 S0 : I0 Ig is the set of the bottom (i.e., minimal)
elements of S0.
      </p>
      <p>An instance of IFMI is constructed by fixing: I = fhw bi j DW(w) DBbg, =
f(X; 1; 2) j DfW Bg 1 2 (X; 1; 2)g, 0 = (see constraint 3), size1 = s1 and size2 =
s2 (see constraint 1). It is then straightforward to derive S and BS0 .</p>
      <p>For the solution of the IFMI instance, we adopt the approach of [6]. The instance
is represented as an integer linear program with a linear number of constraints
(corresponding to the support constraints of the itemsets in S [ BS0 and to the two database
size constraints) and an exponential number 2n of variables xj , one for each possible
transaction Ij , indicating to number of its occurrences in the database. The program
is represented in a succinct format with size O(n (m + m0)) – recall that a succinct
problem is a problem whose instances are not given straightforward, but are themselves
encoded using an a concise input with size logarithmic in the actual input size [10]. Then
the integer constraint on the variables xj are relaxed so that an approximate solution is
obtained by solving a linear program. Because of the exponential number of variables,
the column generation algorithm (see e.g [4]), which is a version of the simplex dealing
with a large number of variables (large-scale linear programs). This method solves a
linear program without explicitly including all columns (i.e., variables), in the
coefficient matrix but only a subset of them with cardinality equal to the number of rows (i.e.,
constraints). Columns are dynamically generated by solving an auxiliary optimization
problem called the pricing problem.</p>
      <p>
        Observe that constraints (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) and (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) are not taken into account in the resolution
algorithm of [6]. Constraint (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) can be easily handled by a simple additional constraint
in the liar program. Constraint (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) states that for each itemset with length greater than ,
the associated variable xj must be equal to zero. This restriction can be easily handled
inside the pricing problem resolution.
      </p>
      <p>The algorithm returns a transaction database D that is an approximate solution of
the problem. The database D is represented in a succinct format: (s^; Z; ), where Z is
an itemset occurring in D, is the number of its duplicates and s^ is an identifier for Z.
We stress that s^ is not a sale value in DS as the itemset Z will be eventually assigned to
distinct sale values. Let S^ the set of all identifiers s^. For each s^ 2 S^, (s^) denotes the
duplicate number for s^, Z(s^) is the itemset Z.</p>
      <p>
        So far we have implemented steps (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )-(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ). To implement step (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ), we introduce the
variables xs^wblc for each s^ in S^, for each ware w of the domain of W , for each brand b
of the domain of B, for each location l of the domain L and for each customer c of the
domain of C. There are no indices corresponding to non-basic domains that are defined
by means of on-to-many fixed relationships. Indeed, because of constraints of type (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ),
once that a domain value is fixed, the value of its roll-up domain value is automatically
fixed as well.
      </p>
      <p>To make the computation effective, we relax the integer constraint on all variables;
so they are defined on the domain of non-negative rational numbers. We introduce the
following equations:</p>
      <p>X xs^wblc = (s^)
l2DL;c2DC
xs^wblc =0</p>
      <p>8s^ 2 S^ 8 hw; bi 2 Z(s^)
8s^ 2 S^ 8l 2 DL 8c 2 DC
8 hw; bi 2 (DW DB) n Z(s^)</p>
      <p>Equation (15) states that, fixed a transaction z^ and any item hw; bi of Z(S^), the sum
of all assignments of the item to all possible locations and customers must be equal to
the duplicate number (s^). On the other hand, equation 16 enforces that xs^wblc = 0
whenever the item hw; bi i is not part of any transaction s^.</p>
      <p>
        Let us now implement step (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ). To this end, we consider all constraints from (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) to
(
        <xref ref-type="bibr" rid="ref10">10</xref>
        ).
      </p>
      <p>
        Constraints (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) is implemented as:
8s^2S^ 8hw;bi2Z(s^) 8c2DC
      </p>
      <p>X</p>
      <p>xs^wblc
8s^ 2 S^ 8c : DCR(c; r)
8w 2 DW : hw; bi 2 Z(s^)</p>
      <p>X</p>
      <p>xs^wblc
8s^2S^ 8hw;bi2Z(s^) 8c: DCR(c;r)
2
br
2
!2r
8g 2 DG
8a 2 DA
where ( 1br; 2br) and (!1r; !2r) are the pairs such that DBR 1 2 (b; r; 1gr; 2gr) and
DR !1!2 (r; !r; !2r) are true.</p>
      <p>1</p>
      <p>Obviously equations (15)–(20) can be solved in time polynomial in the domain
sizes. Nevertheless, there is a problem that must be dealt with: the equations could
be too restrictive so that no solution exists. However, as we are interest in finding an
approximate solution that has the minimal violation the problem can be solved by
introducing two artificial variables for each equation. For instance, equation (18) is rewritten
as:
w1l +
where w1l and w2l are non-negative artificial variables. We take the summation of all
artificial variables as an objective function to be minimized. Therefore we obtain a
linear program representation of the equation resolution problem. By solving the linear
program we compute a solution minimizing the objective function – that is, the one with
the minimal constraint violation.</p>
      <p>We point out that the size of the linear program is not exponential as for the IFMI
linear program but polynomial. Nevertheless, the number of both rows and columns
may be large. So, a row-column generation approach can be adopted: at each iteration
step, the pricing problem has to also decide which row must be eventually expanded.</p>
      <p>
        Once solved the linear equation system, we have to perform the last task (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) to
construct a feasible instance r. To this end, for each positive basic variable xs^wblc, say
with value k, we select k distinct values s1; : : : ; sk from the domain of S, add the
values of non-basic domains R, T , A and G, compute the measure P and insert the so
constructed tuples into r.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>Inverse OLAP is the problem of deciding whether a given fact table satisfies a set of
given count constraints [12]. In this paper we have defined a special case of this
problem, called Inverse Tree-OLAP, for which the flat fact table key is modeled by a
Dimensional Fact Model (DFM) with a tree structure. The count constraints define aggregation
patterns to be respected by both the many-to-many relationship among the basic
dimensions and the one-to-many relationships within dimension hierarchies.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Arvind</given-names>
            <surname>Arasu</surname>
          </string-name>
          , Raghav Kaushik, and
          <string-name>
            <given-names>Jian</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <article-title>Data generation using declarative constraints</article-title>
          .
          <source>In Proceedings of the 2011 international conference on Management of data, SIGMOD '11</source>
          , pages
          <fpage>685</fpage>
          -
          <lpage>696</lpage>
          , New York, NY, USA,
          <year>2011</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Catriel</given-names>
            <surname>Beeri</surname>
          </string-name>
          and
          <string-name>
            <given-names>Moshe Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          .
          <article-title>Polynomial-time implication problems for unary inclusion dependencies</article-title>
          .
          <source>J. of the ACM</source>
          ,
          <volume>37</volume>
          :
          <fpage>15</fpage>
          -
          <lpage>46</lpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Toon</given-names>
            <surname>Calders</surname>
          </string-name>
          .
          <article-title>The complexity of satisfying constraints on databases of transactions</article-title>
          .
          <source>Acta Inf.</source>
          ,
          <volume>44</volume>
          (
          <issue>7-8</issue>
          ):
          <fpage>591</fpage>
          -
          <lpage>624</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>George</surname>
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Dantzig</surname>
            and
            <given-names>Mukund N.</given-names>
          </string-name>
          <string-name>
            <surname>Thapa</surname>
          </string-name>
          .
          <source>Linear Programming 2: Theory and Extensions</source>
          . Springer-Verlag,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Matteo</given-names>
            <surname>Golfarelli</surname>
          </string-name>
          , Dario Maio, and
          <string-name>
            <given-names>Stefano</given-names>
            <surname>Rizzi</surname>
          </string-name>
          .
          <article-title>The dimensional fact model: A conceptual model for data warehouses</article-title>
          .
          <source>Int. J. Cooperative Inf. Syst.</source>
          ,
          <volume>7</volume>
          (
          <issue>2</issue>
          -3):
          <fpage>215</fpage>
          -
          <lpage>247</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Antonella</given-names>
            <surname>Guzzo</surname>
          </string-name>
          , Luigi Moccia, Domenico Sacca`, and
          <string-name>
            <given-names>Edoardo</given-names>
            <surname>Serra</surname>
          </string-name>
          .
          <article-title>Solving inverse frequent itemset mining with infrequency constraints via large-scale linear programs</article-title>
          .
          <source>TKDD</source>
          ,
          <volume>7</volume>
          (
          <issue>4</issue>
          ):
          <volume>18</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>18</lpage>
          :
          <fpage>39</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Ralph</given-names>
            <surname>Kimball</surname>
          </string-name>
          .
          <article-title>The Data Warehouse Toolkit: Practical Techniques for Building Dimensional Data Warehouses</article-title>
          . John Wiley &amp; Sons,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Svetlana</given-names>
            <surname>Mansmann</surname>
          </string-name>
          , Nafees Ur Rehman, Andreas Weiler,
          <string-name>
            <given-names>and Marc H.</given-names>
            <surname>Scholl</surname>
          </string-name>
          .
          <article-title>Discovering olap dimensions in semi-structured data</article-title>
          .
          <source>In Il-Yeol Song and Matteo Golfarelli</source>
          , editors,
          <source>DOLAP</source>
          , pages
          <fpage>9</fpage>
          -
          <lpage>16</lpage>
          . ACM,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>T.</given-names>
            <surname>Mielikainen</surname>
          </string-name>
          .
          <article-title>On inverse frequent set mining</article-title>
          . In IEEE Computer Society, editor,
          <source>Proc. of 2nd Workshop on Privacy Preserving Data Mining (PPDM)</source>
          , pages
          <fpage>18</fpage>
          -
          <lpage>23</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Christos</surname>
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Papadimitriou</surname>
          </string-name>
          .
          <article-title>Computational complexity</article-title>
          .
          <source>Addison-Wesley</source>
          , Reading, Massachusetts,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Domenico Sacca`,
          <string-name>
            <given-names>Edoardo</given-names>
            <surname>Serra</surname>
          </string-name>
          , and Alfredo Cuzzocrea, editors.
          <source>IDEAS</source>
          <year>2018</year>
          :
          <article-title>22nd International Database Engineering</article-title>
          and Applications Symposium,
          <year>June 1820</year>
          ,
          <year>2018</year>
          , Villa San Giovanni, Italy. ACM,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. Domenico Sacca`,
          <string-name>
            <given-names>Edoardo</given-names>
            <surname>Serra</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Antonella</given-names>
            <surname>Guzzo</surname>
          </string-name>
          .
          <article-title>Count constraints and the inverse olap problem: Definition, complexity and a step toward aggregate data exchange</article-title>
          .
          <source>In FoIKS</source>
          , pages
          <fpage>352</fpage>
          -
          <lpage>369</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>Gerhard</given-names>
            <surname>Weikum</surname>
          </string-name>
          .
          <article-title>Where's the Data in the Big Data Wave? 2013</article-title>
          . ACM Sigmod BLOG: http://wp.sigmod.org/?p=
          <fpage>786</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>