Minimizing total weighted flow time of a set of jobs with interval processing times We consider a single-machine scheduling problem with each job having an uncertain processing time which can take any real value within each corresponding closed interval before completing the job. The scheduling objective is to minimize the total weighted flow time of all n jobs, where there is a weight associated with each job. We establish the necessary and sufficient condition for the existence of a job permutation which remains optimal for any possible realizations of these n uncertain processing times. We also establish the necessary and sufficient condition for another extreme case that for each of the n! job permutations there exists a possible realization of the uncertain processing times that this permutation is uniquely optimal. Testing each of the conditions takes polynomial time in terms of the number n of jobs. We develop precedence-dominance relations among the n jobs in dealing with the general case of this uncertain scheduling problem. In case there exist no precedence-dominance relations among a subset of n jobs, a heuristic procedure to minimize the maximal absolute or relative regret is used for sequencing such a job subset. Computational experiments for randomly generated instances with n jobs (5 ≤ n ≤ 1000) show that the established precedence-dominance relations are quite useful in reducing the total weighted flow time. Most real-life scheduling problems involve some forms of uncertainty. In dealing with an uncertain parameter (say, an uncertain processing time) of a scheduling problem, a traditional approach is to assume that the uncertain parameter is a random variable with a specific probability distribution (see the second part of monograph [1] ). It is worthwhile to mention that in many real-life scheduling situations with an uncertain parameter, we may have no sufficient information to characterize the probability distribution for the uncertain parameter. Therefore, different approaches and techniques are needed [2] . A variational inequality approach [3] was proposed with an application to the calculation of dynamic traffic network. A stability radius with a two-stage (off-line planning and on-line scheduling) scheduling approach [4, 5] was proposed. A robust schedule was proposed [6] [7] [8] [9] [10] [11] for a decision-maker who prefers a solution that hedges against the worst possible scenario.. Two types of robustness have been distinguished for a scheduling problem with uncertain processing times: Quality robustness and solution robustness [6] . The former is a property of the schedule whose objective function value does not deviate much from optimality while small changes in the job processing times occur. The latter can be described as robustness in the solution space. A decision-maker might be forced to modify the original schedule when changes in the job processing times occur. Thus, quality robustness is a property of a schedule that is more or less stable with respect to changes of the job processing times before these changes occur (off-line scheduling), while solution robustness refers to the schedule stability after changes of the job processing times have occurred (on-line scheduling).. For both types of robustness, it is useful to construct a minimal set of dominant schedules which optimally cover all possible scenarios (possible realizations of the uncertain job processing times) in the sense that for any possible scenario there exists at least one schedule in this dominant set which is optimal. If this dominant set consists of one schedule (the simplest case of off-line scheduling), then this schedule will remain optimal for any possible scenario. In the general case, the set of dominance schedules enables a decision-maker to quickly make an on-line scheduling decision whenever additional local information on a realization of an uncertain job processing time becomes available.. In this paper, we consider a single-machine scheduling problem of n jobs in which each uncertain job processing time is independent and can take any value within each corresponding (closed) interval. There is a weight associated with each job. The scheduling objective is to minimize the weighted sum of the job completion times.. The paper is organized as follows. In Section 2, the problem settings and a literature review are given. Section 3 contains some known results for a single-machine scheduling problem with fixed processing times. Section 4 provides a necessary and sufficient condition in which one job can precede another in an optimal schedule for any possible realization of the uncertain job processing times. Section 5 contains a necessary and sufficient condition for an extreme case in which there exists a job permutation remaining optimal for all possible realizations of the uncertain processing times. Section 5 also contains a necessary and sufficient condition for the other extreme case in which there exists a possible realization of the uncertain processing times for each of the n! job permutations to be uniquely optimal. Illustrative examples are discussed in Section 6. Section 7 provides algorithms for robust scheduling, i.e., worst-case absolute or relative deviation from optimality is minimized. Computational results for randomly generated instances of a single-machine scheduling problem with uncertain (interval) processing times are given in Section 8. We conclude with Section 9. For the uncertain problem 1|p L i ≤ p i ≤ p U i | w i C i , the necessary and sufficient condition is proven for the existence of a single permutation of the n jobs which remains optimal for all possible processing times (the simplest case of an uncertain problem). The necessary and sufficient condition is also proven for the case that for any permutation of the n jobs there exists such a vector of possible processing times that this permutation is uniquely optimal (the hardest case of an uncertain problem 1|p [5, 1000] . In particular, it was shown by experiments on PC that by using a minimal dominant set one can find a permutation π k ∈ S(T ) with a rather small relative error ∆ of the actually optimal value γ k p * of the objective function γ = n i=1 w i C i .. The obtained results may be used in the hierarchical method to scheduling adopted over the last decade and corresponds to industrial practices [2] . In the static phase (off-line scheduling), when the level of uncertainty of the input data is high, a scheduler can find a minimal dominant set S(T ) to the uncertain problem 1|p

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 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 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 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 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 B O O O O O O O O O O O O O O O O O O O O O


A design-for-test structure for optimising analogue and mixed signal IC test A new Design-for-Test (DjT) structure based on a configurable operational amplijier, referred to as a "swap amp" is presented that allows access to embedded analogue blocks. The structure has minimal impact on circuit performance and has been evaluated on a custom designed Phase Locked Loop (PLL) structure. A test chip containing faulty and fault free versions of this PLL structure, with and without DjT modifications, has been fabricated and an evaluation of this DjT scheme based on the swap-amp structure carried out. It is shown that for embedded analogue blocks, the DjT strategy can not only improve and simplify analogue & mixed signal IC test, but can also be used for diagnostics.simple to implement and the problem of backdriving is totally eliminated. Application of the D f f scheme to a phase-locked-loop circuit is presented. The scheme is shown to greatly improve both detection and diagnostic capabilities associated with a number of hard and soft faults. The format of the paper will be as follows; Section 2 will identify related work, sections 3 and 4 will then discuss critical issues in the design of an analogue Dff architecture and identifies the optimal placement of switches. Section 5 will describe the design of the swapamp and present an analysis of its performance. In section 6, a Dff scheme exploiting the "swap-amp'' design is discussed and in section 7 the test chip fabricated to access the fault detection and diagnostic capabilities of the scheme is described. Section 8 will present results from the silicon and section 9 will conclude and discuss future work. A reconfigurable operational amplifier, called a swapamp, has been built and described. The swap-amp facilitates exposure of faults within a custom built phaselocked-loop (PLL) circuit by providing means to invasively control voltage levels of the PLL internal nodes. Comparison of nominally identical PLL circuits in terms of frequency capture range has shown that the performance impact of introducing the swap-amp is negligible in normal operation mode.. A methodology based on an analogue observe bus has been described which allows observation of the internal voltage levels of PLL inter-block nodal voltages. It has been shown that use of this observability bus is feasible while the PLL is still performing its normal function, i.e. allowing on-line functionality evaluation, by measuring the gain and frequency hold range of the PLL while simultaneously observing internal voltage levels of the PLL. It has also been shown that loading effects of the bus capacitance may cause shifts in the performance of the PLL if weakly buffered nodes are connected to the observe bus. Under these conditions the use of on-line performance evaluation is not recommended but use of off-line testing has been shown to be a very simple way of detecting faults such as the example short-circuit in the VCO output. In particular, it has been shown that a short circuit fault in the VCO output leads to a number of faulty chips that are easily distinguishable on a frequency capture range test. However although the majority of faulty VCO chips fail this test it has been demonstrated that a number give obstensively normal results. Use of the observe bus allows the VCO fault to be easily distinguished from the fault free case.. The swap-amp in conjunction with the observe bus has been used to isolate a fault within several of the PLL chips which causes total failure of the PLL by saturating the output operational amplifier. Without the presence of the swap-amp structure, location and diagnosis of this fault would have been extremely difficult.. The present area overhead due to the swap-amps is minimal, comprising approximately 5% increase per modified operational amplifier. The corresponding figure is approximately 1% for the PLL circuit as a whole. The logic necessary to control the test state of the PLL, the TSR, represents an area overhead of approximately 100% which is not acceptable. A number of possibilities exist to significantly reduce this overhead.. 1. Use of an Algorithmic State Machine rather than a "one-hot'' TSR will reduce the number of necessary Dtype flip-flop elements to four rather than the present eight to represent the present nine test states. 2. Much better designs of D-type flip-flop exist than the one used here. A area reduction of more than 50% is easy to foresee. 3. Use of a full-custom layout rather than the present automatic version will trim around 25% off the area necessary for the TSR.. The total accumulative reduction in area of the TSR is anticipated to be approximately one order of magnitude and the total resultant area overhead is estimated to be about 10%.. It should also be mentioned that the amount of observability and controllability applied to the PLL is excessive in this demonstrator chip with respect to that which is likely to be required. Reductions in the quantity of both observability and controllability will lead to a smaller TSR and a smaller area overhead as a result.. In a mixed-signal environment it is often the case that a number of digital signals are available for little cost during the test phase. If these signals could be employed in place of the TSR then the total area overhead is estimated to be about 1%, representing that of the swap-amps and obseve switches only.

O B I O O O O B I 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 B I I O O O O O O O O O O O O O O B I I 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 B I I O O O O O O O O O O O B I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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-Cubing: New Possibilities for Efficient SAT-Solving Abstract-SAT (Boolean satisfiability) has become the primary Boolean reasoning engine for many EDA (electronic design automation) applications, so the efficiency of SAT-solving is of great practical importance. B-cubing is our extension and generalization of Goldberg et al.'s supercubing, an approach to pruning in SAT-solving completely different from the standard approach used in leading solvers. We have built a B-cubing-based solver that is competitive with, and often outperforms, leading conventional solvers (e.g., ZChaff II) on a wide range of EDA benchmarks. However, B-cubing is hard to understand and even the correctness of the algorithm is not obvious. This paper presents the theoretical basis for B-cubing, proves our approach correct, details our implementation and experimental results, and maps out other correct possibilities for further improving SAT-solving.Index Terms-SAT, Boolean satisfiability, search space pruning. , and simulation testcase generation [5] . Such industrial applications typically require complete SAT solvers, meaning that the solver must be capable of proving the problem satisfiable or unsatisfiable. In practice, the SAT solver is usually the capacity limiter of the tool, so the efficiency of SAT solving is of great practical importance.The DPLL algorithm [6] , [7] is the core of most modern, complete SAT solvers. It is essentially a depth-first-search with some search-space pruning techniques. The original paper [6] S AT (Boolean satisfiability) has become the primary Boolean reasoning engine for many EDA (electronic design automation) applications, e.g., SAT-based model checking (bounded [1] and unbounded [2] ), FPGA routing [3] , ATPG [4] , and simulation testcase generation [5] . Such industrial applications typically require complete SAT solvers, meaning that the solver must be capable of proving the problem satisfiable or unsatisfiable. In practice, the SAT solver is usually the capacity limiter of the tool, so the efficiency of SAT solving is of great practical importance.. The DPLL algorithm [6] , [7] is the core of most modern, complete SAT solvers. It is essentially a depth-first-search with some search-space pruning techniques. The original paper [6] introduced two simple techniques-the pure literal rule 1 and Boolean constraint propagation. 2 Subsequent research on improving the performance of SAT solvers has been mostly focused on improving decision heuristics [8] , [9] , [10] , search-space pruning techniques [11] , [12] , [13] , and efficient implementation [14] , [15] . Our focus is on the search-space pruning aspect.. A number of pruning techniques have been proposed so far. Many have proven to be too expensive to be used during the search phase, but can be efficient during preprocessing. The pure literal rule is one example. Other examples include hyper-resolution [16] and equivalence reasoning [17] , [18] , [19] .. All SAT-solvers, in one way or another, detect what are known as conflicts. A conflict occurs when it is deduced that the current assignment cannot be extended into a satisfying one. When a conflict is detected, the solver finds the reason for the conflict and tries to resolve it. The simplest method is to backtrack to the last case-split (decision) and try an alternative assignment. A more elaborate method, named conflictdirected backtracking (CDB) [11] , is to analyze the conflict and backtrack to the variable that is actually responsible for the conflict. Learning is closely coupled with CDB. Different solvers feature different learning strategies. One thing in common is that learned clauses correspond to different cuts in the implication graph-a directed graph describing logical dependencies among assigned literals. For a more extensive introduction into CDB and learning and an exhaustive list of references, the reader is referred to [20] .. Learning exploits only a fraction of the information inferable from conflicts. Learned clauses in general can be quite long; it is not unusual for them to contain a couple of hundred literals. The average size depends on the specifics of the problem that is being solved and the overall implementation and dynamics of the solver. Once the conflict is found and a new clause is learned, there are no guarantees that the clause will actually be useful later. According to our experiments, a small percentage of clauses ends up being used frequently, while the others just increase the memory requirements and slow down the core of the solver.. Recently, Goldberg et al. introduced a theory that unifies many pruning techniques [21] , [22] . The proposed theoretical framework can be used as a basis for the development of new pruning techniques. In the same paper, the authors proposed supercubing as an example of the application of the theory. Their solver was a proof-of-concept and, although supercubing reduced the number of decisions, no actual speedup was reported. Our follow-on work [23] pointed out that supercubing is not readily compatible with 1-UIP learning and proposed an alternative backtracking scheme to integrate the two techniques, thereby demonstrating the first supercubing-based solver to be performance-competitive with standard SAT solvers.. Nadel [24] observed that valuable pruning information can be obtained from analyzing the set of decision literals that participated in previous conflicts. His solver, Jerusat, keeps what we call certificates (clauses that correspond to decision cuts in implication graph) from previous conflicts and analyzes them when a new decision is needed. As with supercubing, the goal is to extract and exploit pruning information that is only valid locally in the search tree. The advantage of Jerusat's approach is that much more pruning information is retained. However, such an approach requires too much memory, so Jerusat keeps certificates only for a certain number of decision levels. When it backtracks out of that window, the certificates are discarded. This approach has several drawbacks. First, certificates suffer from the same problems as 1-UIP learned clauses as they have relatively low pruning information content. Second, pruning can be much more effective close to the root of the search tree and therefore discarding certificates that are "out of the window" can miss the best pruning opportunities.. In a recent conference paper [25] , we proposed a new pruning technique, B-cubing (so named because the method goes "beyond cubing"), that generalizes supercubing. The preliminary implementation produced excellent results on numerous benchmark suites, and we provided an informal correctness argument (as well as running extended regression tests). We did not, however, have a solid formal understanding of the approach nor a proof of correctness. A subsequent workshop paper [26] presented a theoretical justification for B-cubing. This paper is a unified presentation of B-cubing, including theory, implementation, and experimental results. We start with a theoretical foundation for B-cubing, called obligation-certification trees (OCT), which provides a very general way to understand different pruning techniques. Using this theory, we can explain B-cubing more clearly and prove the approach correct. We then explain our implementation of an efficient solver based on the B-cubing theory. Experimental results on a wide range of practical benchmark suites show the effectiveness of B-cubing: competitive performance with state-of-the-art solvers, with different strengths and weaknesses, and based on a very different approach. Finally, we note that our implementation is only one of many correct ways to exploit the pruning information derived from B-cubing; exploring other ways to use this information is likely a fertile area for future work.

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 B I B I I 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O


Multi-agent role allocation: issues, approaches, and multiple perspectives In cooperative multi-agent systems, roles are used as a design concept when creating large systems, they are known to facilitate specialization of agents, and they can help to reduce interference in multi-robot domains. The types of tasks that the agents are asked to solve and the communicative capabilities of the agents significantly affect the way roles are used in cooperative multi-agent systems. Along with a discussion of these issues about roles in multi-agent systems, this article compares computational models of the role allocation problem, presents the notion of explicitly versus implicitly defined roles, gives a survey of the methods used to approach role allocation problems, and concludes with a list of open research questions related to roles in multi-agent systems. This article discusses the many facets of the multi-agent role allocation problem. It begins by using definitions from the fields of biology, social science, robotics, and software engineering to disambiguate between and define task and role for multi-agent systems. Throughout the paper, task is used to refer to a piece of work that an agent performs, and role is used in a very general sense to refer to the expected functions and responsibilities of an agent. Roles can and have been used in many different ways, and only a very general definition encompasses all of these uses.. After defining the terms, we discuss why roles are important to multi-agent research. First, roles are useful as a design concept. Specifically, system designers describe complex tasks in terms of the roles necessary for a team to accomplish each task. Second, roles allow agents to focus their effort on a small subset of behaviors. This allows them to specialize, and the specialization of behaviors can cause an overall increase in productivity for a society of agents. Finally, roles are used to help reduce both the physical and virtual interference that occurs when multiple agents vie for the same task. For example, the amount of communication used by agents during task auctions can be reduced when agents do not bid on tasks for which their role deems them to not be responsible.. Next, we present the computational models of the multi-agent role allocation problem. The iterative OAP provides a simple, computationally tractable way of modelling the role allocation problem. Its simplicity comes at a cost, however, since it is very limited in the types of role allocation problems it can describe. The E-GAP allows for a greater number of role allocation problems to be modeled but at the cost of an increase in problem complexity (GAP is NP-complete, whereas OAP is in P). Finally, the RMTDP is a highly general model of the role allocation problem, but the problem of finding an optimal role-taking policy is NEXP-complete. These models highlight the trade off between generality and computational-complexity that occur when formally modelling computational problems such as role allocation. The amount of resources required to solve any given instance of the problem increases as the generality of the problem model increases.. Before discussing the actual algorithms used to solve the role allocation problem, we discuss how the types of tasks the agents are asked to solve and the communicative capabilities of the agents affect the design of role allocation procedures. Tasks range from simple, individual tasks that require little to no coordination, to complex tasks that require multiple agents simultaneously performing different behaviors, and roles are used in different ways depending on which types of tasks the agents are asked to solve. Also affecting role allocation are the communicative capabilities of the agents. When communication is free and reliable, multi-agent problems become analogous to single-agent problems. On the other hand, when communication is unreliable and costly, coordination protocols are distributed and, therefore, must be designed to be fault tolerant. Also, in certain domains agents may not be able to directly communicate with each other at all, and so, must use more autonomous methods for assigning roles.. Finally, we discuss the many angles at which the role allocation problem is approached. We order our discussion according to how clearly defined the roles are when each type of procedure is used. We begin by discussing methods of role allocation where the roles are explicitly defined by the system designer. This discussion begins with methods that require communication and finishes with methods where no inter-agent communication is required to make role assignment decisions. The remainder of the survey discusses methods of role allocation where roles are implicitly defined by the behaviors of the agents. These methods are divided into two categories: methods where the agents' response to tasks defines their roles and ones where the agents learn novel behaviors that can be described by using role-based terminology. When roles are implicitly defined, they provide a way for humans to describe the high-level behaviors of the agents.. Roles are a critical component to the design, implementation, and analysis of multi-agent systems, and are only becoming more important as agents become more sophisticated, multiagent solutions become more ubiquitous, and the problems that the agents are required to solve become more difficult. The decentralized, multi-agent approach to problem solving can provide more robust, more scalable, and cheaper solutions than centralized approaches; however, multi-agent systems are susceptible to pathological behaviors and their distributed nature often prevents the agents from computing globally optimal solutions [5] . Thus, role allocation procedures must be designed to address these issues so that teams can dynamically reform when things do not go as planned.. Myriad examples exist showing that both animal and human teams are able to cope with uncertainty and the failures of individuals; thus providing proofs of concept of what multiagent teams could one day achieve, even if the role allocation problem is, in general, computationally intractable. As humans rely more and more on their mechanical counterparts, the importance of reliable agent architectures becomes extremely important; especially when we trust our lives to these systems [152] . Robots may one day be used to assist humans during space exploration, in search and rescue missions in extremely hostile environments, or to stand side-by-side with human soldiers during military operations. The humans and robots should interact just as seamlessly as would a team of humans, and with further investigation of teamwork, roles, and role allocation, multi-agent researchers may one day achieve this goal.

O B I 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 B I O O O O O O O O O O B I 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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


A Visual Language for the Evolution of Spatial Relationships and its Translation into a Spatio-Temporal Calculus Queries about objects that change their spatial attributes over time become particularly interesting when they ask for changes in the spatial relationships between different objects. We propose a visual notation that is able to describe scenarios of changing object relationships. The visual language is based on the idea to analyze two-dimensional traces of moving objects to infer a temporal development of their mutual spatial relationships. We motivate the language design by successively simplifying object traces to their intrinsic properties. The notation can be effectively translated into a calculus of spatio-temporal predicates that formally characterizes the evolution of spatial relationships. We also outline a user interface that supports specifications by menus and a drawing editor. The visual notation can be used directly as a visual query interface to spatio-temporal databases, or it can provide predicate specifications that can be integrated into textual query languages leading to heterogeneous languages.Stimulated by the deep relationships between temporal and spatial data there has recently been an increasing interest in integrating database support for both kinds of data and in designing spatio-temporal databases. Spatio-temporal databases deal with spatial objects that change over time (for example, they move, they grow, or they alter their shape): cars, planes, people, animals, ..., storms, lakes, forests, etc. Hence, database systems, in particular, spatial and temporal database systems, and geographical information systems (GIS) need to be appropriately extended to handle this kind of information. Of particular interest is, of course, the development of simple but powerful query languages that allow one to ask for changes in spatial relationships, for instance: "Has a tornado ever crossed Iowa?" or "Which planes were able to avoid a certain blizzard?". A formal foundation for these kinds of queries is given by the concept of spatio-temporal predicates [16] . Whereas it is possible to identify a relatively small set of spatial predicates [10] , it is almost impossible to do so in the spatio-temporal case, simply because there are too many of them. Thus, there is a very strong need for a simple way of specifying spatio-temporal situations, and a visual notation can be extremely helpful here. This paper continues our previous work [15, 17] aiming at proposing a visual language for spatio-temporal predicates. The main idea is to graphically represent the temporally changing evolution of a spatio-temporal object (like a We have demonstrated how a simple two-dimensional visual language can be used to express topological predicates on spatio-temporal objects. This language can be well used as a query interface to spatio-temporal databases. Having a precise semantics, the visual notation can also serve as a formal language to communicate and reason about spatiotemporal situations in general. The affinity of spatial and temporal phenomena has been recognized for a long time in the literature. Both phenomena deal with "spaces" or "dimensions" of some kind and are thus closely related. Recently, research efforts have led both in spatial and in temporal data modeling to an increased interest in integrating both directions into a common research branch called spatio-temporal data modeling and in constructing spatio-temporal data bases. Their underlying basic entities are called spatio-temporal objects and are ubiquitous in everyday life. Consider the flight of an airplane, the migration of whales, the raging of a storm, or the spreading of a fire region. Characteristic features of all these objects are that they are spatial entities changing over time and that these changes are continuous. Changes refer, for example, to motion, shrinking, growing, shape transformation, splitting, merging, disappearing, or reappearing of spatio-temporal objects. In particular, the capability of incorporating continuous change of spatial objects over time belongs to the most challenging requirements of spatio-temporal data models.. In the meanwhile, some data models for spatio-temporal databases have already been proposed. In [30] a spatial data model has been generalized to become spatio-temporal: spatio-temporal objects are defined as so-called spatiobitemporal complexes whose spatial features are described by simplicial complexes and whose temporal features are given by bitemporal elements attached to all components of simplicial complexes. On the other hand, temporal data models have been generalized to become spatio-temporal and include variants of Gadia's temporal model [19] which are described in [6, 4] . The main drawback of all these approaches is that ultimately they are incapable of modeling continuous changes of spatial objects over time.. Our approach to dealing with spatio-temporal data takes a more integrated view of space and time and includes the treatment of continuous spatial changes. It introduces the concept of spatio-temporal data types [11, 12] . These data types are designed as abstract data types whose values can be integrated as complex entities into databases [26, 27] and whose definition and integration into databases is independent of a particular DBMS data model.. The definition of a temporal object [18] in general is motivated by the observation that anything that changes over time can be expressed as a function over time. A temporal version of an object of type α is then given by a function from time to α. Spatio-temporal objects are regarded as special instances of temporal objects where α is a spatial data type like point or region. A point (representing an airplane, for instance) that changes its location in the Euclidean plane over time is called a moving point. Similarly, a temporally changing region (representing a fire area, for instance) is a region that can move and/or grow/shrink and whose components can split or merge. We call such an object an evolving region.. A straightforward and very instructive view of spatio-temporal objects is to visualize their temporal evolution as purely geometric, three-dimensional objects, that is, the time axis is regarded as an additional third geometric dimension. An evolving region is then represented as a volume in 3D space, and a moving point is then visualized as a 3D curve. Any intersection with the xy-plane yields a spatial object, that is, a region or a point. This observation is the starting point for the design of our visual language: by successively abstracting from irrelevant information we eventually arrive at a two-dimensional query language.. Similar to our approach, in [31, 32] based on the work in [25] so-called behavioral time sequences are introduced. Each element of such a sequence contains a geometric value, a date, and a behavioral function, the latter describing the evolution between two consecutive elements of the sequence. Whereas this approach mainly focuses on representational issues and advocates the three-dimensional object view of spatio-temporal objects, we are particularly interested in an algebraic model of general spatio-temporal data types including a comprehensive collection of spatio-temporal operations [12, 21] . Nevertheless, behavioral time sequences could be used as representations for our temporal objects.. Temporal changes of spatial objects induce modifications of their mutual topological relationships over time. For example, at one time two spatio-temporal objects might be disjoint whereas some time later they might intersect. These modifications usually proceed continuously over time but can, of course, also have a discrete property. We already have devised and formally defined a concept for such spatio-temporal relationships which are described by so-called spatio-temporal predicates [16] . We call a sequence of spatial and spatio-temporal predicates a development.. Since we are dealing with predicates, it is not surprising that logic-based approaches are related to our work. Allen [1] defines a predicate Holds(p,i) which asserts that a property p is true during a time interval i. Galton [20] has extended Allen's approach to the treatment of temporally changing two-dimensional topological relationships. Topological predicates are taken from the RCC model [7] which comes to similar results as Egenhofer's 9-intersection model which is briefly discussed below. In contrast to these approaches, we have pursued a hybrid approach taking into account elements from temporal logic and elements from point set theory and point set topology. The main reason for not taking a purely logic approach is the intended integration of spatio-temporal objects and predicates into spatiotemporal databases and query languages. These require concrete representations for spatio-temporal objects and besides predicates the possibility of constructing new objects through spatio-temporal operations. Hence, efficiency, in particular for the evaluation of spatio-temporal queries, is indispensable.. Our work on spatio-temporal predicates is based on Egenhofer's 9-intersection model [10] for topological predicates between spatial objects in two-dimensional space. The goal of this model is to provide a canonical collection of topological relationships for each combination of spatial types. The model rests on the nine possible intersections of boundary, interior, and exterior of a spatial object with the corresponding parts of another object. Each intersection is then tested with regard to the topologically invariant criteria of emptiness and non-emptiness. From the total number of possible topological constellations only a certain subset makes sense depending on the combination of spatial objects just considered. For two regions, eight meaningful constellations have been identified which lead to the eight predicates called equal, disjoint, coveredBy, covers, intersect, meet, inside, and contains. For a point and a region we obtain the three predicates disjoint, meet, and inside. For two points we get the two predicates disjoint and meet (which corresponds to equality). For each group all predicates are mutually exclusive. They are also complete in the sense that they cover all possible topological constellations under the assumptions of the 9-intersection model.. There exist several approaches to visual query languages for spatial databases, for example, [3, 5, 9, 22, 23, 24, 29] . Common to all these approaches is that they allow to query only static spatial situations, that is, they can express queries like "Retrieve all airports in Ohio". A characteristic of the involved objects "airport" and "Ohio" is that these objects rarely change their location and/or extent. There are also a few approaches to querying image sequences [2, 8, 28] . However, the goal of these proposals is mainly to facilitate queries on video databases and not the querying of spatial (or spatio-temporal) databases. Since video data is largely unstructured (just a sequence of images), all these approaches have to be concerned with additional symbolic representations for the stored images to enable queries. Our visual notation is translated into sequences of predicates that can be directly used for querying the database representations of the spatio-temporal objects. A short, preliminary proposal of the visualization idea that is developed in this paper has been presented in [15] . The main concepts of a user interface for visually specifying spatio-temporal developments have been described in [17] .

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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Randomisation and Derandomisation in Descriptive Complexity Theory Abstract. We study probabilistic complexity classes and questions of derandomisation from a logical point of view. For each logic L we introduce a new logic BPL, bounded error probabilistic L, which is defined from L in a similar way as the complexity class BPP, bounded error probabilistic polynomial time, is defined from P.Our main focus lies on questions of derandomisation, and we prove that there is a query which is definable in BPFO, the probabilistic version of first-order logic, but not in C ω ∞ω , finite variable infinitary logic with counting. This implies that many of the standard logics of finite model theory, like transitive closure logic and fixed-point logic, both with and without counting, cannot be derandomised. Similarly, we present a query on ordered structures which is definable in BPFO but not in monadic second-order logic, and a query on additive structures which is definable in BPFO but not in FO. The latter of these queries shows that certain uniform variants of AC 0 (bounded-depth polynomial sized circuits) cannot be derandomised. These results are in contrast to the general belief that most standard complexity classes can be derandomised.Finally, we note that BPIFP+C, the probabilistic version of fixed-point logic with counting, captures the complexity class BPP, even on unordered structures. The relation between different modes of computation -deterministic, nondeterministic, randomised -is a central topic of computational complexity theory. The P vs. NP problem falls under this topic, and so does a second very important problem, the relation between randomised and deterministic polynomial time. In technical terms, this is the question of whether P = BPP, where BPP is the class of all problems that can be solved by a randomised polynomial time algorithm with two-sided errors and bounded error probability. This question differs from the question of whether P = NP in that most complexity theorists seem to believe that the classes P and BPP are indeed equal. This belief is supported by deep results due to Nisan and Wigderson [31] and Impagliazzo and Wigderson [20] , which link the derandomisation question to the existence of one-way functions and to circuit lower bounds; cf. also [21] . Similar derandomisation questions are studied for other complexity classes such as logarithmic space, and it is believed that derandomisation is possible for these classes as well.. Descriptive complexity theory gives logical descriptions of complexity classes and thus enables us to translate complexity theoretic questions into the realm of logic. While logical descriptions are known for most natural deterministic and nondeterministic time and space complexity classes, probabilistic classes such as BPP have received very little attention in descriptive complexity theory yet. In this paper, we study probabilistic complexity classes and questions of derandomisation from a logical point of view. For each logic L we introduce a new logic BPL, bounded error probabilistic L, which is defined from L in a similar way as BPP is defined from P. The randomness is introduced to the logic by letting formulas of vocabulary τ speak about random expansions of τ -structures to a richer vocabulary τ ∪ ρ.. We also introduce variants RL, co-RL with one-sided bounded error and PL with unbounded error, corresponding to other well known complexity classes.. Our main technical results are concerned with questions of derandomisation. By this we mean upper bounds on the expressive power of randomised logics in terms of classical logics. Trivially, BPL is at least as expressive as L, and if the two logics are equally expressive, then we say that BPL derandomisable. More generally, if L ′ is a (deterministic) logic that is at least as expressive as BPL, then we say that BPL derandomisable within L ′ . We prove that BPFO, bounded error probabilistic first-order logic, is not derandomisable within C ω ∞ω , finite variable infinitary logic with counting. This implies that many of the standard logics of finite model theory, like transitive closure logic and fixed-point logic, both with and without counting, cannot be derandomised. Note that these results are in contrast to the general belief that most standard complexity classes can be derandomised.. We then investigate whether BPFO can be derandomised on classes of structures with built-in relations, such as ordered structures and arithmetic structures. We prove that BPFO cannot be derandomised within MSO, monadic second-order logic, on structures with built-in order. Furthermore, BPFO cannot be derandomised on structures with builtin order and addition. Interestingly and nontrivially, BPFO can be derandomised within MSO on structures with built-in order and addition. Behle and Lange [5] showed that the expressive power of FO on classes of ordered structures with certain predefined relation symbols corresponds to uniform subclasses of AC 0 , the class of problems decidable by circuit families of bounded depth, unbounded fan-in and polynomial size. In fact, for any set R of built-in relations they show that FO[R] captures FO[R]-uniform AC 0 . Arguably the most intensively studied uniformity condition on AC 0 is dlogtime-uniform AC 0 , which corresponds to FO[+, ×], first-order logic with built-in arithmetic (Barrington et al. [3] ). The question of whether dlogtime-uniform BPAC 0 can be derandomised is still open, but there is a conditional derandomisation by Viola [39] . There are less uniform variants of BPAC 0 that can be proved to be derandomisable by standard arguments; cf. [1] . We prove that the more uniform FO[+]-uniform AC 0 is not derandomisable. This raises the question of how weak uniformity must be for derandomisation to be possible.. In the last section of this paper, we turn to more standard questions of descriptive complexity theory. We prove that BPIFP+C, the probabilistic version of fixed-point logic with counting, captures the complexity class BPP, even on unordered structures. For ordered structures, this result is a direct consequence of the Immerman-Vardi Theorem [18, 38] , and for arbitrary structures it follows from the observation that we can define a random order with high probability in BPIFP+C. Still, the result is surprising at first sight because of its similarity with the open question of whether there is a logic capturing P, and because it is believed that P = BPP. The caveat is that the logic BPIFP+C does not have an effective syntax and thus is not a "logic" according to Gurevich's [16] definition underlying the question for a logic that captures P. Nevertheless, we believe that BPIFP+C gives a completely adequate description of the complexity class BPP, because the definition of BPP is inherently ineffective as well (as opposed to the definition of P in terms of the decidable set of polynomially clocked Turing machines). We obtain similar descriptions of other probabilistic complexity classes. For example, randomised logspace is captured by the randomised version of deterministic transitive closure logic with counting. As mentioned earlier, probabilistic complexity classes such as BPP have received very little attention in descriptive complexity theory. There is an unpublished paper due to Kaye [22] that gives a logical characterisation of BPP on ordered structures. Müller [30] and Montoya (unpublished) study a logical BP-operator in the context of parameterised complexity theory. What comes closest to our work "in spirit" and also in some technical aspects is Hella, Kolaitis, and Luosto's work on almost everywhere equivalence [17] , which may be viewed as a logical account of average case complexity in a similar sense that our work gives a logical account of randomised complexity. There is a another logical approach to computational complexity, known as implicit computational complexity, which is quite different from descriptive complexity theory. Mitchell, Mitchell, and Scedrov [28] give a logical characterisation of BPP by a higher-order typed programming language in this context.. Let us emphasise that the main purpose of this paper is not the definition of new probabilistic logics, but an investigation of these logics in a complexity theoretic context.

O O B O B I O O O O B I 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 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 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 O O O O O O O O O B 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 B I O O O O O O O B I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O 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


Detecting repeats for video structuring Abstract Television daily produces massive amounts of videos. Digital video is unfortunately an unstructured document in which it is very difficult to find any information. Television streams have however a strong and stable but hidden structure that we want to discover by detecting repeating objects in the video stream. This paper shows that television streams are actually highly redundant and that detecting repeats can be an effective way to detect the underlying structure of the video. A method for detecting these repetitions is presented here with an emphasis on the efficiency of the search in a large video corpus. Very good results are obtained both in terms of effectiveness (98% in recall and precision) as well as efficiency since one day of video is queried against a 3 weeks dataset in only 1 s. A very fast shot matching strategy to retrieve identical shots from a television broadcast has been presented. The algorithm computes a frame signature which can be mapped to a 64-bit integer, thus allowing exact retrieval and the use of a hash table. We also presented a simple but nonetheless effective strategy to align two candidate shots based on the signature position. Results show the effectiveness of our method on a very large video corpus recorded from French television.. This method could be used in many potential applications: commercials monitoring, television archives compression, intelligent digital VCR. Our first motivation was however to detect repetitions for structuring television archives. The next step in our research is therefore to find efficient ways of using this repetition information to achieve video structuring. All tests except the simulations in Section 5.1.1 were made on two video files recorded from the same french channel on 2 consecutive days. The file used as a RVD is 24 h long (2,180,727 frames, 19,046 shots) and the file used as a query is 1 h long (85,601 frames, 734 shots). The videos are encoded in MPEG-2, in PAL resolution (720 × 576) at 25 frames/s. Four sizes of signature n = 5, 6, 7, 8 were tested, producing binary vectors of size 25, 36, 49 and 64.. To perform detection we extract metadata from the video stream. These metadata are a list of shots containing the signature of every image of the shot. It may also contain a label if these metadata are to be used as a RVD rather than as query. These metadata weight only 17 Mo for a 24 h video i.e. 0.04% of the original file size. A lot of research has been done to identify similar video clips in a video dataset. Most of this research has been conducted with two main purposes in mind: video copy detection and video similarity search for content-based retrieval. Most of the techniques used in these previous works are not suited to our requirements, mainly because of their low efficiency. Recognition of commercials is much closer to our topic. Lienhart et al. [14] used a fingerprint based on color coherence vector and compare the fingerprints using a standard approximate substring matching algorithm. Sanchez et al. [19] built a subspace by computing principal component analysis on key-frames. Matching is then done by computing the minimum Euclidean distance of the key-frames representation in this subspace. An interesting attempt to see commercials as repetitions is by Duygulu et al. [5] . Unfortunately, the method does not seem to be very effective and has to be combined with classification based on lowlevel features to isolate commercials from broadcast news. The drawback of these methods is that they are unfortunately restricted to commercials and do not consider seriously large datasets and efficiency issues. To the best of our knowledge, no work has been conducted on detecting repetitions for video structuring, although some authors mentioned this possibility [10, 22] or investigated very close topics [18] .. Very few works have considered indexing mechanisms based on monodimensional descriptors. Pua et al. [18] proposed a hashing mechanism based on color moment vectors to efficiently retrieve repeated video clips. Oostveen et al. [17] used a lookup table to store fingerprints based on mean luminance of image blocks. Both these methods use exact matching of image fingerprints to locate a candidate sequence rather than exhaustive search in the fingerprint set, and are thus very efficient. These two works are the closest to our own.

O O O B I 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 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 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 O O O O O O O O O O O O O O O O O O O O O O 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 B 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B 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


Situation-aware risk management in autonomous agents We present a novel approach to enable decision-making in a highly distributed multiagent environment where individual agents need to act in an autonomous fashion. Our architecture framework integrates risk management, knowledge management, and agent deliberation to enable sophisticated, autonomous decision-making. Instead of a centralized knowledge repository, our approach supports a highly distributed knowledge base in which each agent manages a fraction of the knowledge needed by the entire system. In this paper we describe an approach to enable robust decisionmaking in a highly distributed, multiagent environment where agents need to act in an autonomous fashion. Our application is the logistics domain where autonomous agents are seen as a promising and effective approach to represent the different planning, scheduling, and controlling processes in an enterprise. For example, we can envision a scenario in which agents are used to represent realworld entities such as trucks and containers, abstract objects such as weather or traffic services, or even human decision makers, such as a ramp agent at a loading dock.. In this scenario, the agents need to make decisions about which containers to transport, what the fastest route to a specific destination is given current road or weather conditions, or what to do with goods damaged during unloading, for example.. Enabling this type of autonomous decision-making is challenging given the potentially large number of agents that could be involved, and the dynamic and sometimes even competitive environment in which the agents operate. In the context of this work we define risk as uncertainty about the future state of the world which implies that any decision by the agent might turn out wrong. The goal of risk management (RM) is to attempt to optimize the agent's decisions in the presence of incomplete, imprecise, or debatable information by reducing the uncertainty about future events.. Knowledge management (KM) is an important means to achieve this. Our approach to KM aims to find a rational basis to obtain the needed information. Furthermore, the agent is challenged by the fact that the knowledge that is needed is often highly dynamic, context-sensitive, incomplete, or uncertain. Thus, the integration of risk and knowledge management enables context-based, situationaware decision-making, which in turn supports autonomous, selfmanaging behavior of the agents. Our framework includes explicit risk and knowledge management, termed decision-support in the figure, which may work in an interweaved fashion to augment the deliberation cycle of the agent. Generally speaking, we use RM to identify and assess the risks associated with one or more options, and KM to acquire missing knowledge, for example, to improve risk assessment or to generate additional options. Our decision-support system can be integrated into any intelligent agent that utilizes some form of deliberation with separate option generation and selection phases.. Starting with the deliberation cycle at the top of Fig. 1 , we assume that some perceptions are leading to a situation, where the agent has to decide on its next action. Before making a decision, the agent invokes RM to help with the assessment of the option(s).We are envisioning that all components have access to a common repository or knowledge base (not shown in the figure). For the remainder of the paper, we will use the term "beliefs" to refer to this knowledge base.. Agent-based or agent-mediated knowledge management is a rel-

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 B I 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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


Volumetric

Attribute

Filtering

and

Interactive

Visualization

Using

the

Max-Tree

Representation

Abstract-The

Max-Tree

designed

for

morphological

attribute

filtering

in

image

processing,

is

a

data

structure

in

which

the

nodes

represent

connected

components

for

all

threshold

levels

in

a

data

set.

Attribute

filters

compute

some

attribute

describing

the

shape

or

size

of

each

connected

component

and

then

decide

which

components

to

keep

or

to

discard.

In

this

paper,

we

augment

the

basic

Max-Tree

data

structure

such

that

interactive

volumetric

filtering

and

visualization

becomes

possible.

We

introduce

extensions

that

allow

direct,

splatting-based,

volume

rendering;

representation

of

the

Max-Tree

on

graphics

hardware;

and

fast

active

cell

selection

for

isosurface

generation.

In

all

three

cases,

we

can

use

the

Max-Tree

representation

for

visualization

directly,

without

needing

to

reconstruct

the

volumetric

data

explicitly.

We

show

that

both

filtering

and

visualization

can

be

performed

at

interactive

frame

rates,

ranging

between

and

frames

per

seconds.

In

contrast,

a

standard

texture-based

volume

visualization

method

manages

only

between

and

frames

per

second.

For

isovalue

browsing,

the

experimental

results

show

that

the

performance

is

comparable

to

the

performance

of

an

interval

tree,

where

our

method

has

the

advantage

that

both

filter

threshold

browsing

and

isolevel

browsing

are

fast.

It

is

shown

that

the

methods

using

graphics

hardware

can

be

extended

to

other

connected

filters.

A

TTRIBUTE

filters

are

a

subset

of

morphological

connected

filters,

a

class

of

shape-preserving

filters

used

in

image

processing

Examples

of

such

filters

are

area

openings

and

closings,

which

remove

image

detail

smaller

than

a

particular

area

More

general

are

the

attribute

openings,

which

accept

or

reject

image

details

based

on

size

criteria

Similarly,

it

is

also

possible

to

filter

on

shape,

rather

than

on

size

criteria.

This

idea

has

been

formalized

as

so-called

shape

filters

which

have

been

extended

to

and

have

been

applied

to

the

problem

of

vessel

enhancement

in

angiographic

volume

data

sets

These

filters

are

different

from

the

morphological

erosionand

dilation-based

operations

in

that

they

do

not

make

use

of

structuring

elements,

but

rather

retain

or

discard

connected

components

as

a

whole.

An

example

of

an

attribute

filter

applied

to

a

grey

scale

volume

is

shown

in

Fig.

The

left

image

shows

an

isosurface

visualization

of

the

original

data,

and

the

right

isosurface,

and

for

both

images,

an

isolevel

threshold

t

was

used..

image

shows

an

isosurface

visualization

of

the

result

of

filtering

the

data

with

an

attribute

filter

that

is

selective

for

noncompact

structures

For

both

images,

the

same

isovalue

was

used.

A

computationally

efficient

implementation

of

these

filters

is

based

on

a

data

structure

called

the

Max-Tree

In

previous

work,

we

have

developed

a

volumetric

filtering

method

based

on

attribute

filters,

and

we

have

combined

it

with

a

basic

volume

visualization

method

In

that

work,

we

have

shown

that

filtering

can

be

done

at

interactive

rates;

however,

this

was

not

the

case

for

visualization.

The

reason

is

that

we

first

reconstructed

the

filtered

volume

data,

and

then

applied

a

visualization

method.

The

purpose

of

this

paper

is

to

extend

the

Max-Tree

data

structure,

such

that

filtering

and

visualization

can

be

done

directly

from

this

extended

Max-Tree.

We

will

show

that

this

can

be

done

at

interactive

rates.

Since

there

is

often

no

a

priori

"right"

filter

threshold,

such

interactive

feedback

is

essential.

As

visualization

methods,

we

employ

both

direct

volume

rendering

and

isosurface

rendering.

The

direct

volume

rendering

approaches

most

useful

for

our

application

are

splatting

and

hardware

texture

mapping

For

isosurface

visualization,

the

extensions

proposed

in

this

paper

allow

fast

selection

of

cells

that

intersect

the

isosurface

(active

cells)

when

varying

the

attribute

filter

threshold

and

also

when

varying

the

isovalue

threshold..

The

organization

of

the

paper

is

as

follows.

Section

II

describes

previous

work

on

attribute

filters,

the

Max-Tree

data

structure,

and

volume-rendering

methods.

We

introduce

three

new

attributes

in

Section

III.

In

Section

IV,

we

introduce

the

augmented

Max-Tree

and

the

visualization

methods

that

make

use

of

the

augmented

data

structure.

We

compare

the

results

of

our

new

method

with

that

of

some

standard

approaches

in

Section

V.

Finally,

Section

VI

discusses

the

results

and

possible

future

extensions.

In

this

paper,

we

have

proposed

methods

for

interactive

filtering

and

visualization

of

volume

data

sets

based

on

a

class

of

shape

preserving

filters.

We

have

briefly

reviewed

such

filters

and

explained

how

they

can

be

implemented

efficiently

using

Max-Trees,

and

we

have

also

introduced

new

attributes

based

on

moment

invariants

similar

to

those

in

and

The

Max-Tree

approach

splits

the

filtering

task

in

three

stages.

The

first

stage

is

a

preprocessing

step

that

involves

the

construction

of

a

tree,

while

the

second

stage

performs

actual

filtering

using

this

tree.

The

third

stage

is

reconstruction,

which

we

have

replaced

by

a

visualization

step.

Building

the

tree

takes

several

seconds

for

small

volumes,

and

in

the

order

of

minutes

for

larger

volumes..

We

have

proposed

several

extensions

to

the

Max-Tree

data

structure

that

allow

efficient

visualization.

Direct

volume

rendering

based

on

splatting

has

turned

out

to

be

a

viable

approach

when

the

data

are

sparse.

For

more

dense

data,

a

better

performance

is

obtained

by

performing

the

rendering

on

graphics

hardware.

For

this

purpose,

we

have

introduced

a

method

to

represent

the

Max-Tree

as

a

lookup

table

on

the

graphics

hardware.

Then,

filtering

only

requires

an

update

of

this

lookup

table,

which

is

much

faster

than

a

traditional

approach

of

volume

reconstruction

and

subsequent

transfer

to

the

graphics

hardware.

We

have

also

introduced

extensions

that

allow

fast

isolevel

queries

in

the

Max-Tree

data

structure.

The

performance

comes

close

to

the

performance

of

the

interval

tree;

however,

our

method

has

the

advantage

that

both

filter

threshold

browsing

and

isolevel

browsing

are

fast.

The

interval

tree

cannot

be

used

for

both

these

purposes,

since

it

requires

a

large

amount

of

preprocessing

time

to

construct

the

tree..

In

the

current

comparison,

the

MTNN

and

MTTL

methods

come

out

best,

but

their

drawback

is

that

they

require

the

entire

label

volume

to

be

stored

on

the

graphics

card.

This

means

that

very

large

volumes

cannot

be

visualized

in

this

way.

Both

splatting

and

isosurfacing

are

feasible

if

graphics

memory

is

insufficient,

though

splatting

only

works

at

adequate

speeds

if

the

volume

is

sparse,

and

isosurfacing

is

also

only

possible

at

interactive

rates

if

the

active

cell

count

is

low.

For

angiographic

datasets,

sparse

volumes

are

obtained

by

filter

threshold

settings

near

the

optimum..

In

principle,

both

MTNN

and

MTTL

could

be

extended

to

other

connected

filters,

such

as

the

autodual

filters

of

Monasse

and

Guichard

or

the

even

more

general

method

of

Soille

This

is

because

any

connected

filter

only

ever

merges

flat

zones,

or

assigns

new

grey

levels

to

them

Thus,

any

connected

filter

can

be

constructed

by

first

labelling

all

flat

zones

in

a

volume,

computing

a

lookup

table

containing

new

grey

levels

for

every

flat

zone,

and

computing

the

new

volume

by

simple

table

lookup.

If

recomputing

the

lookup

table

can

be

done

efficiently,

it

is

possible

to

use

a

variant

of

MTNN

or

MTTL

for

rapid

visualization..

The

attributes

stored

for

each

voxel

in

the

Max-Tree

could

be

used

in

many

different

ways

other

than

filtering.

In

particular,

modifying

color

and

opacity

would

be

interesting

ways

to

manipulate

the

visual

representation

of

these

volumes.

As

the

Max-Tree

provides

a

decomposition

in

connected

components,

a

classification

scheme

could

assign

each

of

the

components

a

different

color,

texture,

or

annotation.

The

speed

of

recomputation

of

these

attributes,

even

if

fairly

complicated

moment

invariants

are

used,

means

such

interaction

can

readily

include

changing

the

attributes

themselves,

rather

than

just

changing

visualization

parameters

such

as

transfer-function

settings

or

iso-surface

levels..

It

might

also

be

possible

to

perform

progressive

refinement

based

on

the

component

structure

stored

in

the

Max-Tree,

rendering

the

most

important

components

first,

and

gradually

adding

less

important

ones.

Unlike

other

progressive

refinement

methods,

the

shape

preserving

nature

of

connected

filters

would

mean

that

the

rendered

components

would

appear

at

full

resolution,

rather

than

as

a

blurred

version

first

To

measure

the

performance

of

our

method,

we

used

two

data

sets

available

publicly

from

and

a

third

one

from

The

data

sets

are

foot

(courtesy

Philips

Research,

Hamburg,

Germany),

a

rotational

b-plane

X-ray

scan;

aneurism,

a

CT

scan

(courtesy

Viatronix,

Inc.,

USA);

and

piggy

bank,

also

a

CT

scan

(courtesy

M.

Bauer,

Computer

Graphics

Group,

University

of

Erlangen,

Germany).

Visualizations

of

these

data

sets

are

shown

in

Fig.

and

the

data

set

details

are

listed

in

Table

I

including

the

Max-Tree

construction

time

and

the

number

of

Max-Tree

nodes.

All

timings

were

performed

on

a

PC

with

GB

of

memory,

two

dual

core

Opteron

CPUs,

and

two

NVIDIA

GeForce

GTX

graphics

cards

equipped

with

memory

each.

Only

one

CPU

and

one

graphics

card

were

used

for

the

timings..

We

measured

the

computation

time

of

the

Volume

attribute

and

the

attributes

defined

in

Section

III.

Table

II

lists

the

results.

We

did

not

include

the

timing

results

of

the

flatness

and

elongation

attributes,

because

they

showed

the

same

performance

as

the

sparseness

attribute.

This

was

expected,

since

the

computation

time

in

these

three

attributes

is

dominated

by

the

eigenvalue

calculation.

Fig.

contains

timing

results

for

browsing

the

filter

threshold

in

the

range

for

the

elongation

attribute

and

subsequent

direct

volume

rendering

(MIP).

All

times

are

given

in

milliseconds.

The

plots

compare

splatting

directly

from

the

MaxTree

(Section

IV-A)

with

our

texture-based

volume

rendering

approach

(Section

IV-B)

for

both

nearest

neighbor

(MTNN)

and

trilinear

interpolation

(MTTL).

We

have

also

included

a

standard

texture-based

volume

rendering

approach

in

which

the

volume

is

reconstructed

before

it

is

sent

to

the

graphics

hardware

(STBV).

In

all

cases,

the

window

size

for

displaying

the

final

image

was

pixels,

and

the

number

of

slice

planes

for

texture-based

volume

rendering

was

fixed

to

Table

III,

in

addition,

lists

the

average

times

to

perform

filtering,

transfers

of

data

to

the

graphics

hardware,

and

drawing

time

for

the

texture-based

volume

rendering

methods.

From

the

table,

it

is

clear

that

filtering

can

be

done

at

interactive

rates.

We

must

note

here

that

the

filtering

time

depends

only

on

the

number

of

Max-Tree

nodes,

and

that

it

is

independent

of

the

choice

of

the

filter

criterion,

which

only

affects

the

number

of

voxels

in

the

filtered

data

set.

Splatting

and

STBV

are

both

highly

dependent

on

the

number

of

voxels

that

remain

after

filtering.

Our

approaches

MTNN

and

MTTL

show

an

almost

constant

behavior

over

the

whole

range.

We

can

see

that

volume

reconstruction

and

transfer

in

STBV

is

very

costly,

and

that

our

method

performs

much

better,

because

much

less

data

has

to

be

transferred..

In

Table

IV

we

show

the

average

frame

rates

(the

number

of

times

per

second

all

data

can

be

drawn

to

the

screen)

of

all

direct

volume

rendering

methods.

These

rates

were

measured

twice

with

over

a

full

rotation

around

the

axis

in

increments

of

one

degree.

The

first

timing

was

performed

with

to

measure

performance

on

the

raw

data

sets.

For

the

second

timing,

we

used

a

different

criterion

for

each

data

set:

for

foot,

the

elongation

attribute

worked

well

on

the

bones,

the

flatness

attribute

revealed

the

coins

in

piggy

bank,

and

the

noncompactness

attribute

enhanced

the

vessels

in

aneurism.

The

threshold

was

set

to

a

value

that

yielded

a

first

interesting

result,

i.e.,

the

moment

components

that

do

not

satisfy

the

filtering

criterion

start

to

disappear.

Splatting

works

only

well

for

very

low

voxel

counts.

As

expected,

STBV

is

the

fastest,

because

it

requires

only

one

dependent

texture

lookup

during

drawing.

Our

approach

also

shows

high

frame

rates

for

nearest

neighbor

interpolation,

and

it

is

still

quite

fast

for

trilinear

interpolation.

During

a

rotation,

or

other

user

interaction

such

as

zooming

and

panning,

we,

therefore,

use

nearest

neighbor

interpolation,

and

switch

to

trilinear

interpolation

when

interaction

ceases.

Nearest

neighbor

interpolation

has

lower

image

quality

(see

Fig.

but

it

is

acceptable

during

user

interaction..

We

also

compared

the

performances

of

our

isosurface

extraction

method

and

the

interval

tree.

In

the

experiment,

we

increased

the

isovalue

threshold

from

the

lowest

data

value

to

the

maximum

data

value

in

steps

of

one

or

ten,

depending

on

the

dynamic

range

of

the

data.

The

performance

measurement

was

carried

out

on

the

filtered

data

sets

listed

in

Table

IV

The

interval

tree

had

an

overall

somewhat

better

performance,

which

is

not

surprising,

since

it

is

optimized

for

the

purpose

of

isovalue

browsing.

However,

if

we

take

interval

tree

construction

time

into

account,

which

ranges

between

and

s

for

our

data

sets,

our

approach

that

extracts

an

isosurface

directly

from

the

Max-Tree

is

more

suitable

when

a

user

wants

to

perform

both

isovalue

browsing

and

browsing.

Fig.

illustrates

the

effect

of

applying

various

attributes

to

the

piggy

bank

data

set.

We

used

isosurfaces

to

visualize

the

results..

The

coins

inside

the

piggy

bank,

which,

incidentally,

are

made

of

chocolate

in

order

to

prevent

scattering

artifacts

from

the

CT

scanner,

can

be

separated

well

by

using

the

flatness

attribute

and

a

high

threshold

see

Fig.

(a).

The

piggy

bank

is

standing

on

a

wooden

block,

see

Fig.

(b).

The

wood

structure

is

well

preserved

by

the

sparseness

attribute

and

a

threshold

of

There

is

a

hole

in

the

piggy

bank's

belly,

covered

by

a

lid

containing

two

springs

that

keep

it

in

place.

By

filtering

away

nonelongated

structures,

these

springs

can

be

separated

out

(see

Fig.

The

elongation

attribute

was

used

with

a

threshold

of

Since

our

approach

enables

changing

of

attributes

and

thresholds

at

interactive

rates,

the

images

in

Fig.

could

be

made

within

a

few

minutes.

It

would

have

been

difficult

and

time

consuming

to

achieve

the

same

results

without

the

visualization

methods

proposed

in

this

paper..

We

would

like

to

refer

the

reader

to

our

web

page

which

contains

a

number

of

movies

and

a

demo

program.

These

demonstrate

the

interactivity

offered

by

our

method

well.

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 O O O O O O O O O O O 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 B 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 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 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 B 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 B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O 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