The Influence of k-Dependence on the Complexity of Planning A planning problem is k-dependent if each action has at most k pre-conditions on variables unaffected by the action. This concept is of interest because k is a constant for all but a few of the current benchmark domains in planning, and is known to have implications for tractability. In this paper, we present an algorithm for solving planning problems in P(k), the class of k-dependent planning problems with binary variables and polytree causal graphs. We prove that our algorithm runs in polynomial time when k is a fixed constant. If, in addition, the causal graph has bounded depth, we show that plan generation is linear in the size of the input. Although these contributions are theoretical due to the limited scope of the class P(k), suitable reductions from more complex planning problems to P(k) could potentially give rise to fast domain-independent heuristics. It is generally acknowledged that most interesting planning domains exhibit some sort of structure, and that identifying this structure is often key to solving them efficiently. This is at least clear from a theoretical point of view, since it is well known that planning is intractable in general (Chapman, 1987) , and PSPACE-complete when restricted to propositional variables (Bylander, 1994 ). An ongoing research project in the planning community is to classify planning problems according to their computational complexity.. In this paper we devise a polynomial-time algorithm for solving planning problems in P(k), the class of k-dependent planning problems with binary variables and polytree causal graphs, for any fixed value of k. This extends the results of a previous version of the paper (Giménez and Jonsson, 2009a) , which only proved polynomial-time complexity for P(2) and P(3). Being polynomial-time solvable is of special interest since it is a well-established theoretical notion that is often identified with practical tractability. Now and then, the significance of this type of result goes further than identifying a new class of planning problems that is easy to solve. Tractable classes of planning have been exploited in the past to define domain-independent heuristics: typically, one estimates the cost of solving a (complex) planning problem by relaxing it until it can be solved efficiently. Also, tractable classes that are defined in terms of structural restrictions play an important role in the context of factored planning (Amir and Engelhardt, 2003) , in which planning problems are divided into subproblems whose independent solutions are combined to produce a global solution. In this paper we have showed that the class P(k) of planning problems with binary variables, polytree causal graphs, and k-dependent actions is polynomial-time solvable, for any fixed value of k. We have also showed that P(k, d), the class of planning problems in P(k) whose causal graphs also have depth bounded by d, is linear-time solvable for fixed k and d. This latter result corresponds to the notion of fixed-parameter tractability with respect to the parameters k and d. The same does not hold for P(k) since the exponent in the polynomial term depends on the parameter k.. Our results are mainly of theoretical interest, since the constants involved in the analysis grow very quickly, making the corresponding algorithms impractical even for small values of k. However, the upper bounds we have imposed on these constants are likely not very tight at all. Our analysis of the case P(2) shows that there exist tighter bounds, improving the efficiency of the corresponding algorithms. We attempted to perform a similar analysis for k = 3, but the number of cases is already so large that such an analysis is almost impossible unless another proof technique is used.. As we previously showed, bounding the depth of the causal graph by a constant implies that there exist constant-size covers for each variable of the problem. In turn, this means that the maximum number of times that the value of each variable can change is also a constant (except the special case of variables whose values can change indefinitely). This is not a new idea: imposing this type of bound on the number of variable value changes is similar to the notion of bounded local depth (Brafman and Domshlak, 2006) .. Finally, an important open question remains: what is the complexity of solving planning problems in P(k) optimally for fixed k > 1? Developing useful heuristics based on P(k) would likely have a much higher chance of succeeding if optimal solutions could be generated in polynomial time. However, we have failed to devise such algorithms, nor have we been able to prove that optimal planning for P(k) is NP-hard. Thus, for the moment, determining the complexity of optimal planning for P(k) has to be left for future work.

O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O B I O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O


Assigning Location Information to Display Individuals on a Map for Web People Search Results Abstract. Distinguishing people with identical names is becoming more and more important in Web search. This research aims to display person icons on a map to help users select person clusters that are separated into different people from the result of person searches on the Web. We propose a method to assign person clusters with one piece of location information. Our method is comprised of two processes: (a) extracting location candidates from Web pages and (b) assigning location information using a local search engine. Our main idea exploits search engine rankings and character distance to obtain good location information among location candidates. Experimental results revealed the usefulness of our proposed method. We also show a developed prototype system. Finding information about people on the Web is one of the most popular search activities. According to [1] , 30% of all queries in Web searches include person names. Person name disambiguation, or distinguishing people with identical names, is becoming more and more important in Web searches. Most research into person name disambiguation concentrates on automatically separating Web pages for different people using clustering algorithms. However, if the list of search results is merely person 1, person 2, . . . and so on, users have difficulty determining which person clusters they should select.. This research locates person icons on a map to provide a user-interface to help users select person clusters that are separated into different people from the result of person searches on the Web. We assign one piece of representative location information to an individual. Fig. 1 shows the aim of this research and a prototype interface. When a person name is input as a query, Web pages are classified into person clusters, and individual icons that express appropriate locations are displayed on a map. Users can select icons to display their location information to access searched Web pages.. In this paper, we assign one piece of location information to person clusters. We proposed a method to assign person clusters with one piece of representative location information to display person icons on a map. The following are the main ideas of our method: (1) using landmarks as well as addresses to extract location information, (2) using search engine rankings and character distance to assign suitable location information, and (3) using Local search to convert texts included in Web pages to location information.. The experimental results revealed that our method has the best recall, Fmeasure, and total performance among comparative methods. The above results suggest our method's usefulness. In addition, we successfully built a prototype interface to select a person cluster on a map. Dataset The twenty person names used in related work [6] were selected as queries. 100 HTML files were obtained for all 20 queries from Web searches [5] . Two subjects manually classified these Web pages into different people. 151 people were found in all 100 Web pages. For 13 person names, different people existed, and for seven person names, only one person existed.. The subjects extracted the location information from the person clusters by checking all Web pages. For 79 out of 151 people (52.3%), location information existed, and there was no appropriate location information for 72 people. The average number of Web pages for the former 79 people was 21.3 (SD=35.8) and 4.1 for the latter 72 (SD=14.6).. The evaluation measurement was as follows. First, current places (offices or homes) were judged as appropriate location information. When there was no current place, past places (offices or homes) were treated as appropriate location information. Places the person temporarily visited do not become location information. An address type and a landmark type are equally satisfactory.. Comparative methods To evaluate the usefulness of search engine rankings and to determine the number of Web pages, we examined the number of Web pages (the top, top five, 10, 15, and 100). We call these methods: (a) top page, (b) top five pages, (c) top 10 pages (our method), (d) top 15 pages, and (e) top 100 pages.. To evaluate the usefulness of a combination of search engine rankings, landmarks, and character distance, we examined a method that only extracts addresses and a method that uses frequency to calculate location information. We used the top 10 pages because the former evaluation revealed that 10 pages was the best. We call the former (f) the address method (top 10 pages and only extracting addressess) and the latter (g) the frequency method (top 10 pages and using frequency).. Evaluation Two subjects evaluated the assigned location information by the above methods. Precision, recall, F-measure, and total were calculated as follows: precision = number of people whose assigned LI is correct number of people whose LI is assigned recall = number of people whose assigned LI is correct number of people whose LI is included in Web pages. precision+recall total = number of correct answers number of people With Local search, an assigned address and an address included in an original Web page sometimes differ. For example, when 3-3-138, Sugimoto-cho, Sumiyoshi-ku, Osaka-shi is included in a Web page and Local search returns Sugimoto 3-Chome, Sumiyoshi-ku, Osaka-shi, we judged this correct. Another such example is Fukuoka City, which is included in a Web page; Local search returns an address of city hall of Fukuoka City.

O B I O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Goal-oriented preservation of essential genetic information by offspring selection This contribution proposes an enhanced and generic selection model for Genetic Algorithms (GAs) and Genetic Programming (GP) which is able to preserve the alleles which are part of a high quality solution. Some selected aspects of these enhanced techniques are discussed exemplarily on the basis of standardized benchmark problems. A very essential question about the general performance of a GA is, whether or not good parents are able to produce children of comparable or even better fitness. In natural evolution, this is almost always true. For Genetic Algorithms this property is not so easy to guarantee. The disillusioning fact is that the user has to take care of an appropriate coding in order to make this fundamental property hold.. The basic idea of the new selection model is to consider not only the fitness of the parents in order to produce a child for the ongoing evolutionary process. Additionally, the fitness value of the evenly produced child is compared with the fitness values of its own parents. The child is accepted as a candidate for the further evolutionary process if and only if the reproduction operator was able to produce a child that could outperform the fitness of its own parents. This strategy guarantees that evolution is presumed mainly with crossover results that were able to mix the properties of their parents in an advantageous way. I.e. survival of the fittest alleles is rather supported than survival of the fittest individuals which is a very essential aspect for the preservation of essential genetic information stored in many individuals (which may not be the fittest in the sense of individual fitness).. The empirical Discussion is subdivided into two parts: The first subsection aims to highlight the main message of the paper (preservation of essential alleles) whereas the second part gives some references to related contributions which include a more detailed and statistically more relevant experimental discussion on the basis of several benchmark but also practical problems on which we have applied the new selection model recently. Figure 1 shows the distribution of essential alleles (in the concrete case of a 130 city TSP an essential allele is one of the 130 edges of the optimal tour) over the iterations for a standard GA with a mutation rate of 5%. The interesting thing is that some minor ratio of essential alleles is rapidly fixed in the population and the majority of essential alleles which are still missing have disappeared in the entire population. During the further run of the algorithm it is only mutation which can reintroduce this essential genetic information. Without mutation premature convergence would already have occurred at this early state of evolutionary search. But with an appropriate mutation rate (5% in this example) more and more essential alleles are discovered ending up with quite a good solution. But there is still a gap to the global optimum caused by that alleles which could not be recovered due to mutation. So let us take a closer look at the distribution of essential genetic information in the population when using the enhanced selection concepts. The next curve (Figure 2 ) shows the quality curve and the distribution of essential alleles for 5% mutation which was able to achieve the best results in case of a standard GA.

O O O O O O O O B O O O O O O O B O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Evolutionary algorithms and matroid optimization problems We analyze the performance of evolutionary algorithms on various matroid optimization problems that encompass a vast number of efficiently solvable as well as NP-hard combinatorial optimization problems (including many well-known examples such as minimum spanning tree and maximum bipartite matching). We obtain very promising bounds on the expected running time and quality of the computed solution. Our results establish a better theoretical understanding of why randomized search heuristics yield empirically good results for many real-world optimization problems. Motivation. While evolutionary algorithms are known to work (empirically) well for many optimization problems in practice, a satisfying and rigorous mathematical analysis of their performance is one of the main challenges in the area of genetic and evolutionary computing. Interesting results have been obtained for some important, isolated optimization problems but a general theoretical explanation of the behavior of evolutionary algorithms is still missing. The aim of this paper is to make progress in this direction. We study the performance of evolutionary algorithms on a very general class of combinatorial optimization problems and obtain promising results on the running time and quality of the computed solutions. A summary of our results together with an overview of the complexity of the considered optimization problems can be found in Table 1 .. Independence Systems and Matroids. Matroid theory provides a framework in which a substantial class of problems in combinatorial optimization can be studied from a unified perspective. Matroids form a special class of independence systems that are given by a finite set E and a family of subsets F ⊆ 2 E such that F is closed under subsets. The subsets contained in F are called independent and a maximal independent subset is called a basis of the independence system. A precise definition of matroids along with some important classical results is given in Section 2.. Many combinatorial optimization problems can be formulated as follows: Given an independence system on a weighted set E, find a basis of minimum (or maximum) weight. We mention as an example the problem of finding a stable set with maximum weight in a given graph with weights on the nodes (here, the underlying independence system is not a matroid).. A famous result by Rado [19] , Gale [7] , and Edmonds [4] states that an independence system is a matroid if and only if the greedy algorithm computes a minimum weight basis for arbitrary weights on the elements of E. This algorithmic characterization of matroids highlights their relevance in the area of efficient algorithms and combinatorial optimization.. Examples of Matroids and First Results. Graphic matroids are an important example of matroids where E is the edge set of a graph G = (V, E) and a subset of edges is independent if it does not contain a circuit. If the given graph G is connected, the problem of finding a minimum weight basis of the corresponding graphic matroid is the minimum spanning tree problem. In the context of evolutionary algorithms, Raidl and Julstrom [20] analyze different encodings for the minimum spanning tree problem and propose to work with so-called edge sets. Neumann and Wegener [16] study evolutionary algorithms for the minimum spanning tree problem. They prove that two specific evolutionary algorithms, (1+1) EA and RLS, compute a minimum spanning tree in expected polynomial time, i.e., O(|E| 2 (log |V | + log wmax)), where wmax denotes the maximum weight of any edge; moreover, they establish a lower bound of Ω(|E| 2 log |V |). In Section 3 we generalize this result to arbitrary matroids (see also . weighted matroid intersection O(|E| 2.5 (log |E| + log wmax)) 1/2-approximation in O(|E| 4 (log |E| + log wmax)) exponential [9] intersection of p ≥ 3 matroids NP-hard [8] 1/p-approximation in O(|E| p+2 (log |E|+log wmax)) exponential Table 1 : A summary of results on various matroid optimization problems. The problems are described in the first column. The second column gives the running time of known efficient algorithms. The third column describes the results for (1+1) EA and (modifications of ) RLS obtained in this paper. The last column gives lower bounds on the running time of (1+1) EA and RLS for obtaining an optimal solution.. Another important example of matroids are linear matroids where E is a set of vectors and a subset is independent if the vectors contained in it are linearly independent. Linear matroids occur, for example, in the minimum cycle basis problem where the task is to find a minimum weight basis of the cycle space of a given graph with weights on the edges. This problem is an important building block in various real-world optimization problems such as, for example, in electrical networks, structural engineering, chemistry and biochemistry, and in periodic timetabling; see, e.g., [15] for details.. Matroid Intersection. Matroids have even more algorithmic power than just that of the greedy method. Edmonds [3, 14] observed that also the (weighted) matroid intersection problem can be solved efficiently. That is, a maximum weight common independent set in two matroids can be found in strongly polynomial time. The matroid intersection problem has applications in many settings such as, for example, edge connectivity [5] , survivable network design [1] , constrained minimum spanning trees [12] , and multicast network codes [11] .. The most prominent example of an optimization problem that can be formulated as a matroid intersection problem is the maximum weight matching problem in bipartite graphs. Giel and Wegener [9, 10] analyze evolutionary algorithms for the maximum matching problem (with unit weights). They show that (1+1) EA and RLS are (randomized) polynomial-time approximation schemes with an expected runtime of O(|E| 2 1/ ); moreover they construct a class of bipartite graphs for which these algorithms need an exponential expected running time until they find an optimal solution. Motivated by these results we prove in Section 4 that (1+1) EA and RLS are polynomial-time approximation schemes for the matroid intersection problem with unit weights (see also Table 1 ).. Our result for the unweighted matroid intersection problem cannot be generalized easily to the weighted case and also from the viewpoint of efficient algorithms it is known that the weighted version of the problem is somewhat harder than the unweighted problem. In Section 5 we prove that (1+1) EA and a slightly modified version of RLS are approximation algorithms for the weighted matroid intersection problem (see also Table 1 ).. NP-Hard Problems. The problem of finding a maximumsize common independent set in three or more matroids is NP-hard as finding a Hamiltonian circuit in a directed graph is a special case [13] . On the other hand it is known that any independence system can be represented as an intersection of finitely many matroids and a vast number of combinatorial optimization problem falls into this category. In Section 6 we prove that (1+1) EA and (an appropriately modified version of) RLS are 1 p -approximation algorithms for the NPhard problem to find a maximum-weight independent set in the intersection of p ≥ 3 matroids (see also Table 1 ). Note that the approximation ratio of 1 p is the same as that of the greedy algorithm [14] . We have analyzed the performance of (1+1) EA and RLS on a very general class of combinatorial optimization problems ranging from very simple problems that can be solved optimally by the greedy method up to NP-hard problems. Our results provide an indication of the enormous power of evolutionary algorithms from a theoretical point of view. It turns out that the very general and abstract structure of matroid optimization problems suffices to lead evolutionary algorithms into promising directions and to finally obtain optimal or at least provably good solutions after only polynomially many iterations.

B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O


An integrated semantic-based approach in concept based video retrieval Abstract Multimedia content has been growing quickly and video retrieval is regarded as one of the most famous issues in multimedia research. In order to retrieve a desirable video, users express their needs in terms of queries. Queries can be on object, motion, texture, color, audio, etc. Low-level representations of video are different from the higher level concepts which a user associates with video. Therefore, query based on semantics is more realistic and tangible for end user. Comprehending the semantics of query has opened a new insight in video retrieval and bridging the semantic gap. However, the problem is that the video needs to be manually annotated in order to support queries expressed in terms of semantic concepts. Annotating semantic concepts which appear in video shots is a challenging and time-consuming task. Moreover, it is not possible to provide annotation for every concept in the real world. In this study, an integrated semantic-based approach for similarity computation is proposed with respect to enhance the retrieval effectiveness in concept-based video retrieval. The proposed method is based on the integration of knowledge-based and corpus-based semantic word similarity measures in order to retrieve video shots for concepts whose annotations are not available for the system. The TRECVID 2005 dataset is used for evaluation purpose, and the results of applying proposed method are then compared against the individual knowledgebased and corpus-based semantic word similarity measures which were utilized in previous studies in the same domain. The superiority of integrated similarity method is shown and evaluated in terms of Mean Average Precision (MAP). In recent years, there has been a tremendous need to query and process large amount of data that cannot be easily described such as video data. Text-based and content-based methods are considered as two fundamental frameworks for video retrieval. Research on text-based methods began in 1970, and they are in relevant with information retrieval community. Moreover, content-based methods are applied in order to improve multimedia retrieval, and it is traced back to 1980s by introducing Content-based Image Retrieval (CBIR). So, the question that arises is the degree of effectiveness of content-based methods in the area of Multimedia Information Retrieval (MIR). Content-based methods can play essential roles when text annotations are not available or are not sufficient enough. In addition, in spite of having annotation, content-based methods give additional insight into media collection, and enhance retrieval accuracy.. Unlike text retrieval systems, video retrieval has encountered one of the most important challenging problems, named Semantic Gap. This is the difference between the low-level representation of videos and the higher level concepts which a user associates with video [16] . The video analysis community has taken beneficial steps towards bridging this gap by utilizing low-level feature analysis (motion, shape, texture, color histograms) and lately by using semantic content description of video, particularly when the content of video is pertaining to broadcast news. However, because the semantic meaning of the video content cannot be expressed in this way, these systems had a very limited success with the earlier mentioned approaches for semantic queries in video retrieval. Several studies have confirmed the difficulty of addressing information needs with such low-level features [24, 32] . However, low-level features have shown promising performance in video retrieval, and they can be utilized in complement to high-level semantic concepts for improving retrieval.. Lately, a number of concept detectors such as outdoors, face, building, etc., have been developed by different researchers to help with the semantic video retrieval. Among them, Large Scale Concept Ontology for Multimedia (LSCOM) with the collection of more than 400 concept annotations , Columbia374 [41] and Vireo374 [18] are considered as the largest and the most popular concept detectors. Therefore, the retrieval of desirable concept is accomplished by using the suitable concept detector and coming up with detection confidences for all video shots. After that a sorted list containing confidences of video shots is returned as result. Despite the fact that the mentioned supervised training for concept detection is desirable, providing annotations of concepts in videos manually is a very challenging and time consuming task, and it is not considered as a suitable approach for retrieving every concept in real world. Therefore, retrieving concepts provided that their annotations are not available is essential. This can be achieved through the computation of similarity measures.. Semantic similarity measures can be beneficial to bridge the gap between an arbitrary textual query and a limited vocabulary of visual concepts [13] . These similarity measures have been utilized in the area of video retrieval as well [1, 13] . Concept-retrieval, and it has been paid attention a lot recently. The quality of similarity measure employed for mapping textual query terms to visual concepts is considered as a key factor in concept-based retrieval. Various studies have made use of different similarity measures individually. Our study on the other hand investigates the results of integration of various semantic similarity measures. Thus, the integration of semantic similarity measures is applied instead of individual semantic similarity measures in order to retrieve video shots for queries expressed in terms of semantic concepts. The proposed integrated semantic based approached combines multiple semantic similarity measurements, as previous works mostly used these measurements individually.. The remainder of this paper is organized as follows. In Section 2, an overview of related work is given. Then, in Section 3, the proposed video retrieval model is presented in details. The proposed model is evaluated experimentally in Section 4. In Section 5, results and analysis are discussed. The conclusion of the paper is presented in Section 6 with an outlook to future work. For searching desirable video, users easily express their needs by a textual description in natural language using high-level concepts. Nevertheless, there is a mismatch between the low-level interpretation of video frames and the way users express their information needs. This issue leads to the problem named semantic gap. Moreover, video needs to be manually annotated in order to support semantic query. However, annotating video is a very tedious and challenging task. In this paper, semantic video retrieval model is proposed to find new concepts without availability of annotations. One major contribution of this study is to evaluate various semantic similarity measures against the integration of them in concept based video retrieval. This study showed that the integration of knowledge-based and corpus-based measures outperformed individual ones.. Possible future work includes exploring more reliable and powerful semantic similarity measure and taking into account string similarity measure which can be beneficial in such cases [17] . Retrieving video shots for queries which are expressed in terms of a group of semantic concepts (sentence) rather than one semantic concept can be regarded as another future direction in semantic video retrieval. A set of experiments are conducted on the TRECVID 2005 (TV05) search dataset [11] to evaluate the effectiveness of the proposed video retrieval model. A set of 374 concept detectors, namely Columbia374 [41] , is also used. These detectors are trained based on the development set of TRECVID 2005, which is annotated by LSCOM. WordNet similarity package [29] is also applied for implementing knowledge-based semantic similarity measures. There are 10 test concepts defined by NIST as queries. In this study, only 7 out of these 10 concepts are selected due to knowledge-based semantic similarity measures. As mentioned before, knowledge-based measures are based on WordNet, and among 10 test concepts, only 7 of them are available in WordNet. These 7 test concepts are as follow: Car, Explosion-fire, Maps, Mountain, Prisoner, Sports, and Waterscape-Waterfront. The video retrieval model should return the ranked list of up to 1000 results for each query. The ground truth for all 7 queries is provided by NIST as well. A variety of measures for evaluating the performance of information retrieval systems have been presented. These measures need a collection of queries and documents. TRECVID utilizes a set of established measures to evaluate the effectiveness of retrieval results. Returning a ranked list of up to 1000 shots from the test collection, contributing to a set of target topics, is regarded as results. A common measure of retrieval effectiveness called "noninterpolated average precision" is also defined by NIST over a set of retrieved documents (shots in our case are considered as the unit of testing and performance assessment). Average precision emphasizes on ranking relevant documents higher. It is the average of precision of the relevant documents in the ranked order. Let R j be the number of true relevant documents in a set of size S; L is the ranked list of documents returned. At any given index j, let be the number of relevant documents in the top j documents. Let I j = 1 if the jth document is relevant and 0 otherwise. Assuming the non-interpolated average precision (AP) is then defined as [15] :. Finally, the mean of average precision is calculated for all queries which are considered as an overall performance measure.

O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B I O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B I O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Predicting web searcher satisfaction with existing community-based answers Community-based Question Answering (CQA) sites, such as Yahoo! Answers, Baidu Knows, Naver, and Quora, have been rapidly growing in popularity. The resulting archives of posted answers to questions, in Yahoo! Answers alone, already exceed in size 1 billion, and are aggressively indexed by web search engines. In fact, a large number of search engine users benefit from these archives, by finding existing answers that address their own queries. This scenario poses new challenges and opportunities for both search engines and CQA sites. To this end, we formulate a new problem of predicting the satisfaction of web searchers with CQA answers. We analyze a large number of web searches that result in a visit to a popular CQA site, and identify unique characteristics of searcher satisfaction in this setting, namely, the effects of query clarity, query-to-question match, and answer quality. We then propose and evaluate several approaches to predicting searcher satisfaction that exploit these characteristics. To the best of our knowledge, this is the first attempt to predict and validate the usefulness of CQA archives for external searchers, rather than for the original askers. Our results suggest promising directions for improving and exploiting community question answering services in pursuit of satisfying even more Web search queries. "Just because Google exists doesn't mean you should stop asking people things." -Alexia Tsotsis [35] Community-based Question Answering (CQA) sites, such as Yahoo! Answers, Baidu Knows, and Naver Ji-Sik-In, as well as more social-oriented newcomers such as Vark and Quora, have gained substantial popularity over the recent years, effectively filling a niche left by the mainstream Web search engines. People around the globe resort to community help for a variety of reasons, from lack of proficiency in Web search to seeking an answer "with a human touch". Although some of these sites allow for monetary payments in exchange for answering questions (e.g., JustAnswer, or the now discontinued Google Answers), answerers are usually attracted by social reward and less tangible incentives, such as reputation or points, as demonstrated by Raban [23] . The CQA communities are mainly volunteer-driven, and their openness and accessibility appeal to millions of users; for example, the size of Yahoo! Answers surpassed 1 billion answers in 2010 1 , and Baidu Knows had over 100 million answered questions as of January 2011. 2 . To date, prior studies of community question answering have mainly considered first-order effects, namely, the satisfaction of the original question asker by the posted answers. However, we believe CQA has significant secondary benefits, whereas previously answered questions are likely to be useful for future askers of substantially similar or related questions. Indeed, today many additional users already benefit from the public accessibility of CQA archives via all the major web search engines. 3 Existing answers often satisfy information needs of users who submit queries to a Web search engine, obtain results from a CQA site, such as the ones shown in Figure 1 , select one of these results, and finally reach a resolved question page on the CQA site, as illustrated in Figure 2 .. This scenario poses new challenges and opportunities for both search engines and CQA sites. For search engines, it provides a unique (semi-structured) source of human answers, which are particularly useful for satisfying tail queries [10] . For CQA sites, it creates substantial incoming traffic, which has its own multiple benefits from growing the community to providing advertising revenue. More sophisticated symbiosis is also possible. For example, imagine if a search engine could detect that a user is struggling with a search session (e.g., by using techniques described in [7] ). A search engine could then suggest posting a question on a CQA site, optionally suggesting relevant categories for such posting, and could even assist the user in transforming the query into an effective question. But in order to make this vision a reality, it is necessary to understand what it means for a searcher to be satisfied by an existing answer from a CQA archive, and to be able to predict this satisfaction.. This paper proposes and addresses this new problem of predicting the satisfaction of Web searchers with existing CQA answers. One way to approach this problem would be to define features of queries, questions, and answers (and possibly pairs thereof), and solve it within the machine learning paradigm. We call this a direct approach. This can be done by constructing a labeled dataset of queries and answers, tagged by human judges based on how well they believe a query is satisfied by a given answer.. Since queries are often quite short, and questions, which we view as an intermediate link between queries and answers, are often not much longer, another way to approach the problem is through exogenous knowledge. To this end, we identify three key characteristics of searcher satisfaction, namely, query clarity, query-question match, and answer quality. We then collect separate human labels for each, and build regression models for predicting these characteristics. Learning from these task-specific labels explicitly makes use of domain knowledge about the problem structure, which is not available in the above direct approach. We then use the output of these individual regressors as features in a subsequent regression task, which aims to predict searcher satisfaction. We call this method a composite approach. This approach also allows us to better understand how much the performance in the main prediction task can be improved by improving each of the individual regressors (we model this by replacing the intermediate regression predictions with actual human labels). This additional interpretability of the model provides further insights into the problem.. We conduct our experimental evaluation using data from one of the leading CQA sites, namely, Yahoo! Answers. We collect human labels for each of the above tasks using Amazon Mechanical Turk. These include labeling searcher satisfaction with a given answer (our main prediction task), as well as intermediate labels for query clarity and queryquestion match. We gauge the answer quality by using a combination of signals shown to be highly correlated with it [1] , namely, the answer length, and the asker and community ratings. The labeled data is publicly available through Yahoo's Webscope program 4 . Since we define a new task (predicting searcher satisfaction with CQA answers), it is difficult to identify a suitable baseline. The closest previously addressed problem, at least in spirit, is asker satisfaction -predicting whether the original question asker (on the CQA site) was satisfied with the answers [19] . Intuitively, searcher satisfaction should be related to asker satisfaction. However, as we show later, asker satisfaction and searcher satisfaction appear to be very weakly related, if at all. Hence, an entirely new method is needed to compute searcher satisfaction. It is essential to note that, in our scenario, Web search queries are different from the questions originally posted to CQA sites, and more importantly, these queries are issued by different users with different information needs. In fact, the users in these two scenarios are drastically different. Whereas users of the community site are willing to clarify their questions, provide additional details, and even provide feedback to the answerers, Web search users seek immediate satisfaction, and essentially treat existing answers as a static resource.. The main contributions of this paper are threefold. First, we formulate a new problem, namely, predicting searcher satisfaction with existing CQA answers. Second, we propose two methods for solving this problem, a direct method and a composite method, which uses the outputs of secondary regressors as features. Finally, we apply our methods to a standard ranking task, where we treat answers as a semi-structured document collection. We show that incorporating our predictor of searcher satisfaction leads to a significant improvement in ordering the answers for a given query. To the best of our knowledge, this is the first attempt to predict and validate the usefulness of CQA archives for external searchers, rather than for the original askers. Our results suggest promising directions for improving and exploiting community question answering services in pursuit of satisfying even more Web search queries. In this paper we formulated a novel task of predicting searcher satisfaction with answer pages from CQA sites. Prior research mainly concentrated on the first-order effects of community question answering, studying satisfaction of original askers of questions or potential answerers (both on the CQA site itself). In contrast, we study second-order effects of CQA archives, which repeatedly benefit many more The most popular theory is that the word ketchup was derived from "koe-chiap" or "ke-tsiap" in the Amoy dialect of China... Our work spans the areas of filtering, recommending and ranking Community Question Answering (CQA) content, and estimating searcher satisfaction with the retrieved CQA content. In this section we first give an overview of the CQA site we chose for our experiments, namely Yahoo! Answers, as it currently holds the largest repository of questions. Then related research will be discussed. This section first describes how we assembled a dataset from a sample of Google queries and a log of visits to Yahoo! Answers. We then describe the rating procedure to acquire the "ground truth" for searcher satisfaction, and the characteristics of the resulting data.

O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O


Input Selection Based on an Ensemble Since an ensemble of neural networks outperforms a single network, we expect that the selection of input variables based on an ensemble is superior to the selection based on a single neural network. In this article, we will present an algorithm that performs input selection based on an ensemble of neural networks. Using this algorithm, the correct sets of variables were found for two arti cial problems. Furthermore, for two real-world problems, we determined the relevance of the input variables. Our predictions were equal or better than the predictions of other methods described in the literature. Whenever a neural network is trained on only part of the available data, the resulting solution will strongly depend on the actually selected data examples (Breiman 1996) . This \instability" e ect is particularly strong when the number of examples is rather small, as is the case in many real-world problems. An ensemble of neural networks, trained on di erent parts of the available data, will therefore contain di erent, maybe even contradicting, solutions. The existence of these di erent solutions does not only re ect the uncertainty caused by the limited amount of data, but also explains why an ensemble outperforms a single neural network (Breiman 1996 , Heskes 1997 . Therefore, input selection should prefer an ensemble to a single network. Although many input selection algorithms have been proposed for single neural networks, see, for example, (Belue & Bauer 1995 , Glorfeld 1996 , Grandvalet & Canu 1997 , Refenes et al. 1996 , van de Laar et al. 1997 ), we are not aware of any input selection algorithm based on an ensemble of neural networks. Unfortunately, approaches to select input variables from single neural networks cannot easily be generalised to an ensemble, since one should not apply schemes that treat the ensemble as Real World Computing Partnership y Foundation for Neural Networks a whole, such as for example majority voting, and ignore the con icts within the ensemble, the cause of the improvement in performance.. Before proposing an algorithm for input selection based on ensembles, in Section 4, we will rst describe how we create an ensemble of neural networks (see Section 2) and give a brief introduction to input selection (see Section 3). Simulations of this algorithm and their results are described in Section 5. We will end with our conclusions and discussion (see Section 6). In this article, we described an algorithm for input selection based on an ensemble of neural networks. In two arti cial problems, we showed that the correct sets were selected. For two real-world problems, we found solutions which were at least as good as other solutions given in the literature. Furthermore, although input selection based on a single neural network is an unstable process, i.e., a small change can yield a completely di erent selection, input selection based on an ensemble will be more stable due to the averaging over a large number of neural networks.. The algorithm which we proposed only stops when all variables have been removed. Afterwards, we can determine the optimal ensemble for this task with some additional statistical test, see for example (van de Laar et al. 1997) . As already described, our algorithm only considers ensembles which are composed of neural networks with the same number of input variables. Since these speci c ensembles constitute a subset of ensembles of neural networks, we prefer to consider our results only as a guideline. For example, our predictions whether a breast cancer tumor is malignant might be based on an ensemble that contains not only neural networks with 4 input variables, i.e., X 1 , X 3 , X 6 , and X 8 , but also networks with 3 input variables, i.e., X 1 , X 3 , and X 6 and X 1 , X 6 , and X 8 .. Input selection can be viewed as a rst step towards the bigger challenge of knowledge extraction, where one searches for rules describing the problem at hand see for example (Setiono & Liu 1997) ]. So, although our input selection algorithm might be improved and generalised, we think that future research should investigate whether techniques, similar to those presented in this paper, can be used to obtain better and more stable rules by considering an ensemble instead of a single neural network. When one performs input selection on the ensemble as a whole, for example, by selecting the input variables according to the majority of the individual neural networks in the ensemble, one ignores the con icting solutions within the ensemble that are the source of the improvement in generalising performance (Breiman 1996 , Heskes 1997 . On the other hand, when one performs input selection on each of the neural networks of the ensemble separately, one might not be able to combine these individual selections into a single comprehensible input selection scheme. We propose an algorithm that lies between these two extremes and that is closely related to backward elimination.. In the remaining part of this section we will rst introduce our notation, then we will describe the algorithm and illustrate it on an example. We will end with a brief discussion of the computational cost of the algorithm.

B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Image

Space

Advection

on

graphics

hardware

The

scientific

visualization

and

computer

graphics

communities

have

witnessed

a

tremendous

rise

in

graphics

processing

unit

(GPU)

related

literature

and

methodology

recently.

This

is

due

in

part

to

the

rapidly

increasing

processing

speed

offered

by

graphics

cards.

Parallel

to

this,

we

have

seen

several

advances

made

in

the

area

of

texture-based

flow

visualization.

We

present

a

texture-based

flow

visualization

technique,

Image

Space

Advection

(ISA),

that

takes

advantage

of

the

computing

power

offered

by

recent,

state-of-theart

GPUs.

We

have

implemented

a

completely

GPU-based

version

of

the

ISA

algorithm.

Here

we

describe

our

implementation

in

detail,

including

both

the

advantages

and

disadvantages

of

implementing

ISA

on

the

GPU.

The

result

is

state-of-the-art

technique

that

demonstrates

the

latest

in

terms

of

both

flow

visualization

methodology

and

GPU

programming.

Recently,

we

have

witnessed

a

rapid

increase

in

the

amount

of

research

literature

related

to

GPU-based

computer

graphics

and

visualization

methodology.

This

is

due,

in

part,

to

the

rapidly

increasing

processing

power

offered

by

commodity

graphics

hardware.

In

general,

the

speed

at

which

graphics

hardware

is

developing

currently

exceeds

that

of

the

CPU.

The

fast

increase

in

GPU

processing

speed

along

with

the

introduction

of

several

new

programming

features

has

prompted

many

researchers

to

invest

considerably

more

resources

in

this

area

than

previously.

A

recent

example

in

the

area

of

flow

visualization

is

the

work

of

Stegmaier

and

Ertl

[Stegmaier

and

Ertl

who

present

a

vortex

detection

algorithm

implemented

using

GPU

programming..

Parallel

to

the

rise

in

GPU-based

research

literature,

we

have

witnessed

several

advances

in

texture-based

flow

visualization

methodology

[Laramee

et

al.

This

holds

true

across

each

e-mail:

grabner@icg.tu-graz.ac.at

e-mail:

Laramee@VRVis.at

spatial

dimension,

(surfaces),

and

and

for

both

steadystate

and

unsteady

flow.

With

texture-based

flow

visualization,

a

texture

is

computed

that

is

used

to

generate

a

dense

representation

of

the

flow.

A

notion

of

where

the

flow

moves

is

incorporated

through

co-related

texture

values

along

the

vector

field.

In

most

cases

this

effect

is

achieved

through

filtering

of

texture

values

according

to

the

local

flow

vector.

The

property

of

texture-based

methods

that

makes

them

attractive

is

their

complete

depiction

of

the

vector

field,

as

opposed

to

geometric

methods

like

streamlines,

which

suffer

from

the

seeding

problem

[Post

et

al.

What

we

present

is

a

GPU-based

version

of

a

recent

texturebased

flow

visualization

algorithm

for

the

visualization

of

unsteady

flow

on

surfaces.

The

algorithm,

called

Image

Space

Advection

(ISA

[Laramee

et

al.

synthesizes

textures

that

depict

unsteady

fluid

flow

on

surfaces

(sometimes

referred

to

as

such

as

boundary

surfaces

and

isosurfaces

[Laramee

et

al.

at

fast

frame

rates.

The

novelty

of

ISA

is

its

speed,

the

fact

that

it

applies

to

surfaces,

and

that

it

handles

unsteady

flow.

There

has

been

relatively

little

work

done

in

this

area,

especially

compared

to

the

case

of

flow

[Laramee

et

al.

The

original

ISA

implementation

is

a

mixture

of

both

CPU

and

GPU-based

computing.

What

we

present

here

is

a

completely

GPU-based

implementation

of

ISA

which

takes

advantage

of

the

features

of

modern

programmable

graphics

hardware.

One

of

the

goals

of

our

work

is

to

target

Virtual

Reality

applications

that

impose

real-time

frame

rate

constraints.

The

main

features

of

our

algorithm

implementation

include:.

per-pixel

calculation

(in

parallel)

at

interactive

frame

rates.

arbitrary

view

projection

options,

i.e,

support

for

both

orthographic

and

perspective

projection.

no

extra

overhead

due

to

changes

to

the

view

point

or

the

case

of

unsteady

flow.

In

other

words,

we

eliminate

the

need

for

a

distinction

between

the

static

case,

which

involves

no

changes

to

the

view

point

and

a

steady-state

flow

field

and

the

dynamic

case

(see

Section

The

dynamic

case

handles

changes

to

the

view

point

changed

or

unsteady

flow

[Laramee

et

al.

Of

course

the

GPU-based

implementation

presented

here

also

inherits

the

original

benefits

of

ISA

including:.

the

generation

of

a

dense

representation

of

unsteady

flow

on

surfaces.

visualizes

flow

on

complex

surfaces

composed

of

polygons

whose

number

is

on

the

order

of

or

more.

does

not

require

a

parameterization

of

the

surface

mesh

or

the

surface

mesh

topology

information.

supports

user-interaction

such

as

rotation,

translation,

and

zooming

while

maintaining

a

constant

high

spatial

resolution.

We

present

the

details

of

our

implementation

as

well

as

the

advantages

and

disadvantages

of

our

GPU-based

algorithm..

The

rest

of

this

paper

is

organized

as

follows:

Section

presents

related

literature

in

the

area

of

texture-based

flow

visualization

with

an

emphasis

on

GPU-based

implementations.

Section

presents

the

details

of

our

method

starting

with

an

overview

in

Section

Results

are

presented

in

Section

followed

by

conclusions

and

future

work

in

Sections

and

respectively.

The

experiments

reported

in

Section

demonstrate

the

high

efficiency

of

the

GPU-based

Image

Space

Advection

algorithm.

It

can

improve

previous

results

[Laramee

et

al.

by

a

factor

of

up

to

(comparing

ISA-GPU

and

ISA

on

the

ring

data

set,

see

Table

These

results

have

been

achieved

with

arbitrary

perspective

projection

without

any

coherence

constraints

between

successive

frames,

i.e.,

the

user

can

freely

explore

the

scene

with

a

navigation

system.

The

main

limitation

of

the

current

approach

is

that

it

does

not

take

into

account

occlusions,

i.e.,

advection

is

performed

for

every

fragment,

regardless

if

it

will

ultimately

become

visible

or

occluded

by

other

fragments.

This

is

a

sub-optimal

use

of

resources,

in

particular

for

objects

with

high

depth

complexity,

i.e.,

many

(self-)

occlusions,

such

as

the

cooling

jacket.

The

NVidia

GeForce

graphics

card

became

available

to

us

only

at

the

end

of

this

work,

we

therefore

didn't

yet

make

use

of

its

advanced

features

to

further

improve

performance.

We

expect

a

significant

performance

boost

by

using

multiple

render

targets

to

overcome

the

depth

complexity

problem.

Moreover,

utilizing

floating

point

textures

will

resolve

some

issues

related

to

accuracy

and

lead

to

a

cleaner

implementation..

The

models

we

have

been

working

with

exhibit

large

regions

of

relatively

constant

flow

direction

and

some

smaller

more

turbulent

areas.

The

presence

of

information

at

different

scales

lends

itself

to

a

multiresolution

approach,

where

unnecessary

(i.e.,

redundant)

details

are

replaced

by

a

simplified

representation

under

controlled

approximation

error.

Existing

multiresolution

methods

(such

as

quadric

error

metrics

[Garland

and

Heckbert

can

be

extended

to

incorporate

flow

direction

into

the

set

of

simplification

criteria.

Our

partners

in

automotive

engineering

have

confirmed

the

usefulness

of

Virtual

Reality

(VR)

applications

in

a

previous

project

involving

static

scalar

fields

[Grabner

et

al.

We

plan

to

integrate

the

present

method

for

visualization

of

dynamic

vector

fields

into

the

existing

VR

prototype.

We

tested

our

system

on

a

number

of

different

machines

to

evaluate

the

impact

of

hardware

components

(CPU

and

GPU)

to

overall

performance

(see

Table

We

observe

large

differences

between

the

two

GPU

models

in

our

experiments.

Moreover,

even

the

same

GPU

model

gives

different

results

on

different

platforms.

We

do

not

have

a

detailed

explanation

for

this

behaviour

since

it

involves

internals

of

the

proprietary

graphics

driver

as

well

as

bus

system

implementation.

It

reflects

the

rate

at

which

the

CPU

can

provide

data

to

the

GPU..

The

influence

of

different

numbers

of

convolution

steps

is

shown

in

Figure

Figure

is

not

satisfactory,

quantization

arte-

Table

Frame

rates

achieved

with

our

method

(ISA-GPU,

five

convolution

steps)

on

several

hardware

platforms

for

different

models

at

an

image

size

of

pixels,

and

frame

rates

for

the

IBFVS

and

ISA

advection

mesh

size)

methods

as

reported

by

[Laramee

et

al.

The

primitive

count

(kT

for

triangles,

kQ

for

quadrilaterals)

of

each

model

is

given

in

parentheses.

The

hemisphere

has

been

used

throughout

Section

see

Figures

and

for

the

cooling

jacket

and

ring

data

sets,

respectively.

(Figure

which

was

also

used

for

the

accompanying

video

The

large

body

of

GPU-based

literature

in

computer

graphics

and

visualization

is

beyond

the

scope

of

this

paper,

as

well

as

the

large

number

of

texture-based

flow

visualization

methodology

[Laramee

et

al.

Here

we

summarize

the

texture-based

flow

visualization

research

that

focuses

on

GPU

programming..

Heidrich

et

al.

[Heidrich

et

al.

exploit

pixel

textures

to

accelerate

LIC

(line

integral

convolution

[Cabral

and

Leedom

[Heidrich

et

al.

The

gray-scale

texture

from

the

previous

time

step

is

dragged

along

the

flow

field

by

modifying

the

texture

coordinates

for

the

dependent

texture

lookup

according

to

the

flow

data.

Nearest-neighbor

sampling

is

combined

with

an

update

of

fractional

texture

coordinates

to

represent

subtexel

motion

and,

at

the

same

time,

maintain

a

high

contrast.

An

iterative

injection

of

additional

noise

is

used

to

compensate

for

a

possible

loss

of

contrast

over

time.

Because

of

the

limited

functionality

of

the

graphics

hardware

that

supports

pixel

textures,

the

implementation

requires

many

rendering

passes

and

advects

a

texture

of

size

at

approximately

two

frames

per

second.

Moreover,

the

maximum

resolution

of

textures

is

restricted

to

The

GPU-based

texture

advection

by

Weiskopf

et

al.

[Weiskopf

et

al.

supports

bilinear

dependent

texture

lookups

without

taking

into

account

the

update

of

fractional

coordinates.

Therefore,

this

approach

is

mainly

suitable

for

dye

advection

at

high

frame

rates.

They

also

demonstrate

how

GPU

accelerated

visualization

of

unsteady,

flows

can

be

implemented

with

pixel

textures.

Weiskopf

et

al.

[Weiskopf

et

al.

present

a

GPU-accelerated

version

of

the

Lagrangian-Eulerian

advection

(LEA)

algorithm

using

per-fragment

operations..

Weiskopf

et

al.

[Weiskopf

et

al.

introduce

a

generic

texturebased

framework

for

visualizing

time-dependent

vector

fields.

They

propose

Unsteady

Flow

Advection-Convolution

(UFAC)

as

an

application

of

the

framework

for

visualizing

unsteady

fluid

flow.

Also,

their

approach

can

reproduce

other

techniques

such

as

LEA

[Jobard

et

al.

IBFV

[van

Wijk

UFLIC

[Shen

and

Kao

and

DLIC

[Sundquist

Weiskopf

et

al.

describe

a

GPU-accelerated

implementation

that,

among

other

things,

allows

the

user

to

trade-off

quality

for

speed..

Until

now,

we

have

only

mentioned

previous

work

in

The

amount

of

related

literature

in

is

small,

especially

in

the

area

of

texture-based

flow

visualization.

In

fact,

the

only

other

related

literature

we

are

aware

of

that

addresses

the

combination

of

GPU

programming

and

texture-based

flow

visualization

in

is

the

work

of

Weiskopf

and

Ertl

[Weiskopf

and

Ertl

Their

method

is

a

hybrid

approach

which

combines

properties

from

both

object

space

and

image

space

computation.

The

aim

of

their

work

differs

from

ours

in

that

they

focus

more

conceptually

on

the

goal

of

assigning

different

aspects

of

the

algorithm

to

object

space

and

image

space,

attempting

to

maximize

the

advantages

offered

by

both

approaches,

and

focus

less

on

the

GPU-implementation.

They

also

propose

a

color

scheme

targeted

at

effectively

combining

surface

shape

perception

and

flow

visualization.

Here

we

stay

more

inline

with

the

original

image

space

approach

and

focus

on

presenting

the

details

of

the

GPU

implementation

such

that

other

developers

and

researchers

may

reproduce

the

work,

thus

taking

full

advantage

of

our

implementation.

O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O B I O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A simple and expressive semantic framework for policy composition in access control In defining large, complex access control policies, one would like to compose sub-policies, perhaps authored by different organizations, into a single global policy. Existing policy composition approaches tend to be ad-hoc, and do not explain whether too many or too few policy combinators have been defined. We define an access control policy as a fourvalued predicate that maps accesses to either grant, deny, conflict, or unspecified. These correspond to the four elements of the Belnap bilattice. Functions on this bilattice are then extended to policies to serve as policy combinators. We argue that this approach provides a simple and natural semantic framework for policy composition, with a minimal but functionally complete set of policy combinators. We define derived, higher-level operators that are convenient for the specification of access control policies, and enable the decoupling of conflict resolution from policy composition. Finally, we propose a basic query language and show that it can reduce important analyses (e.g. conflict analysis) to checks of policy refinement. An access control policy is essentially a predicate that determines whether an access -a requested operation on some object by some subject -should be permitted or not. In practice, however, there are many complications. The problem we focus on here is how a complex access control policy can be concisely specified. Since an access control policy is merely a predicate, one could list all the accesses that are permitted. However, there are many subjects and objects, and the sets of subjects and objects often change.. One feature of access control policy languages that addresses this problem is the ability to refer to collections of subjects and objects. The best-known example of this approach is role-based access control [9, 10] . More generally, classes of subjects and objects can be set in a hierarchy, allowing more general or more specific policy statements. For example, an access policy for a hospital may refer to roles such as "physician" and "cardiologist". We might expect cardiologists to inherit the permissions given to physicians.. Another useful policy language feature is high-level policy combinators, so that policies authored by sub-organizations can be combined easily into a single organization-wide policy. For example, a group of libraries may want to have a common access control policy, and to do this they might want to merge their individual policies. A natural concept is to permit in the combined policy any access permitted in some sub-policies. Or, in some circumstances, it may be better to permit in the combined policy only what is permitted in every sub-policy.. However, real problems arise when attempting to define policy combinators on policies that are simply predicates on accesses. The first problem is that it is impossible to indicate within a policy the difference between denying some access, and simply not caring about it. For example, a policy may regard an access as outside its scope, or may not have a position as to whether the access should be denied or permitted. This matter is explained clearly by Halpern and Weissman (see [16] , Section 6). They give as an example two libraries that want to merge their policies. Suppose the policy of the first library states that users may access the coatroom, but the policy of the second library does not state that users may access the coatroom. If the second library's policy was intended to deny access to the coatroom, then the two policies are in conflict. However, if the second library's policy simply wanted to be silent on the subject of coatrooms, perhaps because the second library has no coatroom, then the policies are not in conflict.. A solution to this problem is to allow a policy to inde-pendently state positive and negative permissions. Thus, the second library, if desired, could explicitly state that users may not access the coatroom. Many languages for access control policies support this feature (e.g., [17, 22, 8] ).. With this feature present, a policy is naturally interpreted as a mapping from accesses to one of three values: true (or grant), false (or deny), and ⊥ (or unspecified). In the end, a reference monitor responsible for enforcing a policy will have to make a grant or deny decision on every access, but for the purpose of defining policies, the value unspecified is useful.. By not denying an access by default when no explicit rule for granting is found, it is then possible to check whether a policy has gaps -accesses on which it is not defined. Problems in policy composition still occur, however, even once both positive and negative permissions are treated separately. There is the possibility that two policies will conflict on an access: one will grant the access and the other will deny it. A common solution to this problem is to define all policy composition operators so that conflicts are immediately resolved, so that the composed policy is guaranteed to have no conflicts. For example, in logical specifications of access control policies this is appealing because conflicts may represent logical contradictions that will cause the policy specification to become entirely inconsistent, even for accesses not related to the particular cause of the conflict.. However, there are good reasons for not insisting that potential conflicts be eliminated when policies are composed. First, for analysis purposes it can be helpful for conflicts to become explicit so that their causes can be discovered and resolved in an intelligent manner. By "automatically" resolving every conflict at the moment of composition, it may be that a poor choice of resolution is made. On the other hand, it may be that a uniform method is desired for resolving conflicts. In this case, it would make sense to have a single point at which conflicts are resolved, and not have to define every policy composition operator so that it resolves conflicts in the same way. In short, a policy language should allow the issues of policy composition and conflict resolution to be treated separately.. Our approach is to treat a policy as a four-valued predicate. That is, a policy maps every requested access to either grant, deny, unspecified, or conflict. The unspecified response to an access allows a policy to indicate that an access is outside the policy's scope, or that a policy does not take a stance towards the access. The conflict response naturally arises when composing two policies that take opposite stances towards an access.. These four values we propose for policy responses are exactly the four truth values of Belnap's four-valued logic [5] . This logic has been studied extensively [11, 14, 3, 2] , and it is no coincidence that a main application has been to the semantics of logic programs, where handling negation under a closed-world assumption has been a difficulty [12] . Belnap's logic is based on supplying two orderings on the truth values; one that captures degree of truth and another that captures degree of information. These ideas also apply very naturally to policies, where we might ask whether a policy grants accesses more than another policy, and whether a policy is defined on more accesses than another policy.. Our approach to policy composition is to derive policy operators from the operators of Belnap's logic. Thus, we interpret expressions of this logic not as truth values, but as policies. Similarly, we derive relations on policies from the two (truth and knowledge) orderings of Belnap's logic.. Our framework for policy composition and analysis is comprised of three layers of language:. 1. A core language for policies and their composition, essentially a pointwise extension of logical operators of the Belnap space to accesses. 2. Syntactic sugar over the core language, capturing important idioms of policy composition. 3. Finally, a propositional query language in which policy analyses can be expressed.. We strongly believe that this framework, by explicitly supporting unspecified and conflict values of policies, and by clearly and separately capturing the two notions of truth and knowledge, greatly improves on existing semantic approaches to the treatment of policies and their composition. Additional benefits are gained by building on an established logic with well-understood properties.. Organization. In Section 2 we briefly list the basic elements of access control. In Section 3 we motivate the Belnap bilattice and give its formal definition. In Section 4 we describe a four-valued semantics for policies and show how a language for policy composition can be built on the operators of the Belnap bilattice. In Section 5 we list some problems in defining and composing access control policies, and show how the problems are solved using our approach to policy composition. In Section 6 we define truth and information orderings on policies, and then define a query language in which analysis questions on policies can be framed. In Section 7 we specialize and extend our language for the case in which accesses are based on roles, in the sense of role-based access control. In the last sections of the paper we discuss related work and make concluding remarks. We emphasize that our approach treats access predicates as black-box primitives. This high level of abstraction ensures a flexible and wide-ranging applicability of our semantic framework for policy composition in access control. It also allows an elegant casting of access predicates into fourvalued policies (e.g. through x if ap) and, conversely, allows for several systematic ways of collapsing four-valued policies into access predicates (e.g. through p ↓).. Also related to the practical use of our work is the idea of combining an access control matrix for permissions with a separate one for denials. From these, a four-valued policy result could be obtained according to the bilattice depicted in Fig. 1 right) .. Semantically, there are at least two ways in which the approach of this paper could be enriched. In one, the Belnap bilattice is retained but we allow composition operators that are not necessarily pointwise extensions of the Belnap operators. For example, this would allow one to define a majority rule operator maj k . Let p1, . . . , pn be policies of type A → Four and 0 < k < n. Then maj k (p1, . . . , pn) : A → Four maps a given access a to c if at least k policies pi map a into {g, c} and at least k (not necessarily the same) policies pi map a to {d, c}. Otherwise, it is mapped to g if at least k policies map a into {g, c}; and a dual definition applies to d. In fact, if we identity Four with the powerset of {d, g} in the obvious manner, then maj k is simply counting grants and denials and uses the threshold k to determine the grants and denials for the composite policy.. Another way to enrich our semantic framework would be to use a bilattice more complex than the Belnap space. A balance would have to be drawn between the perceived increased benefit of such a generalization and the perceived overhead such complexity would bring to those who write and compose policies. For example, there is a seven-valued bilattice used for default reasoning [15] . Default reasoning is already being studied in the context of composing policies that negotiate parameters for security protocols [19] .. Our approach to composition, including the application of unary operators, can be couched within the framework of abstract interpretation [7] . To illustrate the unary case, projection and closure operators are particular examples of Galois insertions, and therefore of abstract interpretations. One such example is the map. This is a closure operator as it is monotone with respect to the truth ordering, idempotent (p ↑ ↑ = p ↑), and inflationary (p ≤t p ↑). Dually, the map p → p ↓ is a projection operator for the truth ordering.. There is a fairly large body of work on policy conflict analysis (e.g. [20] ) and the management of inconsistencies in distributed systems (e.g. [21] ). In [21] it is argued for a need to make inconsistencies (i.e. conflicts) explicit and to manage them through monitoring, diagnosing, and resolution. The approach taken in this paper is consistent with such a view.. To summarize our contributions, we have defined a language for policy composition, and shown that it neatly handles common problems in policy composition. We have further defined policy refinement relations, and built a query language on top of such refinement checks that is suitable for policy analysis. One of the key findings in this work was to realize the benefits of separating policy composition from conflict resolution or analysis but, at the same time, to support such resolution and analysis through composition operators and policy refinement checks. Halpern and Weissman [16] use a stylized form of standard first-order logic to capture policies. A policy φ is a formula, and then the decision on whether to grant an access is made by checking the validity of the formula φ → P ermitted(t, t ), where t and t are terms representing a subject and action, respectively. A decision on whether to deny an access is made by checking the validity of φ → ¬P ermitted(t, t ). Because this is a first-order framework, it is essential that the policy be consistent, and so it is impossible that an access could be both granted and denied. On the other hand, an access could be neither granted nor denied in a consistent policy. In short, this framework allows a kind of three-valued attitude towards accesses, but these values cannot be used in composition, as the three values result from a validity check that can only occur at the "top-level" of policy processing.. In [6] , Bonatti et al. interpret a policy as a set of accesses, and then define a collection of composition operators that manipulate the access sets. For example, P &Q stands for the intersection of the access sets described by P and Q, and P +Q their union. The approach has the virtue of simplicity, but does not allow for the distinction between an access that should be denied and an access that is outside the scope of a policy. Some ability to model negative permissions is achieved by composition subtraction: p − q means the set of accesses of p less the set of accesses of q. In this way denials by q are given higher priority than grants by p, so conflicts cannot arise. However, one cannot symmetrically state that grants of q should take priority over denials of p. It should be possible to state absolute access rights as well as absolute prohibitions.. In the SPL policy language [22] , one can specify accesses that are granted, accesses that are denied, and accesses that are neither granted nor denied. For composition, a three-valued logic is used. However, the propositional operators of this logic do not appear to come from a standard three-valued propositional logic [18] . Furthermore, although the logic appears useful for expressing certain kinds of composition, the conjunction and disjunction operators are not monotonic with respect to any ordering of the three truth values, making the intuition behind the operators difficult. Also, being three-valued, the operators always treat the combination of grant and deny (e.g., conjoining a grant and a deny, or disjoining them) as either a grant or a deny, thus, causing conflicts to be eliminated through composition.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O