Kinetic Collision Detection for Convex Fat Objects We design compact and responsive kinetic data structures for detecting collisions between n convex fat objects in 3-dimensional space that can have arbitrary sizes. Our main results are:(i) If the objects are 3-dimensional balls that roll on a plane, then we can detect collisions with a KDS of size O(n log n) that can handle events in O(log 2 n) time. This structure processes O(n 2 ) events in the worst case, assuming that the objects follow constant-degree algebraic trajectories.(ii) If the objects are convex fat 3-dimensional objects of constant complexity that are free-flying in R 3 , then we can detect collisions with a KDS of O(n log 6 n) size that can handle events in O(log 7 n) time. This structure processes O(n 2 ) events in the worst case, assuming that the objects follow constant-degree algebraic trajectories. If the objects have similar sizes then the size of the KDS becomes O(n) and events can be handled in O(log n) time. Collision detection is a basic computational problem arising in all areas of computer science involving objects in motion-motion planning, animated figure articulation, computer-simulated environments, or virtual prototyping, to name a few. Very often the problem of detecting collisions is broken down into two phases: a broad phase and a narrow phase. The broad phase determines pairs of objects that might possibly collide, frequently using (hierarchies of) bounding volumes to speed up the process. The narrow phase then uses specialized techniques to test each candidate pair, often by tracking closest features of the objects in question, a process that can be sped up significantly by exploiting spatial and temporal coherence. See [21] for a detailed overview of algorithms for such collision and proximity queries.. Algorithms that deal with objects in motion traditionally discretize the time axis and compute or update their structures based on the position of the objects at every time step. But since collisions tend to occur rather irregularly it is nearly impossible to choose the perfect time-step: too large an interval between sampled times will result in missed collisions, too small an interval will result in unnecessary computations (and still there is no guarantee that no collisions are missed). Event-driven methods, on the other hand, compute the event times of significant changes to a system of moving objects, store those in a priority queue sorted by time, and advance the system to the event at the front of the queue. The kinetic-data-structure framework initially introduced by Basch et al. [4] presents a systematic way to design and analyze eventdriven data structures for moving objects.. A kinetic data structure (KDS) is designed to maintain or monitor a discrete attribute of a set of moving objects, where each object has a known motion trajectory or flight plan. A KDS contains a set of certificates that constitutes a proof of the property of interest. These certificates are inserted in a priority queue (event queue) based on their time of expiration. The KDS then performs an event-driven simulation of the motion of the objects, updating the structure whenever a certificate fails. A KDS for collision detection finds a set of geometric tests (elementary certificates) that together provide a proof that the input objects are disjoint-see the surveys by Guibas [13, 14] for more details.. Kinetic data structures and their accompanying maintenance algorithms can be evaluated and compared with respect to four desired characteristics. A good KDS is compact if it uses little space in addition to the input, responsive if the data structure invariants can be restored quickly after the failure of a certificate, local if each object involves a small number of certificates, and efficient if the worst-case number of events handled by the data structure (for a given class of motions) is not much larger than the worst-case number of combinatorial changes in the maintained attribute (for that class of motions). We presented the first KDS's for collision detection between multiple convex fat 3D objects that use a near-linear number of certificates and do not require the objects to have similar sizes. We believe that this is an important step forward in the theoretical investigation of KDS's for 3D collision detection. Our KDS for balls rolling on a plane is simple, and may perform well in practice. Our general KDS for free-flying objects of varying sizes, however, is complicated and the dependency on the fatness parameter ρ is large. Thus our result should be seen as a proof that good bounds are possible in theory-whether a simple and practical solution exists that achieves similar worst-case bounds is still open. As remarked above, our structures are not local: a single object can be involved in a linear number of certificates. Unfortunately, this seems very hard (if not impossible) to avoid if there is a single large object that is closely surrounded by many tiny objects. Thus we do not expect to see a local KDS that can deal with arbitrarily sized objects. (We have shown though that a local KDS is possible for convex fat objects when their sizes are similar.). Finally, a challenging open problem is to obtain results on non-convex and/or nonfat objects. The main goal of our paper is to develop KDS's for 3D collision detection that have a near-linear number of certificates for multiple convex fat objects of varying sizes. As discussed above, none of the existing solutions achieves all these goals simultaneously. Our KDS's can be viewed as structures that perform the broad phase of the global collision-detection approach sketched above; one still has to detect collisions between the candidate pairs of objects produced by the KDS. Assuming the objects have constant complexity, this can trivially be done in constant time per pair; how to do this for complex objects is beyond the scope of this paper. Thus the challenge is to get a near-linear number of certificates, so that the number of candidate pairs is reduced from quadratic to near-linear.. We start in Sect. 2 with the special case of n balls of arbitrary sizes rolling on a plane. Here we present an elegant and simple KDS that uses O(n log n) storage and processes O(n 2 ) events in the worst case if the objects follow constant-degree algebraic 1 trajectories. Processing an event takes O(log 2 n) time. 1 In fact, the bound on the number of events holds in a more general setting: we maintain lists of certain x-and y-coordinates-for instance the coordinates of the tangency points of the disks with the plane on which they roll-whose values change according to the motions of the objects. The number of events is bounded by the number of changes (swaps) in these sorted lists. The O(n 2 ) bound thus holds if we assume that any pair of coordinates swaps O(1) times (which is for example the case if the motions are constant-degree algebraic). A similar remark holds for the other KDS's that we develop.. In Sect. 3 we turn our attention to free-flying convex fat objects. Note that we do not assume the objects to be polyhedral. We first study fat objects that have similar sizes. We give an almost trivial KDS that has O(n) size and processes O(n 2 ) events; handling an event takes O(log n) time. This improves both the storage and the eventhandling time of the KDS of Basch et al. [3] by several logarithmic factors. Next we consider the much more difficult general case, where the fat objects can have vastly different sizes. Here we present a KDS that uses O(n log 6 n) storage and processes O(n 2 ) events; handling an event takes O(log 7 n) time. This is the first collisiondetection KDS for multiple objects in 3D that has a near-linear number of certificates and does not require the objects to have similar sizes. Even though our KDS for this case uses O(n log 6 n) storage, it maintains only a linear number of candidate pairs of objects to test for collisions; the additional storage is used in various supporting data structures. Our structure is based on the following idea: we put a number of pointswe call them guards-around each object in such a way that if two objects collide, one must contain a guard from the other. Because the objects are fat, we can show that a constant number of guards per object suffices. The idea of reducing problems on fat objects to problems on suitably chosen points has been used before-see e.g. [6, 10] . In our context, however, it is far from straightforward to apply since detecting collisions between objects and guards is nearly as difficult as detecting collisions between the objects themselves. Nevertheless, using several additional ideas, we show how to make this approach work.

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


Intelligent Cooperative Control Architecture: A Framework for Performance Improvement Using Safe Learning Planning for multi-agent systems such as task assignment for teams of limited-fuel unmanned aerial vehicles (UAVs) is challenging due to uncertainties in the assumed models and the very large size of the planning space. Researchers have developed fast cooperative planners based on simple models (e.g., linear and deterministic dynamics), yet inaccuracies in assumed models will impact the resulting performance. Learning techniques are capable of adapting the model and providing better policies asymptotically compared to cooperative planners, yet they often violate the safety conditions of the system due to their exploratory nature. Moreover they frequently require an impractically large number of interactions to perform well. This paper introduces the intelligent Cooperative Control Architecture (iCCA) as a framework for combining cooperative planners and reinforcement learning techniques. iCCA improves the policy of the cooperative planner, while reduces the risk and sample complexity of the learner. Empirical results in gridworld and task assignment for fuel-limited UAV domains with problem sizes up to 9 billion state-action pairs verify the advantage of iCCA over pure learning and planning strategies. Applications involving multiple autonomous robots typically require that participating agents remain capable of performing their advertised range of tasks in the face of noise, unmodeled dynamics and uncertainties. Many cooperative control algorithms have been designed to address these and other, related issues such as humans-in-the-loop, imperfect situational awareness, sparse communication networks, and complex environments [Beard et al., 2002 , Casal, 2002 , Choi et al., 2009 , Ketan Savla, 2008 , Olfati-Saber et al., 2007 , Ren et al., 2007 , Saligrama and Castañón, 2006 , Wang et al., 2007 , Xu and Ozguner, 2003 ]. While these methods had success in a variety of simulations and some focused experiments, there remains room to improve overall performance in real-world applications. For example, cooperative control algorithms are often based on simple, abstract models of the underlying system. This may aid computational tractability and enable quick analysis, but at the cost of ignoring real-world complexities such as noisy dynamics and stochastic outcomes [Cassandras and Li, 2002 , Singh et al., 2009 , Wang et al., 2005 . Section 2 further provides specific examples regarding the assumptions made in the literature to obtain fast planners.. Researchers have long understood the negative impact of these modeling errors on decision-making algorithms [Ben-Tal et al., 2006 , Bertsimas et al., 2011 , Zhu and Fukushima, 2009 ], but the simple and robust extensions of cooperative control algorithms to account for such errors are often overly conservative and generally do not utilize observations or past experiences to refine poorly known models [Alighanbari et al., 2006 , Bertuccelli, 2008 . Despite these issues however, cooperative control algorithms provide a baseline capability for achieving challenging multi-agent mission objectives. In this context, the following research question arises: How can current cooperative control algorithms be extended to result in improved plans?. To address this question, we integrate learning with cooperative control algorithms through the intelligent Cooperative Control Architecture (iCCA), so that the planner can improve its solution over time based on its experiences. The general iCCA template shown in Figure 1 consists of customizable modules for implementing strategies against modeling errors and uncertainties by integrating cooperative control algorithms with learning techniques and a feedback measure of system performance. It is well known that most learning algorithms are more effective when given some prior knowledge to guide the search and/or steer exploration. In the iCCA framework, the cooperative planner offers this capability, ensuring that mission objectives are achieved even as learning proceeds. In return, the learning algorithm enhances the performance of the planner by offering adaptability to time-varying parameters.. Learning approaches for solving large-scale control problems can handle unknown models, but they do not have a mechanism to avoid risky behaviors. For example, in the context of an unmanned aerial vehicle (UAV) mission planning scenario, the learner might send UAVs with low fuel to remote locations solely for the purpose of learning about the consequences of such behaviors. To a human operator who has domain knowledge, such actions may not be acceptable because losing a UAV is costly and the risk of losing a UAV is high under this plan. On the contrary, cooperative planners provide safe plans based on prior knowledge, yet their performance may be suboptimal in ac- In the controls community, many researchers have developed algorithms for task assignment among teams of vehicles under the name of cooperative plan-ning [Alighanbari, 2004 , Alighanbari et al., 2003 , Beard et al., 2002 , Berman et al., 2009 , Cassandras and Li, 2002 , Castanon and Wohletz, 2009 , Choi et al., 2009 , Ryan et al., 2004 , Saligrama and Castañón, 2006 , Wang et al., 2007 . As the name suggests, these methods use an existing world model for planning vehicles task assignment. While, in theory, such planning problems can be solved using dynamic programming (DP) [Bellman, 2003] , the computation time required for solving realistic problems using DP is not practically feasible. Consequently, cooperative planners are often focused on problems with specific properties such as convexity, submodularity, etc. that render the problem more tractable. Furthermore, they investigate approximation techniques for solving planning problems. [Cassandras and Li, 2002] adopted a receding horizon approach for planning in obstacle free 2D spaces where vehicles with constant speeds move according to deterministic dynamics. [Singh et al., 2009] proposed a non-myopic approach and derived theoretical guarantees on the performance of their algorithm. Their main results are built upon the submodularity (a diminishing returns property) assumption which is a limiting factor. [Alighanbari et al., 2003] formulated the task allocation problem as a mixed-integer linear program. They scaled their solution to large domains including 6 vehicles by approximating the decomposition of task assignment among vehicles. The main drawback of the work is the assumption of deterministic dynamics for vehicle movements. Wang et al. [2005] introduced a new method for maintaining the formation among vehicles in domains with dynamic obstacles. Their approach assumes a quadratic cost function and a Gaussian noise model. In our UAV mission planning scenarios both these assumptions are violated: the penalty function is step-shaped and the noise involved in the reward function has a multinomial distribution. Castanon and Wohletz [2009] focused on stochastic resource allocation problem. While their method scales well to domains with 20 resources and 20 tasks, it cannot be applied to cases where multiple assignments of simultaneous resources are required for the task completion. Berman et al. [2009] tackled the problem of task allocation for swarms of robots in a distributed fashion using stochastic policies. Their approach addresses the problem of maintaining a predefined distribution of robots on a set of locations, yet does not support time varying distributions. Choi et al. [2009] used a distributed auction-based approach for task assignment among agents. They bounded the sub-optimality of their solution, yet extending their work to stochastic models is still an open problem. In summary, cooperative planners often result in sub-optimal solutions due to the model inaccuracy or unsatisfied assumptions. Furthermore, these methods do not incorporate learning to use perceived trajectories in order to improve future performance.. Safe exploration has been of special interest to practitioners applying RL techniques to real world domains involving expensive resources. Pessimistic approaches find optimal policies with respect to the worse possible outcome of selected actions [Heger, 1994] . Consequently, resulting policies are often overly constrained, yielding undesirable behavior in practice. Bounding the probability of failure, risk-sensitive RL methods [Geibel and Wysotzki, 2005, Mihatsch and Neuneier, 2002] provide a less conservative approach by maximizing the performance subject to an acceptable risk level. Because these methods do not guarantee the performance before the learning phase, they are not suitable for online settings. Abbeel and Ng [2005] investigated exploration within the context of batch apprenticeship learning. They conjectured that running least-squares policy iteration [Lagoudakis and Parr, 2003 ] over teacher generated trajectories yields safe policies for practical domains. While in practice they reported safe policies, their approach does not have mathematical guarantees. For deterministic MDPs, Hans et al. [2008] extended the risk-sensitive RL approach by identifying states as super critical, critical, and safe. While they demonstrated promising empirical results, their method cannot be applied to stochastic domains. Knox and Stone [2010] discussed various ways that an initial policy can bias the learning process, yet their approach requires access to the value function of the given policy which may be hard to calculate. Robust MDPs is another framework to capture the uncertainties about the model and tune the policy to be robust within the space of possible models [Bagnell et al., 2001, Nilim and Ghaoui, 2005] . These methods do not take advantage of the online data and their resulting policies can be overly conservative in practice. Recent work has extended robust MDPs to an adaptive framework by incorporating observed interactions to reduce the model uncertainty [Bertuccelli et al., 2012] . While similar in some aspects to the approach given here, it is restricted to parameter estimation within the model learning, and that work also does not explicitly capture the notion of risk that is a key element of the iCCA learning. Within the controls community, safe exploration is pursued under robust RL in which the stability of the system is of main interest, but current state of the art methods do not extend to general MDPs as they consider systems with linear transition models [Anderson et al., 2007] .

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


First-class macros have types Scheme, The prototype implementation works by compiling Scheme plus first-class macros into standard Scheme. At first this sounds like an easy task: just expand all the macros and you're done. But additional code must be generated to manipulate the extra environment frames needed to represent instantiated templates (and hence first-class macros themselves), so the process is more than just a simple macro expansion.. These extra frames are represented using Scheme vectors, while all the standard environment frames are left implicit in the generated Scheme code. This compilation technique has the advantage that the reader can easily find the code that was generated to support the first-class macros. I will demonstrate the compiler by walking through some examples based on the record structure code from section 5.1, and in particular, assuming the following structure definition:. (define-structure <kens> kons (car <delay>) (cdr <kens>)). This define-structure expression will macro expand into the following three definitions, where template-l, self-a, car-3 and cdr-4 are the identifiers generated by the rename procedure when the macro wanted fresh identifiers: When the compiler processes the template expression for template-i, it must design an environment frame in which variables self-l, car and cdr are defined. self-2 will be defined as a macro-all the compiler knows about that macro is that any identifiers it renames will be looked up first in this frame, and if they aren't found there, in the environment where the template expression occurred.. You might expect that in order to implement this name lookup, such a frame would need to contain a pointer to the environment frame for the surrounding environment. But in fact this isn't necessary.. The reason for this is subtle: roughly, a top-level template expression, such as this one, isn't itself a firstclass value." Therefore the macro types it creates are only available within the scope where this template is defineletl. So it is impossible to use those macros outside of that scope. And thus the variables in the environment surrounding the template expression can always be located somewhere np the chain of ordinary environment frames. You might also expect that the compiler would need to allocate a slot to contain the value of self-a. But the runtime representation of the self-2 macro will be the frame itself, so no such slot is needed.. Thus the compiler designs a frame containing two slots for instances of template-l-the first slot will contain the value of the variable car and the second will contain the value of the variable cdr. We now consider the compilation of the clefinition of the constructor function kons. The only interesting issue is the compilation of the instantiate expression.. The compiler allocates a frame of the appropriate size, and then arranges that inside the body of the instantiate expression, car and cdr will refer to the first and second slots of that frame, ant1 that self-2 will refer to the frame itself. The generated code is:. (define kons (lambda (car-3 cdr-4) (let ((instance-5 (make-vector 2)) ) (vector-set ! instance-5 0. car-31 (vector-set! instance-5 1 cdr-4) instance-5)) 1 "But see the next section. The interesting issue here is the compilation of (x car> in the presence of a declaration that x has type <delay>. The type declaration allows the compiler to locate the expander procedure (generated by struct-self ). The compiler calls this expander, passing it the expression (x car) and a specially constructed rename procedure that knows that car and cdr should refer to the First and second slots of the frame that is the value of x, and that self-2 should refer to x itself.. The result is:. Following the same pattern, the code generated for lazy-map, as defined in sections 2 and 3, is:. delay-env f (cdr 1)))))))). Here the compiler has designed a frame for promisetemplate where the procedure make-promise is located in the first slot.. The algorithm for compiling an expression is to first determine the type of its first sub-expression (the operator, its car).. That type determines everything about how to compile the entire expression.. In the case where the type is <plain> (the type of ordinary Scheme values), the expression is compiled as a procedure call, where the rest of the sub-expressions are argument expressions.. In the case where the type is a macro type, the expression is compiled as follows:. (let ((env-17 compute-operator) ) result-of-e~pansio,n). Where compute-operator is the code generated when the operator expression was compiled, env-17 is a freshly generated identifier, and result-of-ezpansion, is the result of expanding the macro using a specially constructed rename procedure that knows where the various variables that might be inserted by the macro are located inside env-17.

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


Multiset rewriting for the verification of depth-bounded processes with name binding We combine the two existing approaches to the study of concurrency by means of multiset rewriting: multiset rewriting with existential quantification (MSR) and constrained multiset rewriting. We obtain ν-MSR, where we rewrite multisets of atomic formulae, in which terms can only be pure names, where some names can be restricted. We consider the subclass of depth-bounded ν-MSR, for which the interdependence of names is bounded. We prove that they are strictly Well Structured Transition Systems, so that coverability, termination and boundedness are all decidable for depth-bounded ν-MSR. This allows us to obtain new verification results for several formalisms with name binding that can be encoded within ν-MSR, namely polyadic ν-PN (Petri nets with tuples of names as tokens), the π-calculus, MSR or Mobile Ambients. MSR. Dynamic name generation has been thoroughly studied in the last decade, mainly in the fields of security [11, 1] and mobility [27] . The paper [11] presents a meta-notation for the specification and analysis of security protocols. This meta-notation involves facts and transitions, where facts are first-order atomic formulae and transitions are given by means of rewriting rules, with a precondition and a postcondition. For instance, the rule. specifies the first rule of the Needham-Schroeder protocol, in which a principal A with key k (A 0 (k)) decides to talk to another principal, with a key k ′ that has been announced (Ann(k ′ )), for which it creates a nonce x and sends to the network the pair x, k ciphered under k ′ . This notation gave rise to the specification language for security protocols MSR [10] .. CMRS. In [14] Constraint Multiset Rewriting Systems (CMRS) are defined. As in [11] , facts are first-order atomic formulae, but the terms that can appear as part of such formulae must belong to a constraint system. For instance, the rule count(x), visit → count(x + 1), enter(x + 1) could be used to count the number of visits to a web site. For a comprehensive survey of CMRS see [16] . In CMRS, there is no mechanism for name binding or name creation, so that it has to be simulated using the order in the constraint system (for instance, simulating the creation of a fresh name by taking a value greater than any of the values that have appeared so far). Thus, in an unordered version of CMRS, in which only the equality predicate between atoms is used, there is no way of ensuring that a name is fresh.. Our goal. It is our goal in this paper to find a minimal set of primitives that allows us to specify concurrent formalisms with name binding. This specification may be achieved by means of some encoding, provided this encoding preserves concurrency and name topology. This will allow us to obtain new decidability results for those concurrent formalisms in a common framework.. We combine the features of the meta-notation MSR and CMRS, obtaining ν-MSR. On the one hand, we maintain the existential quantifications in [11] to keep a compositional approach, closer to that followed in process algebra with name binding. On the other hand, we restrict terms in atomic formulae to be pure names, that can only be compared with equality or inequality, unlike the arbitrary terms over some syntax, as in [11] , or terms in a constraint system, as in CMRS.. Depth boundedness. In the field of process algebra, there are many recent works that look for subclasses of the π-calculus for which some properties, such as termination, are decidable [6, 32, 31, 33, 4] . In this paper we will consider the results in [31] about depth-bounded π-calculus processes.. Depth-boundedness is a semantic restriction on π-calculus processes. Intuitively, a process is depth-bounded whenever the interdependence of names is bounded in any process reachable from it. As a simple example, and assuming that the reader is familiar with the following π-calculus syntax, if starting from some process P the processes νa 1 . . . . .a n .(a 1 a 2 | a 2 a 3 | · · · | a i a i+1 | · · · | a n−1 a n ) | Q n are reachable for every n > 0, then P is a depth-unbounded process. However, the fact that processes νa.a 1 . . . . .a n .(a a 1 | a a 2 | · · · | a a i | · · · | a a n ) | Q n can be reached from P for every n does not allow us to conclude that P is depth-unbounded, since though an unbounded number of names can appear in reachable processes, those names do not depend one another, as happened in the previous example.. Meyer proved in [31] that depth-bounded π-calculus processes are WSTS. In this paper we adapt those results to ν-MSR. More precisely, we will consider depth-bounded ν-MSR, that is, ν-MSR for which the interdependence of bound names is bounded in every reachable term. We will prove that this subclass of ν-MSR is well structured by following the same steps followed in [31] . Unfortunately, we will see that this property itself is undecidable for ν-MSR (and also for the π-calculus).. Then we will study the complexity of the decision procedures for depthbounded ν-MSR, proving that they are all non-primitive recursive, thus rising the exponential space lower bound given in [31] .. Models of concurrency with names. Two of the most well established models for concurrency are Petri nets and process algebra. The π-calculus is the paradigmatic example of process algebra with name binding. Names in the π-calculus can be used to build a dynamic communication topology. Two approaches to the dynamic generation of names in the field of Petri nets are ν-PNs [36] and Data Nets [29] .. In ν-PNs, tokens are pure names that can move along the places of the net, be used to restrict the firing of transitions to happen only when some names match, and be created fresh. ν-PNs are (strictly) Well Structured Transition Systems (WSTS) [40, 21] , but pν-PNs, its polyadic version, in which tokens are tuples of pure names, are not. Actually, pν-PNs are Turing-complete [37] , even in the binary case.. In Data Nets, tokens are taken from a linearly ordered and dense domain, and whole-place operations (like transfers or resets) are allowed. However, in Data Nets (which are also WSTS), fresh name creation has to be simulated using the linear order, as happens in CMRS. Actually, CMRS and Data Nets are equivalent up to coverability languages (with coverability as accepting condition), even if the former cannot perform whole-place operations [3] .. Though ν-PN have better decidability properties than pν-PN, some works need to use the model of pν-PN to model features like instance isolation in architectures with multiple concurrent conversations [13] or transactions in data bases [28] . We will prove that ν-MSRs are equivalent to pν-PNs. We will see that this equivalence is a rather strong one (isomorphism between the transitions systems). Moreover, the subclass of monadic ν-MSRs is equivalent to ν-PNs, so that coverability, boundedness and termination are decidable for them.. Next, we will see that processes of the π-calculus can be simulated, in a very natural way, by ν-MSRs. This translation is inspired by the results by Meyer about structural stationary π-calculus processes, that can be mapped to P/T nets [32] . As a corollary, depth-bounded π-calculus processes are well structured, which was already known. Finally, we apply the same techniques to other formalisms, like MSR [11] and Mobile Ambients [9] . Up to our knowledge, this is the first time that decidability results for the verification of safety properties of MSR are obtained. In the case of Mobile Ambients (MA), we obtain in particular the decidability of the name convergence problem, which is undecidable in general, even for the subclass without name restriction and in which ambients cannot be opened.. The rest of the paper is organized as follows. In Section 2 we introduce some basic definitions and notations we will use throughout the paper. Section 3 defines ν-MSR. In Section 4 we study depth-boundedness for ν-MSR. In Section 5 the equivalence between ν-MSRs and pν-PNs is proved. Section 6 presents the encoding of π-calculus terms within ν-MSR. Section 7 encodes other formalisms within ν-MSR, thus obtaining new decidability results for them. Finally, Section 8 presents our conclusions and some directions for future work. This paper is a revised and extended version of the papers [38, 39] . In this paper we have defined ν-MSRs, where MSR stands for MultiSet Rewriting. ν-MSRs encompass the multiset rewriting approach for concurrency, followed in [16] , and the multiset rewriting approach for security, or name binding in general, followed in [11, 10] .. We have proved that ν-MSRs simulate, in a very natural way, two models of concurrency with name binding, namely pν-PNs and π-calculus processes. The previous simulations establish that any result obtained for ν-MSRs can be translated both to the π-calculus and pν-PNs.. In particular, we have adapted the results in [31] in order to prove that a subclass of ν-MSR, that of depth-bounded ν-MSR, in which the interdependence of restricted names is bounded, is a strict Well Structured Transition System. This yields decidability of coverability, termination and also boundedness. Moreover, the decidability of those properties is obtained even when the bound on the depth of the terms is not known, even for coverability, and without need to use an Adequate Domain of Limits to finitely represent arbitrary downward closed sets.. These results can be transferred to any formalism that can be encoded within ν-MSR. We know that π-calculus processes can be easily translated to a ν-MSR system, so that depth-bounded π-calculus processes are WSTS. This was already proved in [31] . However, we can also obtain as a corollary the strict well structuredness of depth-bounded pν-PN. We claim that the same result holds for spi-calculus processes [1] , with an encoding analogous to the one used for the π-calculus.. Then we have shown how other concurrent formalisms with name binding can be encoded within ν-MSR, namely MSR and Mobile Ambients (MA), and we have discussed what depth-boundedness means in each particular case. Thus, we obtain new decidability results for them. Up to our knowledge, this is the first time that decidability of verification for MSR is studied in general. Moreover, for the class of MA, we obtain new decidability results, as that of the name convergence problem.. As future work, it would certainly be interesting to find useful structural (or in any case decidable) sufficient conditions for depth-boundedness of ν-MSR.. In the encoding of MA, and more precisely in the encoding of the execution of an open capability, we need to modify an arbitrary amount of predicates, those representing processes inside the opened ambient. Since our rules only deal with a fixed amount of predicates, we need to process those predicates sequentially, perhaps leaving some garbage as explained there. Instead, we could add broadcast primitives to ν-MSR, similarly as the transfers or resets in Affine Well Nets [22] or as done for Data Nets [29] . For instance, we could have a rule stating that given names a, b ∈ Id and predicates p, q ∈ P, every p(a,ã) is replaced by q(b,ã). With such rules, we can for instance encode the open capability in such a way that its execution corresponds to a single application of a rule. Moreover, we claim that our decidability results still hold in that extension of ν-MSR.. In a different line, ν-MSRs establish a clean bridge between Petri nets and process algebra, that could be interesting in order to compare the natural concurrent (process) semantics of Petri nets to π-calculus processes.. Finally, recently new results for the verification of systems that rewrite graphs have been obtained in [19, 20] . We plan to relate our order, inducing the notion of depth-boundedness, to the order used in those papers to obtain well structuredness.

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


Sleep transistor distribution in row-based MTCMOS designs The Multi-Threshold CMOS (MTCMOS) Leakage power in modern CMOS VLSI circuits has become a component comparable to dynamic power dissipation. Typically, the subthreshold leakage current dominates the device off-state leakage due to low V th transistors employed in logic cell blocks in order to maintain the circuit switching speed in spite of decreasing V DD levels [1] . The Multi-Threshold CMOS (MTCMOS) technique can significantly reduce the subthreshold leakage currents during the circuit sleep (standby) mode by adding high-V th power switches (sleep transistors) to low-V th logic cell blocks [2] [3] . This is because the stacked high-V th sleep transistor connected to the bottom of the pull-down network of all logic cells in the circuit acts as a high-resistance element during the sleep mode, which limits the leakage current from V dd to ground lines. At the same time, because of the stack effect, the subthreshold leakage of the low-V th transistors in the logic block itself goes down. This leakage reduction is preferably achieved with small performance degradation because, during the active mode of the circuit, the sleep transistor is fully on (i.e., it operates in the linear mode), and thus, all low-V th logic cells in the MTCMOS logic block can switch very fast.. Unfortunately, the situation is different in real designs. More precisely, during the active mode of the circuit operation, the high-V th sleep transistor acts as a small linear resistance placed at the bottom of the transistor stack to ground, causing the propagation delay of the cells in the logic block to increase. In addition, the virtual ground network itself acts as a distributed RC network, which causes the voltage of the virtual ground node to rise even further, thereby degrading the switching speed of the logic cells even more (cf. Fig.1 .) The former effect is a function of the size of the sleep transistor whereas the latter effect is a function of the physical distance of the logic cell from the sleep transistor. Figure 1 (a) depicts a logic block, LB, in which a group of low-V th logic cells are first connected to the virtual ground node and then through a high-V th sleep transistor, S, to the actual ground, GND [2] . Figure 1 (b) models the virtual ground interconnection and the high-V th sleep transistor, which behaves like a linear resistor in the active mode of the circuit operation [4] , as resistors R i and R s , respectively. The virtual ground is at voltage V x above the actual ground, i.e., ( ). where I is the current flowing through the virtual ground sub-network and the sleep transistor. The voltage drop across R s + R i reduces the gate overdrive voltage of MTCMOS logic cells (i.e., their V gs value) from. In this paper, we present an optimal algorithm for placing sleep transistors for the standard cell-based layout design, which minimizes the performance degradation of MTCMOS circuits due Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. to the interconnect resistance of the virtual ground network. We discuss previous works in section 2, introduce the problem formulation and the proposed method in section 3 and 4, respectively. Then, we present experiment results in section 5 and conclude in section 6. An optimal sleep transistor cells placement methodology for MTCMOS circuits was presented. The presented algorithm provides optimal locations of sleep transistor cells for the standard cell-based layout design so that the performance degradation of MTCMOS circuit due to the interconnect resistance of the virtual ground network is minimized.

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


Designing interfaces for explicit preference elicitation: a user-centered investigation of preference representation and elicitation process Abstract Two problems may arise when an intelligent (recommender) system elicits users' preferences. First, there may be a mismatch between the quantitative preference representations in most preference models and the users' mental preference models. Giving exact numbers, e.g., such as "I like 30 days of vacation 2.5 times better than 28 days" is difficult for people. Second, the elicitation process can greatly influence the acquired model (e.g., people may prefer different options based on whether a choice is represented as a loss or gain). We explored these issues in three studies. In the first experiment we presented users with different preference elicitation methods and found that cognitively less demanding methods were perceived low in effort and high in liking. However, for methods enabling users to be more expressive, the perceived effort was not an indicator of how much the methods were liked. We thus hypothesized that users are willing to spend more effort if the feedback mechanism enables them to be more expressive. We examined this hypothesis in two follow-up studies. In the second experiment, we explored the trade-off between giving detailed preference feedback and effort. We found that familiarity with and opinion about an item are important factors mediating this trade-off. Additionally, affective feedback was preferred over a finer grained one-dimensional rating scale for giving additional detail. In the third study, we explored the influence of the interface on the elicitation process in a participatory set-up. People considered it helpful to be able to explore the link between their interests, preferences and the desirability of outcomes. We also confirmed that people do not want to spend additional effort in cases where it seemed unnecessary. Based on the findings, we propose four design guidelines to foster interface design of preference elicitation from a user view. Web technology and computational intelligence enable the development of systems that assist users in tasks that are cognitively demanding. These smart systems are becoming essential tools for people to deal with information overload, huge search spaces and complex choice sets in different domains, such as product or service recommendations (Adomavicius and Tuzhilin 2005) or decision support e.g. in health care, real estate, jobs or divorce negotiations (Johnson et al. 2005; Bellucini and Zeleznikow 2006) . Whereas a substantial amount of research in the field of recommender and decision support systems focuses on recommendation algorithms, formal representations and reasoning mechanisms, little research addresses the design of the user interfaces of these systems. Recently, see e.g., the work of Knijnenburg et al. (2012) in this issue, the importance of the user interface design and its effects on the user experience of recommender systems has been emphasized. The interface between the user and the system plays a major role in acceptance of the systems as well as the user's trust and satisfaction (Pu and Chen 2007; Pu et al. 2012) . In particular, the method and the interface designed to elicit user preferences influences decision accuracy and the intention to return (Chen and Pu 2009 ).. Smart systems need accurate preference models to be able to give useful advice to the user. A preference elicitation interface needs to extract information from the user's mental representation of that preference and translate it into a representation the system can reason with. Preference modeling thus always involves three components: mental representation, elicitation and the system's preference representation. In this article, we focus on the middle part: the preference elicitation interface. Two key issues in preference elicitation are (1) a potential mismatch between the user's mental model of his or her preferences and the system's preference representation and (2) the influence of the elicitation process on the created preference profile. The first issue is a result of the discrepancy between the rational, quantitative models used in systems and the constructive, qualitative mental models of people. Whereas rational models assume that people have stable and coherent preferences that are always known to them, people rather construct their preferences as they go along in the decision task. In addition, it is difficult for people to express their preferences in numerical attribute weights and values as needed by automated systems, particularly if they are not experts in the domain. Whereas people might easily state that they prefer, e.g., more holidays to less holidays specifying this relation in concrete numbers, such as "I like 30 holidays 2.5 times as much as 28 holidays" is not intuitive.. The nature of how humans construct their preferences leads to the second issue, namely that the method or process employed to extract preference information from the user influences the preferences the user constructs. Preference construction can be influenced by the decision context, the framing of the choice task and the way relevant information is presented. This has to do with psychological effects (Fischer et al. 1999; Johnson et al. 2005 ), e.g., loss aversion (the tendency of people to prefer avoiding losses to acquiring gains) or anchoring effects (relying too heavily on one piece of information), the emotions induced or earlier experiences retrieved from memory when the elicitation question is posed (Weber and Johnson 2006) . The fact that the process of eliciting preferences (e.g., giving information about choices and asking a number of valuation questions) influences the construction of preferences should be taken into account when designing a preference elicitation interface by actively supporting this process. Active involvement in the construction process and a user interface design leading to a positive user experience (Knijnenburg et al. 2012 ) during the elicitation as well as an understanding and trust in the system's output later on (Carenini and Poole 2002 ) is important for the success of recommender systems.. Our work focuses on informing the design of preference elicitation interfaces from a user-centered point of view. In this paper we present three studies that explore how we can bridge the gap between users' mental models and a system's representation of the preferences and how the constructive nature of human preferences can be supported in an interface. We combined experimental as well as qualitative research involving users in the design process to be able to create a number of design guidelines for such interfaces.. In the first experiment we investigated input methods and elicitation process in a structured way. We presented users with different ways of entering preferences, including ratings (Likert scale rating), affective feedback, and sorting, both on an item (i.e., a complete holiday) as well as attribute (i.e., beach, mountain, active, etc.) basis. Based on the results of this experiment we hypothesized that users are willing to spend more effort if the feedback mechanism (i.e., process and preference representation) enables them to be more expressive (e.g., by giving more dimensional feedback or navigating through the outcome space). We examined this hypothesis in two followup studies. In the second experiment we explored the trade-off between giving detailed preference feedback and effort. We investigated factors, such as content type, familiarity, ownership and directed opinion (positive or negative), that may influence this tradeoff in an experimental setup. In a third study we explored how people prefer the preference elicitation process to be structured using hi-fi interface prototypes and a participatory design method. We looked at four fundamentally different processes of eliciting preferences based on different ways to process information. We used the mind style theory by Gregorc (2006) which categorizes people based on perceptual and ordering preference. Perceiving information can be abstract (based reason and intuition) or concrete (using one's senses). The order of information processing can be sequential or random. Thus there are four types to process information: concrete sequential, concrete random, abstract sequential and abstract random. We built one interface prototype per style and evaluated the prototypes in individual user sessions followed by a creative design session with all users. Based on the results of all three experiments we constructed a number of design guidelines to support further development of preference elicitation interfaces.. The experiments will be discussed in sects. 3 to 5. Section 6 discusses the results and presents the guidelines and Sect. 7 concludes the article. But first, we will give an extensive background on how people construct their preference, how current systems elicit them, and how well the theory matches to the practice. The importance of preference models for intelligent systems of different sorts (e.g., recommender systems, decision support systems) has long been acknowledged by researchers. However, focus within the area of preference modeling has been mainly on algorithms for computing preferences (elicited in form of numbers and weights) and system representations. A group of researchers has lately focused on designing methods for preference elicitation from a user's point of view, that are in accordance with behavioural decision making theories (constructive preferences). More research in this direction is needed to give researchers and practitioners a good understanding of how to design trustworthy preference elicitation interfaces, that involve users in the process of constructing their own profile that reflects true preferences. We have pointed to two main difficulties that still exist, namely matching people's mental models and the influence of the elicitation process on the elicitation outcome. Furthermore, our studies showed that affective factors are important to consider in preference elicitation. The results suggest that more research in this direction seems worthwhile. With the studies presented in this paper we have only done a first step towards an optimal design of preference elicitation interfaces. However, we believe that the results we obtained from tackling the problem in different ways (with structured experiments and explorative, participatory research) help in advancing the research on interface design for preference elicitation and encourage others in the field to follow that route. Our own research agenda includes usability testing of the interface design obtained from the third study as well as investigating the links between underlying values and attribute preferences. Before analyzing the data in detail we checked for any effects of the experimental setup. First, we found that items rated in the last half had an average level of detail equal to 1.8, while in the first half this was equal to 1.9. This indicates that participants gave less feedback later in the experiment, which can be attributed to the time it took (30 min) to rate the 60 stimuli. However, as the effect is rather small, this poses no problems for interpreting those items rated later. Second, we found a healthy distribution of thumbs-based feedback about items (26, 40 and 34% of the cases were rated as bad, neutral or good respectively). The fact that 40% were rated as neutral and 60% with a positive or negative opinion allowed us to use opinion as factor in the analysis. Third, we found positive correlations (all correlations significant and r > 0.7) between the ratings entered in levels 1-3 indicating that users were consistent when rating an item with different input methods (thumbs, stars or AffectButton).. In the further analysis we focused on main effects, as familiarity, ownership and opinion are not experimental controlled variables. Ratings were aggregated per subjectXfactor, averaging over the rated levels of detail, resulting in 41 paired measurements per main effect analysis. We interpreted familiarity ratings < 2 as unfamiliar and ≥ 2 as familiar. For the factor opinion we differentiated between directed opinions (thumbs-up and thumbs-down ratings) and neutral.. Our hypotheses were confirmed with respect to the influence of ownership, opinion and familiarity, and to a lesser extend the influence of content.. Subjects rated familiar items (M = 2.12, SD = 0.87) with more detail (paired t(40) = −5.19, p < 0.001) than unfamiliar items (M = 1.72, SD = 0.75). Items that are owned are rated (M = 2.19, SD = 0.88) with more detail (paired t(37) = − 4.12, p < 0.001) than items that are not owned (M = 1.83, SD = 0.78). These two effects might influence each other, owned items have a much higher chance of also being familiar. For these two factors we checked the interdepency using a 2×2 repeated measured ANOVA, and this showed indeed that when taking both factors into account, only ownership remained a significant factor (F(1, 37) = 25.2, p < 0.001), and familiarity did not (F(1, 37) = 2.78, p = 0.104). The interaction effect was not significant (F(1, 37) = 0.20, p = ns). When subjects had a positive or negative opinion (M = 1.98, SD = 0.79), they rated with more detail (paired t(40) = − 5.77, p < 0.001) than when they had no opinion (neutral) (M = 1.60, SD = 0.75)). Further analysis revealed that a positive opinion was related to rating with the highest amount of detail (M = 2.10, SD = 0.81), followed by negative opinion (M = 1.85, SD = 0.77), and no opinion having the lowest detail (M = 1.57, SD = 0.73). All differences were significant in paired t-tests at the level of p < 0.01.. We did find a significant effect of content type (paired t(40) = − 2.58, p = 0.014). However, the difference was small. Music (M = 1.91, SD = 0.73) was scored with only a little bit more detail than images (M = 1.78, SD = 0.80). This means that, although the effect of type of content was significant, the effect was relatively small compared to the effects of the other three factors (a difference in means of about 0.13 compared to around 0.40 for the other factors). The tendency to give detail seems to be a factor that should be explained from within the subject, an important finding in light of preference elicitation.. Finally, we show the distribution of the level of detail used to rate cases in Fig. 7a and Fig. 7b . Each bar in Fig. 7a represents the number of cases rated with a level of feedback (so, if a user stopped at level 3, he/she rated the item with level 1, 2 and 3; explaining why 100% of the cases was scored with at least level 1, as this was obligatory) split between having an opinion (positive or negative) or not having an opinion. Fig. 7a shows an overall trend for using more feedback when a positive or negative opinion is present. Most notably, in about 40% of the cases where a positive or negative opinion is present, affective feedback (level 3) was used to express more detail. Figure 7b shows the distribution of highest level of detail used. Each bar represents the number of cases at which a user stopped giving feedback (so, if a user stopped at level 3, it is counted under level 3 only). In general, Fig. 7b shows that the majority of cases was scored using only thumbs-based feedback. Interestingly, more cases ended with affective feedback then with stars-feedback, indicating that when more feedback is given, a preference exists for giving multidimensional affective feedback (although this difference was not statistically significant in a paired T-test comparing the number of times raters stopped at level 2 versus level 3, (paired t(40) = − 1.15, p < 0.256)). Finally, our results show that text input was used least often by the participants. As described by others, e.g. Ames and Naaman (2007) , incentives for tagging often have a social basis, e.g., to help others in a community to find content. The lack of community-based motivators in our study may be one of the reasons for low tagging responses. Therefore, the outcomes with regard to tagging as a feedback level may be less representative for preference feedback in general.. During the individual sessions, the informal interviews and the group discussions we gained detailed feedback on the four prototypical interfaces as well as new ideas, including tips and new combinations of the interface elements. In order to extract the feedback from the collected data we annotated the recordings from the individual sessions using NVivo (www.qsrinternational.com) . Based on the annotations we created a table with feedback on each prototype per participant. In addition, we made a list of observations of how users used the prototypes and a list of new ideas that were discussed in the individual and the collaborative session. Next, we will elaborate on the main findings that are relevant for designing preference elicitation interfaces. Table 4 shows the positive and negative comments per element. For a more detailed description of the feedback per interface element, we refer to our previously published work (Pommeranz et al. 2010) . Some of the interface elements had obvious usability issues, e.g., the checkboxes in the decision matrix which were not interactive. These were due to programming difficulties or time constraints during the creation of the prototypes. As we already anticipated some of these issues before conducting the study, a researcher was present during the study to clarify such issues whenever a participant seemed to have a problem. We asked the participants to focus on the fit of the different elements for entering preferences. We also asked for constructive feedback on improving and combining the elements once the users understood how the elements worked. Regardless of the interface elements used, an important aspect for our participants was the ability to explore the link between their preference input and the desirability of outcomes (in this case job offers). An element that the participants found highly useful for this exploration were the ValueCharts, because they give immediate visual feedback while keeping details about the selected interests/issues. Another well-liked element supporting the construction of preferences was the post-it note. Furthermore, using default profiles was anticipated since it gets the elicitation process started more easily than starting from scratch. Based on a given profile a number of common preferences can already be displayed. Carefulness needs to applied with designing the interface in this case. Most people had trouble fitting themselves into one of the four given profiles. Therefore, a more flexible input of the separate interests should be possible. During the collaborative session several ideas were mentioned to create a more flexible input of interests, e.g., using a questionnaire, pictures combined with sliders for importance or the virtual agent.. This feedback was also reflected in the new preference elicitation interfaces that the two groups designed in the second part of the collaborative session. The results are depicted in Fig. 13 .. Both groups were in favor of having three views on their preferences, i.e., the underlying interest profile, the issue preferences including an importance ranking and values for each issue, and a number of job offers representing the decision context. Whereas group 1 left it all up to the user where to start in the interface and which views to maximize/minimize, group 2 focused on (stable) underlying interests in the first step before giving a number of preferences in the context of example job offers.. Regarding our hypothesis (users are willing to spent more effort if the feedback mechanism (process and preference representation) enables them to be more expressive) we can conclude that people are indeed willing to spend more time on investigating the links between their interests, issue preferences and outcomes (jobs). This was mentioned by the participants and observed by the researcher during the study.. The participants emphasized that it allows them to be more in control of creating their own preference profile, which will then be used by the system. Having that level of control and understanding of the system's model was anticipated by the participants (see similar results on user control in Pu et al. (2012) ). We believe, this shows the importance of supporting this constructive process in order to make the outcome of the system comprehensible and trustworthy. However, participants also expect the system to support them during this exploration of links where possible, e.g., by offering default preferences based on profiles and by giving immediate visual feedback while adjusting the different elements. This shows that they are not willing to spend much time on cognitively demanding tasks that do not seem necessary (e.g., creating every single post-it). Whereas most work described in the previous subsections focuses on different techniques in which a system can either explicitly or implicitly arrive at a preference model, our work focuses strongly on the design of preference elicitation interfaces, in particular for explicit preference elicitation. Naturally, the interface design is also determined by the interaction style or technique that is chosen. However, besides that, we believe that there is much room for improvement and greater support of the way in which humans construct their preferences. This constructive view has been acknowledged by others who also established a number of guidelines for preference elicitation (Payne et al. 1999; Pu and Chen 2008; Pu et al. 2003 Pu et al. , 2012 . Our work is intended to build on this work by extending the number of guidelines in order to help other designers. However, our work differs as it focuses on a number of issues neglected in the current literature. These include: (1) an in-depth investigation of interface elements considered appropriate and preferred by people for entering preferences, (2) the match of the acquired input with input required by algorithms currently used to create a system representation of the preferences, (3) intrinsic motivational factors that lead people to spend more effort to give more detail about a preference and (4) ways to structure the process of preference construction by the design of an interface based on different information processing styles. Investigating these aspects required close interaction with target users. In our view, when designing new preference elicitation interfaces a participatory design process will lead to a greater understanding of interface aspects that would not be acquired with user evaluations of finished prototypes. The majority of the work presented above does not follow such an approach. Most closely related to our work is the work by Barneveld and Setten (2004) , who also involved users actively in the design phase of a TV recommender system with the means of brainstorming and interactive design sessions. Furthermore, they also investigated which interface widgets would be preferred by users to give preference input. Our work differs from theirs as we looked more at different types of input (rating, ordering, affective, navigation in the first study and higher level elements, e.g., a chat, in the third). In addition, whereas they focused on a design for one particular domain (TV) our work aims at a general understanding of how to design preference elicitation for different types of systems and different user groups. In the following sections we will describe our studies in detail. People's preferences have been the interest of researchers in many different fields including psychology, (behavioral) decision making, consumer research, e-commerce, intelligent systems as well as negotiation and decision support. We focus on topics relevant for designing user interfaces for preference elicitation for intelligent systems. In the following sections we give insights into (1) how people construct their preferences (the process we need to support with preference elicitation interfaces), (2) the state-of-the-art in preference elicitation interfaces and (3) how the latter take the human preference construction into account.

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


Recognizing overlapped human activities from a sequence of primitive actions via deleted interpolation The high-level recognition of human activity requires a priori hierarchical domain knowledge as well as a means of reasoning based on that knowledge. Based on insights from perceptual psychology, the problem of human action recognition is approached on the understanding that activities are hierarchical, temporally constrained and at times temporally overlapped. A hierarchical Bayesian network (HBN) based on a stochastic context-free grammar (SCFG) is implemented to address the hierarchical nature of human activity recognition. Then it is shown how the HBN is applied to different substrings in a sequence of primitive action symbols via deleted interpolation (DI) to recognize temporally overlapped activities. Results from the analysis of action sequences based on video surveillance data show the validity of the approach. The automated real-time understanding of human activities from a video sequence is a topic of growing interest in recent times. In the field of video surveillance, detecting suspicious activity in real-time would mean stopping crimes while they are happening or even before they happen. In application to human-computer interfaces, computers could adjust according to the activity context of the user. An intelligent system that recognizes high-level human activities offers a wide range of applications to aid people in everyday activities.. To implement a system that recognizes human activities, our task is two-fold. First, we need a psychological framework for characterizing human activity. Second, we need a computational method of analyzing those activities.. The characteristics of human activities can be learned from perceptual psychology. 22 Activities are hierarchical. They are organized, existing at various levels of abstraction. For example, walking and running are a type of moving. Activities are also partonomical meaning that primitive actions are temporally ordered (sequential). For example, the activity of leaving an object in a room might consist of a sequence of primitive actions: (1) enter the room, (2) put down the object and (3) exit the room. Activities can also be temporally overlapped. For example, the transition of a person walking through a room might overlap with the activity of the person departing from the room. From our perspective, it is difficult to identify the exact time at which the activity walking through has ceased and when the activity departing has started. Thus there is an inherent ambiguity at transitions between human activities which should be represented by a cognitive system. To address the latter half of the problem, namely the computational recognition of human activities from a sequence of video images, we need an efficient method of incorporating the characteristics of activity mentioned above. The recognition system must encode hierarchical information, capture temporally constrained activities and accurately represent temporally overlapped activities.. Our contribution lies in the novel application of deleted interpolation (DI) -a smoothing technique used in natural language processing -for recognizing temporally overlapped activities. This paper addresses the issue of hierarchical structure by implementing a stochastic context-free grammar (SCFG). We convert the SCFG into a Bayesian network (BN) to create a hierarchical Bayesian network (HBN) which enables us to execute more complex probability queries across the grammar. We then apply the HBN via DI to a string of observed primitive action symbols to recognize various activities, especially those that are overlapped.. It is noted here that we are not directly addressing the issue of extracting symbols from a video sequence. Instead, we assume that a set of reliable low-level observations (e.g. appearance and movement attributes) are available to us, allowing us to focus on building up a scheme for activity recognition. Furthermore, the method of grammar creation is not the focus of this paper and therefore the grammar has been created heuristically.

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