Abstract
As a tool of qualitative representation, conditional preference network (CPnet) has recently become a hot research topic in the field of artificial intelligence. The semantics of CPnets does not restrict the generation of cycles, but the existence of the cycles would affect the property of CPnets such as satisfaction and consistency. This paper attempts to use the feedback set problem theory including feedback vertex set (FVS) and feedback arc set (FAS) to cut cycles in CPnets. Because of great time complexity of the problem in general, this paper defines a class of the parent vertices in a ring CPnets firstly and then gives corresponding algorithm, respectively, based on FVS and FAS. Finally, the experiment shows that the running time and the expressive ability of the two methods are compared.
1. Introduction
The evil of graph exists in cycles [1–3]. Several famous problems in computer science just like satisfiability, knapsack, and graph threecolorability problem are all related to cycles. With the awkward cycles, the abovementioned questions are difficult to deal with.
Due to the importance of the problem, it has been extensively studied, although the problem was proven to be NPcomplete for general graphs. Moreover, many graph problems are polynomially solvable if restricted to instances of acyclicity or even low cyclicity.
Generally, deleting cycles is considered as feedback set problem applied in many fields, such as circuit testing and deadlock resolution. Analyzing manufacturing processes and computational biology is used to delete cycles. Some different exact and approximate algorithms have been proposed incipiently based on BranchPrune and linear programming. MeasureandConquer techniques and local search approaches have also been employed as usual method.
Feedback set [4, 5] includes feedback vertex set (FVS) and feedback arc set (FAS) or feedback edge set problems, which are classical NP problems. For different situations which can be undirected or directed graph, equal or unequal weighted graph, proper approaches have been proposed, but there is no uniform method in all cases.
A conditional preference network [1], abbreviated as a CPnet, is a simple and intuitive tool of graph model [6], which can represent preferences of agent, so do learning and aggregation and suits for describing qualitative multiattribute decisionmaking preference with dependencies. It can be converted into a weighted directed graph under usual conditions. Since it is a graph model, there always exist cycles. That will produce an effect on consistency of CPnets where one single decision value does not appear more than one time in an arbitrary order sequence or satisfiability where there exists some preference dominant ranking for each decision value in the decision space. Moreover, the abovementioned algorithms of FVS and FAS are not applicable because CPnets are not general graph model [6, 7].
For cutting the cycles of CPnets, two methods are presented based on feedback vertex set (FVS) and feedback arc set (FAS). The following are the main contributions of this paper.
(1) As a FAS problem, based on context of attribute priority, parent of vertex with cycles is defined with formalization firstly. Arcs (edges) of CPnets are deleted by the relation; then an algorithm is presented [8, 9].
(2) As a FVS problem, based on the context of attribute relation, concept of relation reduction is given. Vertices of CPnets are deleted by the through relation reduction; then another algorithm is proposed [10].
The rest of the paper is constructed as follows. In Section 2, some related works are presented. In Section 3, we present the main and basic definitions used throughout the paper. In Sections 4 and 5, FAS and FVS are proposed to deal with cycle of CPnets, respectively. Section 6 presents the results of experiments. Finally, Section 7 summarizes the work and present studies in the future work.
2. Related Work
In [11], Brafman and Domshlak tackle the complexity of determining whether one outcome is preferred to another outcome (dominance testing) which is known for treestructured networks only; moreover, little is known about the consistency of cyclic CPnets. In this paper they show how the complexity of dominance testing depends on the structure of the CPnet. In particular they provide a new polynomial time algorithm for polytrees. In addition, they show a class of cyclic CPnets that is never consistent, while showing other classes on which consistency can be tested for efficiently.
The cyclic networks part of Domshlak in [1] proves that the consistency of cyclic CPnets is not guaranteed and depends on the actual nature of the CPTs. This article holds that cyclic CPnets usefulness requires further analysis. One can argue that it is possible to cluster the variables to preserve acyclicity. And it shows that further investigation of cyclic CPnets, as well as a characterization of the different classes of utility functions that can be represented by cyclic and acyclic networks, remains of interest.
In [12], Liu et al. utilize treewidth which can decrease the solving complexity to solve some reasoning tasks on induced graphs, such as the dominance queries on the CPnets in the future. And they present an efficient algorithm for computing the treewidth of induced graphs of CPnets. It is revealed that by experiment the treewidth of induced graphs of CPnets is much smaller with regard to the number of vertices.
3. Preliminaries
In this section, some basic concepts of CPnets are presented.
Definition 1 (CPnet). A conditional preference network (CPnet) is a graph model <V, A, T>, in which
(i) a set of variables makes up the vertices in the network,
(ii) a set of directed arcs connects pairs of vertices,
(iii) each vertex has a conditional preference table that qualifies the effects the parents have on the vertex.
The CPnet may be directed acyclic or directed cyclic graph [13]; i.e., it may exist with directed cycles, which is distinguished with classic Bayesian network [14, 15].
Example 2 (auto configuration). For a car configuration, we focus on two attributes which are Cl (Class) and Co(Color), where Cl has no parents and Co’s parent is Cl. Assume the following conditional preferences:
The table is sufficient to order all the outcomes completely:
The example can be described by the CPnet in Figure 1.
What calls for special attention is that we can get the preferred outcome on the basis of the conditional attributes it violates. The outcome violates none of the preference constraints. The outcome violates the conditional preference of Co. The outcome infringes the preference of Cl. The outcome violates both. From the above, we know the semantics of CPnets implies that violating one child attribute has higher priority than violating the parent attributes [16].
Definition 3 (dominant). In the decision space of a CPnet, o_{i}o_{j} denotes that outcome o_{i} is equally dominant or more dominant compared with o_{j}; if oo_{j} and o_{j}o_{i}, we say o_{i}o_{j} to denote that outcome o_{i} is strictly more dominant than o_{j}[1].
Another preference order relation is indifferent to o_{i} and o_{j} if o_{i}o_{j} and o_{j}o_{i}.
In this paper, we take strictly dominant relation as dominant because no weakly dominant relation is considered.
Definition 4 (consistency). For CPnet N, o_{i} is an arbitrary outcome in the outcome space Ω, if no cycle sequence exists; that is, for some outcome, it does not appear more than one time in the arbitrary sequence; it is called consistent. For example, if there exists a sequence like o_{1}o_{i}>o_{j}o_{1}, this CPnet does not satisfy consistency.
The consistency of CPnets is closely related to the structure. Any CPnet with acyclic structure is consistent but not always as the cyclic CPnets [8].
We distinguish between consistent and inconsistent cycle CPnets by examples. Figure 2 shows examples of consistent and inconsistent cyclic CPnet over binary variables. If the CPTs for this network are specified as in Figure 2(a), then the CPnet is consistent. However, if the CPTs are specified as in Figure 2(c), then the CPnet is inconsistent.
This paper deals with the problem of inconsistency in the formation of cyclic CPnets and transforms the inconsistency problem into the consistency problem.
Definition 5 (satisfiability). For a CPnet N, if there exists a preference ordering that satisfies all ceteris paribus preference assertions imposed by the CPTs, it is called satisfiability.
But, acyclicity is not ensured by the semantics of CPnets model, and acyclicity of the network automatically confers several important properties just like being satisfiable and consistency, while for cyclic CPnets the situation is much more sophisticated. For example, for a binaryvalued CPnet with three attributes, an acyclic one is showed on the left and the cyclic one is showed on the right in Figure 3. The cyclic CPnet is not inconsistent with omitted complicated reason. It also shows that the consistency of cyclic CPnets is not guaranteed [2, 8].
We introduce the treewidth in graph theory to definite CPnets with simple cycles. Treewidth is commonly used as a parameter in the complexity analysis of graph algorithms; many wellstudied graph problems also have bounded treewidth.
Definition 6 (tree decomposition). Given a graph G = (V, E), a tree decomposition is a pair (X, T), where X= is a set of subsets of V, and T is a tree whose nodes are the subsets X_{i}, satisfying the following properties:
(1) Each graph vertex is associated with at least one tree node.
(2) For two vertices of the connection in the graph, there is a subset X_{i} that contains them.
(3) If X_{1} and X_{2} both contain a vertex v, then all nodes X_{3} of the tree in the path between X_{1} and X_{2} contain v as well.
Definition 7 (treewidth). The treewidth is the size of its largest set X_{i} minus one, that is, . The treewidth of a graph G is the minimum width of tree decomposition of G.
The treewidth tw(G) of a graph G is the minimum width among all possible tree decomposition of G. The width of tree decomposition is the size of its largest set minus one.
Definition 8 (CPnets with simple cycles). A CPnet can be tree decomposed with treewidth bounded [14, 15] by constant k; it is a CPnet with simple cycles.
If a CPnet is a tree structure, the parent of a vertex is the vertex connected to it on the path to the root; every vertex except the root has a unique parent. A child of a vertex v is a vertex of which v is the parent.
But in the cyclic graph the parent is trouble. We take CPnets with simple cycles into consideration in this paper. Several conditions need be considered.
Definition 9 (parent of vertex in a cycle). When a vertex satisfies the following conditions, it is called a parent vertex in a cycle.
The vertex does not connect with its lower level vertices apart from the cycle.
The vertex connects with its high level vertices directly apart from the cycle.
If the vertex satisfies (1) or (2), an arbitrary parent vertex is chosen.
In Figure 4, (a), (b), (c), and (d) are four types of parent. U or V is a random parent in (a); U is parent of V in (b); U is parent of V in (c); U or V or W is an arbitrary parent in (d).
(a)
(b)
(c)
(d)
From the reason of CPnets of Boutilier [1], the following property is given.
Property 10. Parents have a larger positive impact on preference than that which children have.
That is, the nodes will have more impact when they are at higher level in a network, although we cannot compare two (or more) lower level impacts to impacts of one single parent constraint.
Algorithm 1 is based on the important property. FAS and FVS are presented in the following with cutting the cycles of CPnets [15, 16].

4. Cutting Cycles by FAS
In this section, breadthfirst search and depthfirst search (DFS) are compared together and an algorithm of improved breadthfirst search is presented.
Definition 11 (FAS). For a CPnet N=<V, A, T> and a positive integer k, there exists a subset with such that N with the arcs from X deleted is cyclefree [13].
In an undirected graph, FAS problem can be transformed into spanning tree of the graph and the arcs out of tree form the FAS. The time complexity of FAS is O(nlogn) because it is same as the spanning tree [10, 13].
In a directed graph, FAS is reduced to minimum capacity multicut problem in circular networks and its time complexity is [13, 14].
In the following, two search ways of depthfirst search and breadthfirst search in the graph theory are applied in FAS.
Depthfirst search (DFS) traverses the tree vertices along the depth of the tree, as far as the search tree branch. When all of the vertices have already been explored, the search will go back to find the starting vertex. Then choose an arbitrary undiscovered vertex as a source vertex and repeat the above process; the whole process will be redone until all vertices have been visited so far [15, 16].
Breadthfirst search (BFS) [17, 18] is limited to essentially two operations: (a) visit and check a vertex of a graph; (b) gain access to visit the vertices that neighbor the currently visited vertex. The BFS starts from the root vertex and checks all the neighboring vertices. Then for each of those neighbor vertices in turn, it checks their neighbor vertices which are unvisited, and so on. If the vertices are ergodic, the process is completed.
Theorem 12. The BFS is more reasonable than the DFS in breaking the cycles of CPnets [19, 20].
Proof. From the properties and definition, the parent preferences have higher priority than the child preferences. The DFS starts from one parent to the children and then from another to the other children [21]. The BFS starts from one parent to another until every parent is visited and then visits the children. From the above process, the deleted vertices by BFS were children and the ones by DFS may be parents. So the BFS is more reasonable than the DFS.
For the length of all arcs are equal in CPnets [22, 23], breadthfirst search algorithm is the optimal solution, that is, the first solution it finds from the root of a certain minimum number of arcs; but for general figure [24] BFS does not necessarily return optimal solution. But this does not fit in the case of this paper. In this paper, an Improved BFS Algorithm of CPnets is presented as in Algorithm 1.
Example 13. An example of cutting cycles is given by Algorithm 1.
In the cycle CPnets, the vertex does not connect with its lower level vertices apart from the cycle, or the vertex connects with its high level vertices directly apart from the cycle; we can use it as the vertex of a candidate's parents. That is, for any node SD, satisfy the following conditions: (1) Son (S)D, (2) parent (S)D, so S can be the vertex of candidate parents. In Figure 5, for the node U, Son (U)D, parent (U)D. Add the nodes U to the candidate queue Q; for the node V, Son (V)D, parent (V)D. The nodes V do not add to the candidate queue. And we can finally get candidate queue . Because of size of (Q)>1, Rand() function is used to randomly select a node in Q to get nodes U. So the node U is the parents vertex of the cycle. And the edges between U and Y should be removed. Finally, cutting the cycle is successful.
Theorem 14. Improved BFS Algorithm of CPnets is a sufficient condition for cutting the cycles of CPnets.
Proof. Breadthfirst search algorithm is complete. This means that, regardless of the type of graphics, as long as the target is present, it will be found by BFS.
5. Cutting Cycles by FVS
Definition 15 (FVS). For a CPnet N=<V, A, T> and a positive integer k, there exists a subset with such that N with the vertices from X deleted is cyclefree.
For general directed graphs, even with a method to convert FAS and FVS mutually in polynomial timing complexity put forward, the complexity of FVS is same as FAS [13].
The graph that remains after removing X from G is an induced forest. Thus, finding a minimum feedback vertex set in a graph is equivalent to finding a maximum induced forest. For an induced directed acyclic graph in the case of directed graphs, it is equivalent to finding the maximum one.
Definition 16 (weighted vertex of a CPnet). Given a CPnet N= <V, A, T> where each vertex associates weight (V)=c, the minimum FVS problem is to find a minweigh vertex.
From Definition 5, we know that parent vertex is more weighted than the child one. So the main work is to find and delete a less weighted vertex in a cycle.
In traditional attributes reduction, if we compare o_{1}= a_{1}b_{1}c_{1}d_{1}e_{1} and o_{2}=a_{2}b_{2}c_{2}d_{2}e_{2}, we can compare a_{1}b_{1}c_{1}d_{1} and a_{2}b_{2}c_{2}d_{2} if E is decided by D. But we do not compare them because E is dependent only but not decided by D, and we may compare a_{1}b_{1}c_{1}e_{1} and a_{2}b_{2}c_{2}e_{2} if D is less weighted.
In the
Property 17 (a deleted vertex). A vertex in a cycle is deleted when it satisfies the following conditions in the Figure 4:
(1) The weight of the vertex is minimal in the cycle.
(2) The vertex does not connect with other vertices out of the cycle because of CPT.
(3) When (1) and (2) have met together, (2) is considered at first.
In Figure 4, (a), (b), (c), and (d) are four types of deleted vertex. U or V is an arbitrary deleted vertex in (a); U is deleted because (2) of Property 17 in (b); V or W is an arbitrary deleted vertex in (c); U, V, or W is an arbitrary deleted vertex in (d).
See Algorithm 2.

Example 18. It is an example of cutting cycles by Algorithm 2.
As shown in Figure 6, according to weight(S)=numSon(S)numParent(S) in Algorithm 2, the weights of each node can be obtained as follows: weight(U)=0, weight(V)=0, weight(W)=1, weight(X)=1, and weight(Y)=1. The minimum value of weight is obtained by the min() function. In this example, minWeight=1. All nodes satisfying the weight equal to 1 are added to P, getting P=. According to Property 17, first delete vertices that are not connected to other vertices outside the cycle. In P, the node W is not connected with the outer node, so the node W is deleted.
Based on Algorithms 1 and 2, we give experiment to show the result of cutting cycles.
6. Experiments and Discussions
In order to evaluate the ability of our algorithms to deal with large volumes of data, we performed a set of experimental tests on synthetic data. We apply the random CPnets generation algorithm in [25] to generate the CPnets of the specified number of attributes. In this process, because our article is based on the structure of CPnets, we only generate CPnets structure without generating CPT. The experiment was carried out by the CPnets of different structures. Our algorithms were implemented in Matlab and all the experiments were performed on a Windows 7 machine with 3.40 GHz clocked processor and 12 GB RAM.
Figure 7 shows expression of CPnets [26, 27]. We can conclude that the FAS have more strong expressive capability.
Figure 8 shows time consumption comparison of FAS to FVS, which contains only one cycle and different number of vertices in the cycle [28, 29]. Figure 9 shows time consumption comparison of FAS to FVS, in which each cycle has three vertices and the number of cycles is different.
(a)
(b)
(a)
(b)
7. Conclusions and Future Work
Based on the theory of feedback vertex set and feedback arc set, this paper proposes a solution to the problem of cycles in CPnets [30]. In particular, the definition of the parent vertices in the cycles of CPnets greatly reduces the time complexity. Experiments show that the running time of the two methods is indifferent, but the expression ability is greatly different, and the feedback vertex set method has a great destruction to the completeness of CPnets which is consistent with the theory proposed in the article. For the sake of simplification, we have not discussed the case of multiple values. But the cutting cycles problem of multivalued CPnets also focuses on structure, not CPT. So this method is applicable to multivalued CPnets, but we have not discussed this in depth in this paper; we will further study this issue in future research. Except for that, the use of heuristic methods [31, 32] to deal with cycles in a larger scale CPnet is very attractive.
Data Availability
The data used to support the findings of this study are available from the corresponding author upon request.
Conflicts of Interest
The authors declare that they have no conflicts of interest.
Acknowledgments
This work was supported by the Natural Science Foundation of Shandong Province (ZR2013FQ023, ZR2014FL009), the Key Research and Development Project of Shandong Province (2015GSF115009), and National Natural Science Foundation of China (61403328, 61572419).