2.6 Comparative Preference Languages
2.6.3 CP-nets: overview
The CP-nets model captures complex user preferences in a graphical representa- tion. The latter exploits conditional preferential independence in order to struc- ture the decision maker’s preferences, over a set of features V , under a ceteris paribus assumption. They were introduced in (Boutilier et al. 1999) and extensively studied in many subsequent papers, in particular (Boutilier et al. 2004a, Boutilier et al. 2004b). CP-nets provide a compact and natural representation of ordinal pref- erences in multi-attribute domains (Boutilier et al. 1999, Domshlak et al. 2001, Braf- man & Domshlak 2002, Domshlak & Brafman 2002, Boutilier et al. 2004a, Goldsmith et al. 2008, Brafman, Domshlak & Shimony 2006, Brafman & Domshlak 2008).
A CP-net N over V is an annotated directed graph G over {X1, ..., Xn}, in which
nodes are the problem variables. Each node Xkis annotated with a conditional pref-
erence table denoted by CPT(Xk), which associates a total order over the values
domain of X denoted by Xkwith each instantiation u ∈ U (U is the set of possible
assignments to the set of variable U ) of Xk’s parents (Boutilier et al. 2004a). Indeed,
given such a structural information, the agent explicitly specifies her preferences over the values of Xk for each assignment u ∈ U . This preference is assumed to
take the form of total order over Xk. An outcome o is a map that assigns a value
to each variable Xk ∈ V . For instance, let V = {X1, X2, X3}, all three variables
being binary, and assume that the preference of a given agent over all possible out- comes can be defined by a CP-net whose structural part is the directed acyclic graph G = {(X1, X2), (X1, X3), (X2, X3)}; this means that the agent’s preferences over
2.6. Comparative Preference Languages
the values of X1 is unconditional and the preference over the values of X2 (respec-
tively X3) is fully determined given the values of X1 (respectively the values of X1
and X2). The preference statements contained in the conditional preference tables
are written with notation, such as, x1x02 : x 0
3 > x3 which means that when X1 = x1
and X2 = x02 then X3 = x03 is preferred to X3 = x3. An improving flip is the change
of the value of a single variable Xk within an outcome to directly compute a pre-
ferred (better) outcome based on CPT (Xk). In other words, an improving flip is a
change in the value of a variable towards a more preferred value according to the conditional preference table for that variable.
A CP-net N induces a preference ranking over the outcome space (Boutilier et al. 2004a): for any pair of outcomes o1 and o2, N entails o1 o2 (denoted by N |=
o1 o2) if and only if there exists a sequence of improving flips from o2 to o1
respecting the conditional preference tables of N; otherwise, N 6|= o1 o2. This
definition induces a pre-order over the outcomes, which is a partial order if the CP- nets is acyclic (see below). Note that the preference relation induced from a CP-net is generally not complete (Boutilier et al. 2004a): two outcomes o1 and o2 may also
be incomparable according to N (written as N |= o1 ./ o2). Therefore, a partial order
among the outcomes of a CP-net is obtained by means of the CPT associated to each node in the graph. N |= o1 ./ o2if and only if N 6|= o1 o2 and N 6|= o2 o1.
A CP-net is said to be acyclic if its directed graph is acyclic, and tree-structured if its directed graph is a forest, that is, a disjoint union of trees (Domshlak & Brafman 2002). It should be noted that a tree-structured CP-net is an acyclic preference net- work where arcs are directed from the root down to the leaves in such a way that each node has at most one parent.
When the CP-net is traversed in a topological order of variables, we obtain an induced preference graph of outcomes whose nodes determine the various possible combinations and every edge in the graph represents an improving flip. Although the induced graph specifies the worst and best preferences, respectively, it does not necessarily show any ranking between several intermediate solutions (Boutilier et al. 2004a).
Comparing two outcomes is NP-hard for both cyclic and acyclic CP-net. Given an acyclic CP-net, finding an optimal solution can be done in linear time. However, for cyclic CP-nets, it becomes NP-hard (Goldsmith et al. 2008).
Example 1. Let us assume a student is looking for a suitable laptop configuration. The student will focus only on two components: The Operating System(OS) and The Mem- ory(M) (unit=megabyte). The possible values of variables are defined in Table 2.1. If the memory is equal to 1024MB, UBUNTU is preferred over XP because UBUNTU can be personalized and optimized in order to operate more conveniently even with a small
amount of memory which is not the case for XP, which it needs at least2048MB of mem- ory. When the laptop has2048MB of memory, the student prefers XP over UBUNTU. The CP-net which illustrates the preferences of the student is depicted in Figure 2.1. The in- duced preference graph is depicted in Figure 2.2. An arc in this graph directed from outcomeβ to α indicates that a preference for α over β can be determined directly from one of the CPTs in the CP-net. For example, the fact that the outcome {1024, UB} is preferred to {1024, XP} (as indicated by the direct arc between them) is a direct con- sequence of the semantics of the CPT drawn next to the OS node in Figure 2.1 which says if the memory is equal to1024MB, UBUNTU is preferred over XP. The top element {1024, XP} in Figure 2.1 is the worst outcome while the bottom element {2048, XP} in the figure is the best.
Table 2.1: Laptop components.
Variables Values
Operating System (OS) {XP, UBUNTU11.4 (UB)}
Memory (M) {1024, 2048}
Figure 2.1: A CP-net for laptop configuration.
2.7. Even More Expressive Languages