# A Formal Definition for Configuration

María Carmen M. C. Calvo Yanguas, Carmen C. Elvira Donázar, Raquel R.

Trillo Lado

► To cite this version:

María Carmen M. C. Calvo Yanguas, Carmen C. Elvira Donázar, Raquel R. Trillo Lado. A Formal Definition for Configuration. 2016. hal-01394839

HAL Id: hal-01394839

https://hal.science/hal-01394839

Preprint submitted on 10 Nov 2016

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>
# A Formal Definition for Configuration

Calvo Yanguas, M. C.

cacalvo@unizar.es

Elvira Donázar, C

celvira@unizar.es

Trillo Lado, R.

raquelt1@unizar.es

University of Zaragoza, Spain

## Abstract

There exists a wide set of techniques to perform keyword-based search over relational databases but all of them match the keywords in the users' queries to elements of the databases to be queried as first step. The matching process is a time-consuming and complex task. So, improving the performance of this task is a key issue to improve the keyword based search on relational data sources.

In this work, we show how to model the matching process on keyword-based search on relational databases by means of the symmetric group. Besides, how this approach reduces the search space is explained in detail.

## Keywords

Configuration, Permutation, Symmetric group, *G*-module, Relational database, Keyword-based search, Keyword-based queries.

## 1 Introduction

In the last decade, the amount of large digital structured data available on the Web is increasing due to the success of initiatives such as DBpedia, Linked Open Data and Semantic Web [1]. Moreover, keyword-based search has become the de-facto standard for searching information on the Web since its adoption by the main web search engines, such as Google, at the end of the 90's. The reasons of its success are mainly its simplicity and intuitiveness, as it does not require users searching information to know either any formal language, such as SQL [6] or SPARQL [7], or how the data and documents are stored.

This context has made to increase the interest in supporting keyword search over structured databases, and, in particular, over relational databases [9]. There exists a wide set of techniques and methods to perform keyword-based search over relational databases, classified under two main groups: graph-based approaches and schema-based approaches [10]. Nevertheless,
all of them require matching the keywords in the users' queries to elements of the databases to be queried as first step, i.e., they require to explore what in Keymantic [2] is defined as to find *configurations* of the users' queries. Thus, exploring possible configurations by using specific algorithms, such as Hungarian algorithm, is required to optimize the search.

In this paper, we propose a formal definition for configurations to improve the performance of current techniques such as Keymantic. In particular, we define configurations as given types of elements of the *symmetric group*, $S_n$, in order to establish equivalence relations among different configurations, and, therefore, in order to reduce the number of configurations to evaluate.

Moreover, since there is a natural one to one correspondence between the conjugacy classes of $S_n$ and the partitions of $n$ and there exists an order in partitions of $n$, then, it is possible to order configurations.

# 2 Fundamental concepts

In the following, the bases to formalize the keyword based search over relational databases are described.

## 2.1 Keyword Search over Relational Databases

**Definition 2.1** A database, $D$, [2] is a collection of relational tables, $R(A_1, A_2, \dots, A_n)$, where $R$ is the name of the table and $A_1, A_2, \dots, A_n$ its attributes.

**Definition 2.2** The vocabulary of $D$, denoted by $V_D$, is the set of all its relation names, their attributes and their respective domains.

*A database term is a member of this vocabulary* $V_D$.

A keyword query $q$ is an ordered list of keywords $\{k_1, k_2, \dots, k_N\}$. Each keyword is a specification about the element of interest.

**Definition 2.3** A configuration $C$ of a keyword query $q$ on a database $D$ [2] is an injective map from the keywords in $q$ to database terms in the vocabulary of $D$.

It is made the natural assumption that each keyword can be mapped to only one database term, not two keywords can be mapped into the same database term and there are no unjustified keywords.
We must map the $N$ keywords in a query to the $|V_D|$ database terms in the vocabulary of $D$, so there are

$$ \frac{|V_D|!}{(|V_D| - N)!} $$

possible configurations.

$$ V_D = \{X | \exists R(A_1, \dots, A_n) \in D \text{ s.t. } X = R \lor X = A_k \lor X = \text{Dom}(A_k), 1 \le k \le n\}, $$

so

$$ |V_D| = 2 * \sum_{i=1}^{|D|} |R_i| + |D|, $$

with $|R_i|$ denoting the *arity* of the relation $R_i$ and $|D|$ the number of tables in the database.

To give a formal definition for a configuration we start by considering the keyword query and the vocabulary of the database as sets of numbers $\{1, 2, \dots, N\}$, $\{1, 2, \dots, |V_D|\}$ respectively, where $N \le |V_D|$. The definition of a configuration can be interpreted as an injective correspondence

$$ \{1, 2, \dots, N\} \to \{1, 2, \dots, |V_D|\}, $$

that can be extended to a one to one correspondence

$$ \{1, 2, \dots, N, N + 1, \dots, |V_D|\} \to \{1, 2, \dots, |V_D|\}, $$

that is, we define it as an element of the symmetric group $S_{|V_D|}$.

## 2.2 The Symmetric Group

**Definition 2.4** The symmetric group, $S_n$, [8] is the set of all bijections

$$ \{1, 2, \dots, n\} \to \{1, 2, \dots, n\}, $$

also called permutations, using composition as the multiplication. We multiply permutations from right to left, thus $\pi\sigma$ is the bijection obtained by first applying $\sigma$, followed by $\pi$.

**Definition 2.5** Given $\pi \in S_n$ and $i \in \{1, 2, \dots, n\}$, the elements $i, \pi(i), \pi^2(i), \dots$ cannot all be distinct. Taking the first power $r$ that $\pi^r(i) = i$, we have the r-cycle, or cycle of length $r$,

$$ (i, \pi(i), \pi^2(i), \dots, \pi^{r-1}(i)). $$

A 1-cycle of $\pi$ is called a fixedpoint.
**Definition 2.6** Given $\pi \in S_n$ and $m_k$ the number of its k-cycles, the cycle type of $\pi$, or simply the type, is the expression of the form

$$(1^{m_1}, 2^{m_2}, \dots, n^{m_n}).$$

**Definition 2.7** A partition of $n$ is a sequence

$$\lambda = (\lambda_1, \lambda_2, \dots, \lambda_l)$$

where the $\lambda_i$ are weakly decreasing and

$$|\lambda| \stackrel{\text{def}}{=} \sum_{i=1}^{l} \lambda_i = n.$$

We use the notation $\lambda \vdash n$.

To obtain the partition of a permutation, for each $m_k \neq 0$ in cycle type we put $m_k$ times the value of $k$, starting with the biggest $k$ and decreasing. That is another way to give the cycle type.

We are interested in permutations in $S_{|V_D|}$ that have only cycles of length $\le N+1$ and with no more than a number bigger than $N$ in each cycle, therefore permutations in $S_{|V_D|}$ with $m_{N+2} = \dots = m_{|V_D|} = 0$.

**Definition 2.8** Elements $g, h \in S_n$ are conjugates if

$$g = khk^{-1}$$

for some $k \in S_n$. The conjugacy class of $g \in S_n$ is

$$K_g = \{h \in G | \exists k \in G \text{ s.t. } khk^{-1} = g\},$$

the set of all elements conjugate to $g$.

Conjugacy is an equivalence relation in $S_n$. Two permutations are in the same conjugacy class if and only if they have the same cycle type and, using $K_\lambda$ for $K_g$ when $g$ has type $\lambda$ (see [8] for more details):

$$k_{\lambda} \stackrel{\text{def}}{=} |K_{\lambda}| = \frac{n!}{1^{m_1} m_1! 2^{m_2} m_2! \dots n^{m_n} m_n!}.$$

Thus there is a natural one to one correspondence between partitions of $n$ and conjugacy classes of $S_n$.
### 3 Configurations as permutations

Let $C$ be a configuration of a keyword query $q = \{k_1, k_2, \dots, k_N\}$ on a database $D$ with a vocabulary $V_D$ given by

$$k_1 \to b_{j_1}, k_2 \to b_{j_2}, \dots, k_N \to b_{j_N},$$

we identify it with $\pi \in S_{|V_D|}$ given by:

* $\pi(i) = j_i$ for all $i \le N$,

* for each $z \le N$ with $N < \pi(z) \le |V_D|$, we call $i = \pi(z)$ and define $\pi(i)$ in order to obtain the smallest cycle containing $z$. For each $N < i \le |V_D|$ not obtained previously, we define $\pi(i) = i$.

Equivalently:

- For each $j \le N$ such that there is no $i \le N$ with $\pi(i) = j$, if $\pi(j), \pi^2(j), \dots, \pi^{m-1}(j)$ are all $\le N$ but $N < \pi^m(j) \le |V_D|$, we call $i = \pi^m(j)$ and define $\pi(i) = \pi^{m+1}(j) = j$ obtaining a cycle of length $\le N+1$ in which only one value is bigger than $N$.

- For each $N < i \le |V_D|$ such that there is no $j \le N$ with $\pi(j) = i$, we define $\pi(i) = i$ obtaining a fixedpoint. All this points will be fixedpoints so, if $|V_D|$ is bigger enough ($|V_D| \ge 2 * N$), we will have at least $|V_D| - 2 * N$ fixedpoints.

**Definition 3.1** A configuration $C$ of a keyword query $q$ with $N$ keywords on a database $D$ with vocabulary $V_D$ is a permutation $\pi \in S_{|V_D|}$ such that each cycle of $\pi$ contains no more than an element of value bigger than $N$ ($1 \le i \le r$).

**Example 3.2** Let be a keyword query $q = \{k_1, k_2, k_3, k_4, k_5\}$ and a database $D$ with vocabulary $V_D = \{b_1, b_2, b_3, b_4, b_5, b_6, b_7, b_8\}$, then $N = 5$ and $|V_D| = 8$ and there are $\frac{8!}{(8-5)!} = 6720$ configurations.

The configuration $k_1 \to b_4, k_2 \to b_7, k_3 \to b_6, k_4 \to b_1, k_5 \to b_3$ can be extended to the following permutation $\pi \in S_8$:

* $\pi(1) = 4, \pi(2) = 7, \pi(3) = 6, \pi(4) = 1, \pi(5) = 3$

* Since $2 \le 5$ such that there is no $i \le 5$ with $\pi(i) = 2, \pi(2) = 7$ and $7 > 5$, then $\pi(7) = \pi^2(2) = 2$.

* Since $5 \le 5$ such that there is no $i \le 5$ with $\pi(i) = 5, \pi(5) = 3$ with $3 \le 5$ and $\pi^2(5) = \pi(3) = 6$ with $6 > 5$, then $\pi(6) = \pi^3(5) = 5$.
• Since $8 > 5$ such that there is no $i \le 5$ with $\pi(i) = 8$, then $\pi(8) = 8$.

We have a 3-cycle (3, 6, 5), two 2-cycles (1, 4), (2, 7) and a fixedpoint (8), so the cycle notation is $\pi = (3, 6, 5)(1, 4)(2, 7)(8)$.

The type is $(1^1, 2^2, 3^1, 4^0, 5^0, 6^0, 7^0, 8^0)$, corresponding to the partition of 8: $\lambda = (3, 2, 2, 1)$.

$k_{\lambda} = \frac{8!}{2^2 \cdot 2! \cdot 3} = 1680$, so the conjugacy class of $\pi$, $K_{\pi} = K_{\lambda}$, contains 1680 elements.

**Note 3.3** If $\pi \in S_{|V_D|}$ is a configuration of a keyword query q with N keywords on a database D with vocabulary $V_D$, the type cycle of $\pi$ is

$$ \lambda = (\lambda_1, \dots, \lambda_m, 1, \dots, 1) \vdash |V_D|, $$

with $\lambda_i > 1$ ($1 \le i \le m$) and

$$ \sum_{i=1}^{m} \lambda_i \le m + N. $$

**Proof 3.4** Indeed, if $\pi = c_1 c_2 \cdots c_r$ in cycle notation and it has k fixed-points, the type cycle of $\pi$ is $\lambda = (\lambda_1, \dots, \lambda_m, 1, \dots, 1)$, where $\lambda_i > 1$ ($1 \le i \le m$) and $r = m + k$.

Since each cycle of $\pi$, $c_i$, contains no more than an element of value bigger than N and we have $|V_D| - N$ elements bigger than N, $\pi$ has at least $|V_D| - N$ cycles. Thus $r \ge |V_D| - N$.

Consequently, since $|V_D| = \sum_{i=1}^{m} \lambda_i + k$, we have $\sum_{i=1}^{m} \lambda_i \le m + N$.

We have an equivalence relation between configurations through the conjugacy in $S_{|V_D|}$. In addition, this definition of configuration permits to order configurations through some orders that we can consider on partitions. These are two important reasons why explaining configurations as elements of the symmetric group opens up a way to explain top-k algorithms as combinatorial algorithms.

# 4 Matrix Representations of a Group

To establish the orders needed to explain top-k algorithms as combinatorial algorithms, we need some previous results about group representations that are explained in this Section.
## 4.1 Matrix Representations and G-Modules

A matrix representation can be thought of as a way to model an abstract group with a concrete group of matrices.

**Definition 4.1** A matrix representation of a group $G$ [8] is a group homomorphism

$$X : G \to GL_d,$$

where $d$ is the degree, or dimension, of the representation, denoted by $\deg X$, $GL_d$ denotes the complex general linear group of degree $d$ of all matrices $X = (x_{i,j})_{d \times d} \in Mat_d$ that are invertible with respect to multiplication and $Mat_d$ denotes the set of all $d \times d$ matrices with entries in the complex numbers $\mathbb{C}$.

Let $G$ be a group and $V$ be a vector space over the complex numbers of finite dimension. Let $GL(V)$ stand for the set of all invertible linear transformations of $V$ to itself, called the *general linear group* of $V$. If $\dim V = d$, then $GL(V)$ and $GL_d$ are isomorphic as groups.

**Definition 4.2** Let $V$ be a vector space and $G$ be a group, then $V$ is a $G$-module if there is a group homomorphism

$$\rho : G \to GL(V).$$

Let $G$ be a group of finite order $n$. We denote by $\mathbb{C}[G]$ the algebra of $G$ over $\mathbb{C}$; this algebra has a basis indexed by elements of $G$ and most of the time we identify this bases with $G$. Each element in $\mathbb{C}[G]$ can be uniquely written in the form

$$c_1 g_1 + \cdots + c_n g_n, c_i \in \mathbb{C}$$

and multiplication in $\mathbb{C}[G]$ extends that in $G$.

Let $V$ be a $\mathbb{C}$-vectorial space and let $\rho : G \to GL(V)$ be a linear representation of $G$ in $V$. For $g \in G$ and $v \in V$ set

$$g \cdot v \equiv \rho_g(v).$$

By linearity this defines $f \cdot v$ for $f \in \mathbb{C}[G]$ and $v \in V$. Thus, $V$ is endowed with the structure of a left $G$-module. Conversely such structure defines a linear representation of $G$ in $V$.

An idea pervading all of science is that large structures can be understood by breaking them up into their smallest pieces. The same thing is true in representation theory. Some representations are built out of smaller ones, whereas others are indivisible. This is the distinction between reducible and irreducible representations.
**Definition 4.3** Let $V$ be a $G$-module. A submodule of $V$, or $G$-invariant subspace, is a subspace $W$ that is closed under the action of $G$, i.e.,

$$ w \in W \Rightarrow gw \in W \quad \forall g \in G. $$

**Definition 4.4** A nonzero $G$-module $V$ is reducible if it contains a nontrivial submodule $W$; otherwise, $V$ is said to be irreducible.

**Theorem 4.5** (Maschke's Theorem) Let $G$ be a finite group and let $V$ be a nonzero $G$-module, then

$$ V = W^{(1)} \oplus W^{(2)} \oplus \cdots \oplus W^{(k)}, $$

where each $W^{(i)}$ is an irreducible $G$-submodule of $V$.

## 4.2 Tableaux and Tabloids

We need something about irreducible representations of the symmetric group. We know that the number of such representations is equal to the number of conjugacy classes, that is the number of partitions of $n$.

It may not be obvious how to associate an irreducible with each partition $\lambda = (\lambda_1, \lambda_2, \dots, \lambda_l)$ but it is easy to find a corresponding subgroup $S_\lambda$ that is an isomorphic copy of

$$ S_{\lambda_1} \times S_{\lambda_2} \times \cdots \times S_{\lambda_l} $$

inside $S_n$. So, we can produce the right number of representations by including the trivial representation on each $S_\lambda$ up to $S_n$.

If $M^\lambda$ is a module for the last representation, it is not irreducible. However, we will be able to find an ordering $\lambda^{(1)}, \lambda^{(2)}, \dots$ of all partitions of $n$ with nice properties.

To build the modules $M^\lambda$ first we need:

**Definition 4.6** The Ferrers diagram, or shape, of $\lambda = (\lambda_1, \lambda_2, \dots, \lambda_l) \vdash n$ is an array of $n$ dots having $l$ left-justified rows with row $i$ containing $\lambda_i$ dots for $1 \le i \le l$. The dot in row $i$ and column $j$ has coordinates $(i, j)$, as in a matrix.

**Definition 4.7** A Young tableau of shape $\lambda \vdash n$, or $\lambda$-tableau, [5] is an array $t$ obtained by replacing the dots of the Ferrers diagram of $\lambda$ with the numbers $1, 2, \dots, n$ bijectively. Alternatively, we write $sht = \lambda$.
There are $n!$ Young tableaux for any shape $\lambda \vdash n$.

**Definition 4.8** Two $\lambda$-tableaux $t_1$ and $t_2$ are row equivalent,

$$t_1 \sim t_2,$$

if corresponding rows of the two tableaux contain the same elements.

**Definition 4.9** A tabloid of shape $\lambda$, or $\lambda$-tabloid, is

$$\{t\} = \{t_1|t_1 \sim t\},$$

where $sht = \lambda$.

If $\lambda = (\lambda_1, \lambda_2, \dots, \lambda_l) \vdash n$, then the number of tableaux in any given equivalence class is

$$\lambda! \stackrel{\text{def}}{=} \lambda_1!\lambda_2!\cdots\lambda_l!.$$

Thus the number of $\lambda$-tabloids is just

$$\frac{n!}{\lambda!}.$$

Let $t_{i,j}$ stand for the entry of a $\lambda$-tableau $t$ in position $(i, j)$. Now $\pi \in S_n$ acts on a tableau $t = (t_{i,j})$ of shape $\lambda \vdash n$ as follows:

$$\pi t = (\pi(t_{i,j})).$$

This induces an action on tabloids by letting

$$\pi\{t\} = \{\pi t\}.$$

**Definition 4.10** Suppose $\lambda \vdash n$. Let

$$M^{\lambda} = \mathbb{C}\{\{t_1\}, \dots, \{t_k\}\},$$

the permutation module corresponding to $\lambda$, where $\{t_1\}, \dots, \{t_k\}$ is a complete list of $\lambda$-tabloids.

**Definition 4.11** Any $G$-module $M$ is cyclic if there is a $v \in M$ such that

$$M = \mathbb{C}Gv,$$

where $Gv = \{gv | g \in G\}$. In this case we say that $M$ is generated by $v$.
**Proposition 4.12** If $\lambda \vdash n$, then $[8] M^\lambda$ is cyclic, generated by any given $\lambda$-tabloid. In addition,

$$ \dim M^{\lambda} = \frac{n!}{\lambda!}, $$

the number of $\lambda$-tabloids.

**Example 4.13** Let $\lambda = (3, 2) \vdash 5$. The Ferrers diagram, or shape, of $\lambda$ is

<figure><img src="image_2.png" /></figure>

Some Young tableaux of shape $\lambda$, or a $\lambda$-tableaux, are

$$ t = \begin{array}{cccc} 1 & 3 & 2 & \\ 5 & 4 & & \end{array}, \quad t_1 = \begin{array}{cccc} 1 & 2 & 3 & \\ 4 & 5 & & \end{array}, \quad t_2 = \begin{array}{cccc} 1 & 2 & 4 & \\ 3 & 5 & & \end{array} $$

$t \sim t_1$ but $t_1 \not\sim t_2$. We have $3!2! = 12$ $\lambda$-tableaux row equivalent to $t_1$.

A tabloid of shape $\lambda$, or $\lambda$-tabloid, is

$$ \{t_1\} = \left\{ \begin{array}{ccccccc} 1 & 2 & 3 & & 1 & 2 & 3 & \\ 4 & 5 & & & 5 & 4 & & \\ 2 & 1 & 3 & & 2 & 3 & 1 & \\ 5 & 4 & & & 4 & 5 & & \\ 3 & 1 & 2 & & 3 & 1 & 2 & \\ 4 & 5 & & & 5 & 4 & & \end{array} \right\} = \frac{\begin{array}{c} 1 \ 2 \ 3 \\ \hline 4 \ 5 \end{array}}{\begin{array}{c} 1 \ 2 \ 3 \\ \hline 4 \ 5 \end{array}} $$

There are $\frac{5!}{3! \cdot 2!} = 10$ $\lambda$-tabloids.

The permutation module corresponding to $\lambda$ is $M^{\lambda} = \mathbb{C}\{\{t_1\}, \dots, \{t_{10}\}\}$,

$$ \{t_1\} = \frac{\begin{array}{ccc} 1 & 2 & 3 \\ \hline 4 & 5 & \end{array}}{\begin{array}{c} 1 \\ \hline 4 \end{array}}, \quad \{t_2\} = \frac{\begin{array}{ccc} 1 & 2 & 4 \\ \hline 3 & 5 & \end{array}}{\begin{array}{c} 1 \\ \hline 3 \end{array}}, \quad \{t_3\} = \frac{\begin{array}{ccc} 1 & 2 & 5 \\ \hline 3 & 4 & \end{array}}{\begin{array}{c} 1 \\ \hline 3 \end{array}}, \quad \{t_4\} = \frac{\begin{array}{ccc} 1 & 3 & 4 \\ \hline 2 & 5 & \end{array}}{\begin{array}{c} 1 \\ \hline 2 \end{array}}, $$

$$ \{t_5\} = \frac{\begin{array}{ccc} 1 & 3 & 5 \\ \hline 2 & 4 & \end{array}}{\begin{array}{c} 1 \\ \hline 2 \end{array}}, \quad \{t_6\} = \frac{\begin{array}{ccc} 1 & 4 & 5 \\ \hline 2 & 3 & \end{array}}{\begin{array}{c} 1 \\ \hline 2 \end{array}}, \quad \{t_7\} = \frac{\begin{array}{ccc} 2 & 3 & 4 \\ \hline 1 & 5 & \end{array}}{\begin{array}{c} 2 \\ \hline 1 \end{array}}, \quad \{t_8\} = \frac{\begin{array}{ccc} 2 & 3 & 5 \\ \hline 1 & 4 & \end{array}}{\begin{array}{c} 2 \\ \hline 1 \end{array}} $$

$$ \{t_9\} = \frac{\begin{array}{ccc} 2 & 4 & 5 \\ \hline 1 & 3 & \end{array}}{\begin{array}{c} 1 \\ \hline 3 \end{array}}, \quad \{t_{10}\} = \frac{\begin{array}{ccc} 3 & 4 & 5 \\ \hline 1 & 2 & \end{array}}{\begin{array}{c} 1 \\ \hline 2 \end{array}} $$

The action of $(1, 3, 5)(2)(4) \in S_5$ on $t_1$ is:

$$ (1, 3, 5)(2)(4) t_1 = (1, 3, 5)(2)(4) \begin{array}{cccc} 1 & 2 & 3 & = & 3 & 2 & 5 \\ & 4 & 5 & & 4 & 1 & \end{array} $$
and the action of $(1, 3, 5)(2)(4) \in S_5$ on $\{t_1\}$:

$$ (1, 3, 5)(2)(4) \{t_1\} = (1, 3, 5)(2)(4) \frac{\begin{smallmatrix} 1 & 2 & 3 \\ 4 & 5 \end{smallmatrix}}{4} = \frac{\begin{smallmatrix} 3 & 2 & 5 \\ 4 & 1 \end{smallmatrix}}{4} = \{t_8\} $$

## 4.3 Dominance and Lexicographic ordering

We consider two important orderings [8] on partitions of $n$.

**Definition 4.14** Suppose $\lambda = (\lambda_1, \lambda_2, \dots, \lambda_l)$ and $\mu = (\mu_1, \mu_2, \dots, \mu_m)$ are partitions of $n$:

* $\lambda$ dominates $\mu$, written $\lambda \supseteq \mu$, if

$$ \lambda_1 + \lambda_2 + \dots + \lambda_i \geq \mu_1 + \mu_2 + \dots + \mu_i $$

for all $i \geq 1$. If $i > l$ (respectively, $i > m$), then we take $\lambda_i$ (respectively, $\mu_i$) to be zero.

* $\lambda < \mu$ in lexicographic order if, for some index $i$, $\lambda_j = \mu_j$ for $j < i$ and $\lambda_i < \mu_i$.

The dominance order is partial and the lexicographic is total.

The lexicographic order is a refinement of the dominance order in this sense:

**Proposition 4.15** If $\lambda, \mu \vdash n$ with $\lambda \supseteq \mu$, then $\lambda \geq \mu$.

Intuitively, $\lambda$ is greater than $\mu$ in the dominance order if the Ferrers diagram of $\lambda$ is short and fat but the one for $\mu$ is long and skinny.

**Example 4.16** If we have a configuration $C$ of $q = \{k_1, k_2, k_3\}$ on a database $D$ with $|V_D| = 8$, we will have $\lambda = (\lambda_1, \lambda_2, \dots, \lambda_m, 1, \dots, 1) \vdash 8$ with $1 < \lambda_i \leq 8$ for all $1 \leq i \leq m$ and

$$ \sum_{i=1}^{m} \lambda_i \leq 3 + m. $$

So, we are only interested in the partitions of 8:

$$ (4, 1, 1, 1, 1) > (3, 2, 1, 1, 1) > (3, 1, 1, 1, 1) > (2, 2, 2, 1, 1) > \\ > (2, 2, 1, 1, 1, 1) > (2, 1, 1, 1, 1, 1) > (1, 1, 1, 1, 1, 1, 1). $$

In dominance order:

* $(4, 1, 1, 1, 1) \supseteq (3, 2, 1, 1, 1) \supseteq (3, 1, 1, 1, 1, 1).$

* $(2, 2, 2, 1, 1) \supseteq (2, 2, 1, 1, 1, 1) \supseteq (2, 1, 1, 1, 1, 1, 1) \supseteq (1, 1, 1, 1, 1, 1, 1, 1).$

* $(3, 1, 1, 1, 1, 1)$ and $(2, 2, 2, 1, 1)$ are incomparables but $(3, 2, 1, 1, 1, 1) \supseteq (2, 2, 2, 1, 1)$ and $(3, 1, 1, 1, 1, 1) \supseteq (2, 2, 1, 1, 1, 1, 1).$
# 5 Conclusions

We have provided a formal characterization for the configurations in terms of some elements in the symmetric group $S_n$. We have shown that such a characterization allows us to reduce the number of configurations to check.

In addition, using the symmetric group it is possible to give an order between configurations. That is an important fact because in keyword based search we can obtain more than one configuration for the same keyword query.

Many results about representations of the symmetric group can be used in a purely combinatorial manner.

Some top-k works [4] uses a combinatorial algorithms, such as the Hungarian algorithm (also called Munkres assignment algorithm [3]), to give the best answer for a keyword query in the context of information search. So, since the representations of the symmetric group can be used to obtain combinatorial algorithms, explaining configurations as a kind of elements of the symmetric group is a first step to formalize Keymantic as a combinatorial algorithm.

# References

[1] R. Amaro, J. G. Breslin, J. Cardoso, F. Guerra, R. Trillo-Lado, and Y. Velegrakis. Collecting and generating new ideas. Whitepaper, KeyStone COST Action IC 1302, 2014.

[2] S. Bergamaschi, E. Domnori, F. Guerra, R. Trillo, and Y. Velegrakis. Keyword search over relational databases: A metadata approach. In *Proceedings of the 2011 ACM SIGMOD International Conference on Management of data*, pages 565–576, 2011.

[3] F. Bourgeois and J. Lassalle. An extension of the munkres algorithm for the assignment problem to rectangular matrices. *Communications of ACM*, 14(12):802–804, 1971.

[4] E. Domnori and B. Hitaj. Top-k results using the hungarian algorithm. Unpublished Manuscript. Epoka University, Tirane (Albania).

[5] W. Fulton. *Young tableaux: with applications to representation theory and geometry*, volume 35 of *London Mathematical Society Students Texts*. Cambridge University Press, 1997. ISBN 0-521-56724-6.
[6] A. Leon and M. Leon. *SQL: A Complete Reference*. McGraw-Hill Education (India), 1999. ISBN 9780074637081.

[7] E. Prud'hommeaux and A. Seaborne. SPARQL query language for RDF. Recommendation, W3C, January 2008.

[8] B. E. Sagan. *The Symmetric Group. Representations, Combinatorial Algorithms, and Symmetric Functions*. Number 203 in Graduate Texts in Mathematics. Springer Science & Business Media, 2001. ISBN 976-1-4419-2869-6.

[9] J. X. Yu, L. Chang, and L. Qin. *Keyword Search in Databases*. Synthesis lectures on data management. Morgan & Claypool Publishers, 2010. ISBN 9781608451951.

[10] J. X. Yu, L. Qin, and L. Chang. Keyword search in relational databases: A survey. *IEEE Data Eng. Bull.*, 33(1):67-78, 2010.