tree decomposition in a reasonable time, even if it is
not optimal( (Musliu and Schafhauser, 2007), (Ko-
rimort, 2003), (McMahan, 2003)). In this paper we
consider a new heuristic to compute a hypertree with-
out using the tree decomposition. To do this, we first
consider a particular definition of hypertree decompo-
sition and then we propose a generic algorithm which
proceeds in two steps. In the first step, we look for
a first separator of the hypergraph which will con-
stitute the root of the output hypertree. A separator
is a set of hyperedges whose removal either makes
the problem smaller or decomposes a given problem
into at least two components each of which is smaller
than the orignal one. In the second step, this separa-
tor is used for partitioning the hypergraph by remov-
ing its vertices. Afterwards, each component is re-
cursively partitioned, according to the connectedness
condition to be satisfied by the resulting decomposi-
tion. This heuristic can be considerably influenced
by the choice of this first separator. In order to com-
pute the first separator we propose the heuristic Alea
which considers the first separator as the first con-
straint introduced by the user or the first constraint
in the file describing a given CSP instance. Some
experiments on a serial of benchmarks coming from
the literature or the industry (Ganzow et al., 2005)
permit us to observe that Alea is in general better
or comparable to BE(Bucket Elimination), the best
well known heuristic as far as we know, while it gen-
erally outperforms DBE (Dual Bucket Elimination),
another successful heuristic. We also experiment the
resolution of constraint satisfaction problem based on
a hypertree decomposition and the results we obtain
are promising comparing to those obtained by solv-
ing CSP using nFC2-MRV, a forward-checking algo-
rithm with a Minimum Remaing Value ordering algo-
rithm (C.Bessi`ere and Larossa, 2002).
2 PRELIMINARIES
The notion of Constraint Satisfaction Problems (CSP)
was introduced by Montanari in (Montanari, 1974).
Definition 1 (Constraint Satisfaction Problem). A
constraint satisfaction problem is defined as a 3-uplet
P =< V,D,C > where X = {x
1
,x
2
,...,x
n
} is a set of
n variables, D = {d
1
,d
2
,...,d
n
} is a set of finite do-
mains; each variable x
i
takes its values in its domain
d
i
. C = {c
1
,c
2
,...,c
m
} is a set of m constraints. Each
constraint c
i
is a pair (S(c
i
),R(c
i
)) where S(c
i
) ⊂ X,
is a subset of variables, called scope of c
i
and R(c
i
) ⊂
∏
x
k
∈S(c
i
)
d
k
is the constraintrelation, that specifies the
allowed combinations of values.
In order to study the structural properties of con-
straints satisfaction problems, we need to present the
following definitions relative to the graphical repre-
sentation of CSPs.
Definition 2 (Graph (Dechter, 2003)). A graph
G =< V,E > is a structure that consists of a finite
set of vertices V and a set of edges E. Each edge is
incident to an unordered pair of vertices {u,v}.
Definition 3 (Hypergraph (Dechter, 2003)). A hy-
pergraph is a structure H =< V, E > that consists of
a set of vertices V and a set of hyperedges E . Mainly
a hyperedge h ∈ E is a subset of vertices V. The hy-
peredges differ from regular edges in that they may
connect more than two variables.
The structure of a CSP P =< V,D,C > is captured
by a hypergraph H =< V,E > where the set of ver-
tices V is the same as the set of variables V and the
set of hyperedges E corresponds to the set of con-
straints C. For the set of hyperedges K ⊆ E let the
term vars(K) =
S
e∈K
e i.e the set of the variables oc-
curing in the edges K. For a set L ⊆ V let the term
edgevars(L) = vars({e|e ∈ E,e∩ L 6=
/
0}) i.e all the
variables occuring in a set of edges where each edge
in the set contains at least one variable in L.
Definition 4 (Hypertree (Gottlob et al., 2001)). Let
H =< V,E > a given hypergraph. A hypertree for hy-
pergraph H is a triple < T, χ,λ > where T = (N,E) is
a rooted tree and χ and λ are two functions labelling
each node of T. The functions χ and λ map each node
p ∈ N by two sets χ(p) ⊆ V and λ(p) ⊆ E
A tree is a pair < T,χ > where T = (N,E) is a rooted
tree and χ is a labelled function as previously defined.
Definition 5 (Generalized Hypertree Decomposi-
tion (Gottlob et al., 2001)). A generalized hypertree
decomposition of a hypergraph H =< V, E > is a hy-
pertree HD=< T, χ,λ > which satisfies the following
conditions:
1. For each edge h ∈ E , there exists p ∈ vertices(T)
such that vars(h) ⊆ χ(p). We say that p covers h.
2. For each variable v ∈ V, the set {p ∈
vertices(T)|v ∈ χ(p)} induces a connected sub-
tree of T.
3. For each vertex p ∈ vertices(T),χ(p) ⊆
var(λ(p)).
The width of Generalized hypertree decomposition
< T,χ, λ > is max
p∈vertices(T)
|λ(p)|. The generalized
hypertree width: Ghw(H ) of hypergraph is the mini-
mum width over all its generalized hypertree decom-
positions
Definition 6 (Hypertree Decomposition (Gottlob
et al., 2001)). A hypertree decomposition is a gener-
alized hypertree decomposition decomposition which
ICAART 2009 - International Conference on Agents and Artificial Intelligence
86