Efficient data structure for representing and simplifying simplicial complexes in high dimensions We study the simplification of simplicial complexes by repeated edge contractions. First, we extend to arbitrary simplicial complexes the statement that edges satisfying the link condition can be contracted while preserving the homotopy type. Our primary interest is to simplify flag complexes such as Rips complexes for which it was proved recently that they can provide topologically correct reconstructions of shapes. Flag complexes (sometimes called clique complexes) enjoy the nice property of being completely determined by the graph of their edges. But, as we simplify a flag complex by repeated edge contractions, the property that it is a flag complex is likely to be lost. Our second contribution is to propose a new representation for simplicial complexes particularly well adapted for complexes close to flag complexes. The idea is to encode a simplicial complex K by the graph G of its edges together with the inclusion-minimal simplices in the set difference Flag(G) \ K. We call these minimal simplices blockers. We prove that the link condition translates nicely in terms of blockers and give formulae for updating our data structure after an edge contraction. Finally, we observe in some simple cases that few blockers appear during the simplification of Rips complexes, demonstrating the efficiency of our representation in this context. As datasets are growing larger in size and in dimension, simplicial complexes built upon these data become gigantic, challenging our ability to extract useful and concise information. In particular, storing all simplices becomes prohibitive. A way to overcome this difficulty is reducing the size of the simplicial complex prior to analysis. During that process, it is desirable to preserve the homotopy type.. In this work, we focus on the simplification of a particular class of simplicial complexes, likely to be encountered in high dimensional data analysis and manifold learning. Specifically, we are interested in flag complexes also known as clique complexes that have the property of containing simplices wherever the adjacency of vertices permit one. Precisely, the flag complex of a graph G is the largest simplicial complex whose 1-skeleton is G. Obviously, flag complexes are completely determined by their 1-skeletons, which provide a very light form of storage. A standard way of building the 1-skeleton of a flag complex is to consider the proximity graph of a point cloud. The flag complex of such a graph is called a Rips complex. In the light of recent results [1, 2] , Rips complexes seem to be good candidates for reproducing the homotopy type of the shape sampled by the point cloud. In this context, simplification can be used as a preprocessing phase for reducing, for instance, the cost of computing topological invariants such as Betti numbers [6, 12] ).. Following what has been done within the computer graphics and visualization communities, one can consider several elementary operations for simplifying a simplicial complex: vertex removal [14] , vertex clustering [13] , triangle contraction [8] . We primarily concentrate here on edge contraction, the operation that consists in merging two vertices. It was used in the pioneering work of Hoppe et al. [9] for generating progressive meshes and has been intensively studied ever since. Garland and Heckbert [7] proposed an elegant way of prioritizing edge contractions for surface simplification. Dey et al. [4] introduced a local condition called the link condition that characterizes edge contractions that permit a homeomorphic modification of 2-and 3-manifolds.. It would be tempting as we repeatedly apply edge contractions on a flag complex to keep its nature of flag complex, thus preserving its light form of storage along the simplification process. As already observed in [16] and confirmed by our first experiments, this seems to be "almost" possible. Indeed, Zomorodian uses a representation by simplicial sets that allows him to collapse any edge while keeping the homotopy type unchanged. He observed that, along the simplification process, most cells remain regular simplices. We suggest here another strategy that will preserve the representation by simplicial complexes along the simplification.. Our first contribution is the proof that the link condition introduced in [4] can also be used to guarantee homotopy-preserving edge contractions in arbitrary simplicial complexes. Our second contribution is to introduce a new data structure well-adapted for high-dimensional simplicial complexes which are "almost" flag complexes. Besides the 1-skeleton, we encode parsimoniously how the complex differs from the flag complex of its 1-skeleton. Precisely, we represent any simplicial complex K by its 1-skeleton G together with the set of inclusion-minimal simplices in the set difference Flag(G)\K. These minimal simplices are called blockers. The intuition is that simplicial complexes "close" to flag complexes will have a small amount of blockers.. We show that the link condition translates nicely in terms of blockers in our new data structure and give an explicit expression of the blockers created (and destroyed) during an edge contraction. We have implemented the data structure and the edge contraction operation. Our first experiments indicate that the simplification of Rips complexes in some simple cases and using a reasonable strategy for prioritizing edge contractions leads to the apparition of very few blockers. This seems to make the proposed representation efficient in practice.

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


Efficient Management of Multi-Linked Negotiation Based on a Formalized Model Abstract. A Multi-linked negotiation problem occurs when an agent needs to negotiate with multiple other agents about different subjects (tasks, conflicts, or resource requirements), and the negotiation over one subject has influence on negotiations over other subjects. The solution of the multi-linked negotiations problem will become increasingly important for the next generation of advanced multi-agent systems. However, most current negotiation research looks only at a single negotiation and thus does not present techniques to manage and reason about multi-linked negotiations. In this paper, we first present a technique based on the use of a partial-order schedule and a measure of the schedule, called flexibility, which enables an agent to reason explicitly about the interactions among multiple negotiations. Next, we introduce a formalized model of the multi-linked negotiation problem. Based on this model, a heuristic search algorithm is developed for finding a near-optimal ordering of negotiation issues and their parameters. Using this algorithm, an agent can evaluate and compare different negotiation approaches and choose the best one. We show how an agent uses this technology to effectively manage interacting negotiation issues. Experimental work is presented which shows the efficiency of this approach. Multi-linked negotiation describes a situation where one agent needs to negotiate with multiple agents about different issues (tasks, conflicts, or resource requirements), and the negotiation over one issue affects the negotiations over other issues. In a multi-task, resource-sharing environment, an agent needs to deal with multiple, related negotiation issues including: tasks contracted to other agents, tasks requested by other agents, external resource requirements for local activities, and interrelationships among activities distributed among different agents.. Consider the following example shown in Figure 1 , which is a simplified supply chain containing four agents. The Consumer Agent represents the environment that generates tasks to be completed by the other three agents. When a new task is generated by the Consumer Agent, it indicates how much it is worth and its deadline. When the Computer Producer Agent receives task Purchase Computer from the Consumer Agent, it also needs to sub-contract parts of the task Get Hardware and Deliver Computer to the Hardware Producer Agent and the Transporter Agent, respectively. The following three negotiations are interrelated: the negotiation between the Computer Producer Agent and the Consumer Agent on task Purchase Computer, the negotiation between the Computer Producer Agent and the Hardware Producer Agent on task Get Hardware, and the negotiation between Computer Producer Agent and the Transporter Agent on task Deliver Computer.. How can the agent deal with these interrelated negotiations? One approach is to deal with these negotiations independently ignoring their interactions. 1 If these negotiations are performed concurrently, there could be possible conflicts among the solutions to these negotiations; hence the agent may not be able to find a combined feasible solution that satisfies all constraints without re-negotiation over some already ''settled'' issues. For example, in Figure 1 , suppose the Computer Producer Agent negotiates with the Consumer Agent and promises to finish Purchase Computer by time 20, and concurrently the Computer Producer Agent also negotiates with the Transporter Agent about task Deliver Computer and gets a contract that task Deliver Computer will be finished at time 30, then the Computer Producer Agent will find it is impossible for task Purchase Computer be finished by time 20 given that its subtask Deliver Computer will not be finished until time 30.. To reduce the likelihood that this type of conflict occurs, these negotiations could be performed sequentially; the agent deals with only one negotiation at a time, and later negotiations are based on the results of earlier negotiations. This sequential process, however, is not a panacea. First of all, the negotiation process takes much longer when all the negotiations need to be negotiated sequentially, potentially using up valuable time (delaying when problem solving can begin) and reducing the potential solution space. For example, in Figure 1 , suppose the deadline for completion of task Deliver Computer is 20, the same as task Purchase Computer. If the negotiation on task Deliver Computer starts at 10 and finishes at time 12, then the execution of task Deliver Computer can only start after time 12. However, if the negotiation on task Deliver Computer starts at time 3, there is a larger time slot for the execution of task Deliver Computer; hence, it is easier for the negotiation on task Deliver Computer to succeed. Additionally, when the negotiation deadline is taken into consideration, a negotiation started later may lose any chance of success. For instance, in Figure 1 , suppose the Consumer Agent associates a negotiation deadline of 8 with the proposal of task Purchase Computer, if the Computer Producer Agent replies to this proposal later than time 8 because it wants to settle its other negotiations first, it cannot get the contract on task Purchase Computer accepted.. Second, even if all the negotiations are sequenced, there is no guarantee of an optimal solution or even of any possible solution. This problem can occur if the agent does not reason about the ordering of the negotiations and just treats them as independent negotiations, with their ordering being random. In this situation, the results from the previous negotiations may make later negotiations very difficult or even impossible to succeed. For instance, in Figure 1 , if the Computer Producer Agent first negotiates about task Purchase Computer before starting the negotiations on task Get Hardware and task Deliver Computer, and the promised finish time of task Purchase Computer results in tight constraints on the negotiations on task Get Hardware and task Deliver Computer, these negotiations may fail and the commitment on task Purchase Computer would have to be decommitted from.. One additional problem is caused by the difficulty in evaluating a commitment given that the result of later negotiations are unknown, and thus making it harder for an agent to find a local solution that will contribute effectively to the construction of a good global solution. For example, in Figure 2 , agent A has two non-local tasks (the tasks that are performed by other agents), task Ta12 contracted to agent B and task Ta21 contracted to agent C. There is a ''facilitates'' relationship from Ta12 to Ta21. If Ta12 could be finished before Ta21 starts, it would reduce the processing time of Ta21 by 50%. Suppose agent A first negotiates with agent C and then negotiates with agent B; as a result of the negotiation with agent C, it is decided that Ta21 starts at time 20 and finishes by time 40, but then it is found through the negotiation with agent B that task Ta12 could only be finished by time 25. Given this later information, if the start of Ta21 is delayed to time 25, Ta21 actually could be finished at time 35 because of the facilitates effect. This solution would not be found, however, if the agent ignores the interactions among these negotiations.. These previous examples indicate how important it is for an agent to reason about the interactions among different negotiations and manage them from a more global perspective. If done effectively, this permits the agent to minimize the possibility of In this paper, we defined the multi-linked negotiation problem and demonstrate how an agent could deal with the multi-linked negotiation problem. Multi-linked negotiation deals with multiple negotiations, where these negotiations are interconnected -the negotiation over one issue affects other negotiations. To solve a multilinked negotiation problem, the agent needs to find out in what order the negotiations should be performed, and how to negotiate on each issue to avoid conflict among them. First, we construct a partial order schedule, which allows the agent to reason about time-related constraints and flexibility on each issue. This reasoning process is important for the agent to perform conflict-free negotiation and manage flexibility in negotiation. Furthermore, we presented a formalized model of the multi-linked negotiation problem that enables the agent to represent and reason about the relationships among different negotiations explicitly. Using this model, a heuristic search algorithm is developed to that finds the nearly optimal approach in reasonable time. Experimental work shows that this management technique for multi-linked negotiation leads to improved performance over other simpler approaches.. In this work, we model the success probability as a function that depends on a set of features, but we have not worked out how the agent can construct such a function. In the future, we'd like to use meta-level information and learning technologies for an agent to construct and adjust the structure of this function. Also, the model and the algorithm presented here are for individual agents, to extend this model to a multi-agent system is another direction of our future work. Additionally, in this work, the result of the negotiation is limited to two outcomes: ''success'' or ''fail''. Actually, when negotiation is successful, there are potentially many different outcomes depending on the parameters in the commitment, such as different promising finish times. Depending upon the different outcomes, the agent can adjust its other negotiations that are related to this negotiation. The negotiation process can be EFFICIENT MANAGEMENT OF MULTI-LINKED NEGOTIATION 18. Outside earliest start time for task t is the earliest possible start time decided by the problem-solving context. As a given parameter, it is not changeable during the partial order reasoning process. For example, if the current time is 15, the task cannot start before time 15. In a similar way, the outside deadline constraint is the task's deadline decided by the problem solving context. 19. Partial order schedule is a representation and reasoning tool of a group of tasks and their interrelationships. It is not an executable schedule for the agent. To translate a partial-order schedule to an executable linear schedule, there are two different assumptions: the task is interruptible or noninterruptible. The interruptible execution assumption is that the agent can switch to another task during the execution of one task, and it can switch back at some point and continue the execution of the incomplete task. The non-interruptible execution assumption does not allow execution of a task to be split into parts. In this work we adopt the interruptible execution assumption, however, we also do not consider there is cost for interrupting and resumption of a task. 20. This function describes a phenomenon where initially the likelihood of a successful negotiation increases significantly as the flexibility grows, and then levels off afterwards. This function mirrors our experience from the experiments in Section 6.3, which shows that after a certain point, additional flexibility does not significantly improve the success probability. Obviously this function could be affected by the meta-level information from the other agent. 21. Using a t-test, with the 0.001 alpha-level, the following hypothesis H o is rejected: when using the decision-based approach, Computer Producer Agent achieves an extra utility that is equal to 100% of the utility gained when using the sequenced negotiation strategy, and 78% of the utility gained when using parallel negotiation strategy, compared to the hypothesis H a : when using the decision-based approach, Computer Producer Agent achieves an extra utility that is more than 100% of the utility gained when using the sequenced negotiation strategy, and 78% of the utility gained when using parallel negotiation strategy. 22. Using a t-test, with the 0.01 alpha-level, the following hypothesis H o is rejected: when using the flexibility policy, Computer Producer Agent achieves an extra utility that is equal to 64% of the utility gained when using the Earliest Finish Time Policy, compared to the hypothesis H a : when using the flexibility policy, Computer Producer Agent achieves an extra utility that is more than 64% of the utility gained when using the Earliest Finish Time Policy . 23. There has been some recent work on preference elicitation [11] that potentially could reduce the number of bids need to be sent. However, it is our intuition that to make this preference elicitation process successful, it would need the similar type of reasoning process as shown in our work.. Algorithm A.2 Evaluate a negotiation schedule with all possible feature assignments and find the best feature assignments and the best value. Input: negotiation schedule /, a set of valid feature assignments x ¼ fu k g, k ¼ 1; . . . ; m.. Output: the best value with the best feature assignment. Generate all valid negotiation orderings f/ i g; To our knowledge, there is no other work that has addressed the directly linked relationship in the negotiation process. There is some work that takes into account the indirectly linked relationship among multiple negotiations such as the distributed meeting scheduling [12] problem and the distributed resource allocation problem [2] . However, those problems are different from our problem in the following ways: the negotiation is cooperative by nature and the agent can altruistically withdraw its request to help others succeed; the tasks are simple, no need for subcontracting; no time pressure on negotiation and no penalty for decommitment. The negotiation problem presented in this paper is much more complicated. Additionally, in these works, the agents do not explicitly reason about the relationships among different negotiations, in order to propose offers or counter-offers (choose the appropriate parameters in the offer) to minimize the conflict and optimize the combined outcome. The ordering of different negotiations is not taken into consideration in either of these approaches, which we feel is important for the agent to find a good negotiation approach. Sandholm [9] has developed a complex contract type -''clustering-swap-multi-agent'' that allows tasks to be clustered, and then swapped between agents and even circulated among agents. This work deals with indirectly linked negotiations by introducing complicated contract types, however it does not reason about the interrelationship among tasks and the influence of the temporal constraints on tasks as in our work. A combinatorial auction could be another approach to multi-linked negotiation problem, in which there are multiple items for sale, participants who may place bids on arbitrary subsets of those items, and an auctioneer who must determine which awardable combination of bids maximizes revenue. It allows agents to select a shared plan for the group through a distributed computation process [6] . It is also used to form a supply chain [15] . However, we do not feel that combinatorial auction is a panacea for this multi-linked negotiation problem or a better approach than the approach we described in this paper given the following reasons.. First of all, in combinatorial auction, the agent does not reason about the ordering of negotiations, since all items are announced at the same time, meaning all issues are negotiated concurrently. However, this assumption does not fit with the directly linked negotiation situation. For instance, in this PCT example shown in Figure 16 , the Computer Producer Agent receives a task proposal Purchase Computer (A) from the Consumer Agent. To accomplish this task, the Computer Producer Agent needs to subcontract task Get Hardware (B) and task Deliver Computer (C). If we put this example into the combinatorial auction framework, we will find that there is no way that these three negotiation issues A, B, and C can be performed concurrently without conflict. Using the combinatorial auction model with time constraints [6] , the Computer Producer Agent needs to first announce the two tasks Get Hardware and Deliver Computer, and wait for other agents to bid for these two tasks, and then select the combined bids with consistent time constrains and minimized cost. Based on these selected bids, the Computer Producer Agent can go back to negotiate with the Consumer Agent. Using this model, the ordering of negotiations A, B and C is always (B,C) ! A. This could be a solution, but by no means to be the best solution under all circumstances. As we have analyzed before and also as the experimental results shown, the agent should dynamically choose the negotiation ordering based on the negotiation deadlines, decommitment penalties, the estimations of successful probabilities, and other environmental context so as to maximize the expected utility. However, the combinatorial auction model neither reasons about these attributes nor provides the agent with the flexibility to choose from different negotiation orderings. This limitation prevents the agent from finding a better negotiation solution.. Second, the agent using a combinatorial auction model neither actively reasons about the interrelationships among these related negotiation nor tries to direct the negotiations to a hopefully optimal solution, but just waits passively and select the solution from whatever is available, which does not guarantee finding a (good) solution. Let us continue with the previous example, using the combinatorial auction model, the Computer Producer Agent simply announces the two tasks Get Hardware and Deliver Computer and waits for the other agents' bids. When the Hardware Producer Agent and the Transporter Agent construct their bids for these two tasks respectively, they have no idea of how these two tasks relate to each other, all they can do is to construct the bids based on their local problem solving context. Suppose based on the ''first come, first serve'' rule, these two agents arrange these new tasks after their current tasks. Assume that the bid from the Hardware Producer Agent is ''Get Hardware, cost $100, time range: 10-17'' based on its current task finishes at 10 and it takes 7 time units to perform task Get Hardware, and the bid from the Transporter Agent is ''Deliver Computer, cost $5, time range: 15-21'' based on its current task finishes at 15 and it takes 6 time units to perform task Deliver Computer. However, based on these two bids, the Computer Producer Agent cannot find a consistent solution because there is no time left for the task Install Software. Actually the solution does exist if the Transporter Agent would leave some slack time before starting task Deliver Computer. The Transporter Agent does not have the necessary information that leads to this decision. To solve this problem in combinatorial auction, it can be requested that the contractee agent generate all possible bids and send them all to the contractor agent. However, this solution causes large amount of communication (as shown in Figure 16 , upper part), and large number of bids makes the winning-determination (WD) process more difficult and time- consuming. 23 This example shows that combinatorial auction is not a suitable model for multi-linked negotiation with complicated task relationships. In comparison, in our approach (as shown in Figure 16 , lower part), the Computer Producer Agent, who has the most complete information, leads the negotiation by analyzing the relationships among negotiations and arranging appropriate time ranges for related subjects in negotiation, which resulting in a more efficient negotiation process and a better solution in the end.. Thirdly, the general WD problem for combinatorial auction is NP-complete [3] . Current WD algorithms [11, 3] are based on depth-first search and using different types of heuristics. So, from the computational complexity perspective, combinatorial auction and our approach are at the same level of complexity.. The above analysis shows that combinatorial auction could be another approach to multi-linked negotiation, but it has limitation that does not permit efficient management of the negotiations where there are complex relationships. The approach in this paper provides a more general model and solution to multi-linked negotiation problem.

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


Two-way successively refined joint source-channel coding =1 , producing independent copies of a pair of jointly distributed random variables (RVs). The part of the process is observed at some location, say A, and is supposed to be reproduced at a different location, say B, where the part of the process is observed. Similarly, should be reproduced at location A. The communication between the two locations is carried out across two memoryless channels in iterative bi-directional rounds. In each round, the source components are reconstructed at the other locations based on the information exchanged in all previous rounds and the source component known at that location, and it is desired to find the amount of information that should be exchanged between the two locations in each round, so that the distortions incurred (in each round) will not exceed given thresholds. Our setting extends the results of Steinberg and Merhav as well as Kaspi, combining the notion of successive refinement with this of two-way interactive communication. We first derive a single-letter characterization of achievable rates for a pure source-coding problem with successive refinement. Then, for a joint source-channel coding setting, we prove a separation theorem, asserting that in the limit of long blocks, no optimality is lost by first applying lossy (two-way) successive-refinement source coding, regardless of the channels, and then applying good channel codes to each one of the resulting bitstreams, regardless of the source.

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


Bicepstrum based blind identification of the acoustic emission (AE) signal in precision turning It is believed that the acoustic emissions (AE) signal contains potentially valuable information for monitoring precision cutting processes, as well as to be employed as a control feedback signal. However, AE stress waves produced in the cutting zone are distorted by the transmission path and the measurement systems. In this article, a bicepstrum based blind system identification technique is proposed as a valid tool for estimating both, transmission path and sensor impulse response. Assumptions under which application of bicepstrum is valid are discussed and diamond turning experiments are presented, which demonstrate the feasibility of employing bicepstrum for AE blind identification. r During precision machining operations, material is removed from the work-piece at very low depths of cut, being uncut chip thickness usually less than a micrometer. At this scale, high dimensional tolerances are required and nanometer accuracies must be achieved. In order to improve precision, more sophisticated adaptive controls will be needed in the future, as well as new on-line process monitoring sensors and systems, which will feedback the new controls. Nevertheless, monitoring precision cutting processes is difficult by means of some of the sensors that are commonly employed in conventional machining operations. Power consumption, vibration and force signals show very low sensitivity and signal-to-noise ratio (SNR) for small depths of cut, due to the low-level forces involved in the cutting process. However, the acoustic emissions (AE) signal has proven to be sensitive enough for precision turning monitoring [1] .. AE are considered to be transient elastic waves, from 25 kHz to several MHz s, generated by the release of energy from localised sources of materials which are suffering irreversible changes in their structure. During precision metal cutting operations, it is accepted that the main AE sources are plastic deformation, friction and fracture. Thus, AE sources are directly related to the cutting process and the work-piece material properties. Besides, in precision cutting AE signal is less affected by low-frequency mechanical disturbances and the influence of the work-piece material properties is much larger than in conventional machining. In addition, AE signal is detected by simply mounting a piezoelectric transducer on the tool holder, thus, detection of AE signals does not interfere with the cutting process. Therefore, AE technology seems to be promising for precision cutting monitoring.. The AE signal has already been applied to on-line monitoring the process, the tool condition and the surface quality in conventional and precision turning operations. During the late 1970s, different research teams observed that the AE signal was affected by process and tool condition during conventional metal turning operations [2] [3] [4] . Since then, a number of, more or less, sophisticated techniques, that make use of the AE signal, have been proposed for monitoring cutting operations. These techniques have been evaluated in several review papers [5] [6] [7] . Despite much effort has been directed towards developing on-line condition monitoring systems that make use of features extracted from the AE signal, few of them have shown to be reliable enough as to be implemented in industry. Most of the techniques proposed were based on the root mean square (RMS) value of the AE signal, V rms ; as defined by,. where V ðtÞ is the AE raw signal and T is the integration period. The RMS value carries information of the AE raw signal power during each interval of time, T; reducing the dynamic range and leading to a loss of possibly valuable information. The use of the RMS value can be understood both by the difficulty of working in the high-frequency range of raw AE and by the lack of understanding of AE waves sources and propagation.. Nevertheless, spectral analysis was applied from the very beginning to the AE raw signal, aiming to relate different spectral components or bandwidths mainly to deformation [8] and tool wear [9] . Recently, more sophisticated time-frequency [10] and time-scale [11] techniques have also been proposed for the same purposes. However, AE raw signal spectral analysis has had very limited success, largely due to the following simplifying assumptions.. (a) Most of the times, it has been assumed that the dynamic response of the sensor was flat in its working frequency range. (b) Most of the times, it has been assumed that spectral components of waves arriving to the AE sensor were directly related to AE sources, such as deformation [12] or friction [13] , underestimating the influence of the transmission path filtering.. The objective in this article is to identify variations in the cutting process by monitoring the temporal evolution of the estimated AE transmission path, from the cutting zone to the location where the AE sensor is fixed. In order to estimate transmission path impulse response (IR), bicepstrum based blind identification techniques are presented as a valid tool for this purpose.. This paper is organised as follows. In Section 2, a brief introduction to AE theory and blind identification techniques is presented. First, assumptions taken, related to the AE microscopic source model, the AE transmission path and the measurement system, are discussed. Second, two identification methods are introduced, the complex cepstrum and the bicepstrum. Section 3 describes the experimental procedure used and discusses the results. Finally, conclusions are presented in Section 4. Precision diamond turning condition monitoring by means of AE has been presented as a blind identification problem. A bicepstrum based technique has been proposed for obtaining the transmission path IR. Experimental tests and FEA simulations have been conducted which demonstrate that AE raw signal spectral characteristics are, to a great extent, influenced by the transmission path and the sensor response.

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


Personalized tag recommendation based on generalized rules Tag recommendation is focused on recommending useful tags to a user who is annotating a Web resource. A relevant research issue is the recommendation of additional tags to partially annotated resources, which may be based on either personalized or collective knowledge. However, since the annotation process is usually not driven by any controlled vocabulary, the collections of user-specific and collective annotations are often very sparse. Indeed, the discovery of the most significant associations among tags becomes a challenging task.This article presents a novel personalized tag recommendation system that discovers and exploits generalized association rules, that is, tag correlations holding at different abstraction levels, to identify additional pertinent tags to suggest. The use of generalized rules relevantly improves the effectiveness of traditional rule-based systems in coping with sparse tag collections, because: (i) correlations hidden at the level of individual tags may be anyhow figured out at higher abstraction levels and (ii) low-level tag associations discovered from collective data may be exploited to specialize high-level associations discovered in the userspecific context.The effectiveness of the proposed system has been validated against other personalized approaches on real-life and benchmark collections retrieved from the popular photo-sharing system Flickr. Recommender systems help users find desirable products or services by analyzing user profiles and their similarities, or by finding products that are similar to those the users expressed interest in. The diffusion of the collaborative tagging systems (e.g., Del.icio.us 1 , Flickr 2 , Zooomr 3 ) has recently focused the attention of the research community on the problem of tag recommendation. Tags are keywords that provide meaningful descriptors of Web resources. Recommending tags to a user who is annotating a resource is a challenging research issue that has been recently investigated in different real-life contexts (e.g., photo annotation [Garg and Weber 2008; Sigurbjörnsson and van Zwol 2008] , blog post tagging [Mishne 2006 ], bookmark tagging [Heymann et al. 2008] ).. Given a set of user-defined tags, a relevant research issue is the recommendation of additional tags to partially annotated Web resources. Accomplishing this task effectively has the twofold aim at automating the annotation process by suggesting to the user an ordered set of pertinent tags and improving the effectiveness and the efficiency of querying retrieval systems (e.g., [Bao et al. 2007; Datta et al. 2007; Dmitriev et al. 2006] ). Recommendation of additional tags may be either exclusively based on collective knowledge, that is, independently of the knowledge about the user who annotated the resources [Heymann et al. 2008; Sigurbjörnsson and van Zwol 2008; Krestel et al. 2009 ], or personalized [Garg and Weber 2008; Mishne 2006] . To figure out valuable correlations between previously annotated and recommendable tags rule-based approaches have shown to achieve fairly good performance against probabilistic and co-occurrence-based machine learning strategies [Heymann et al. 2008] . To enhance the performance of the tag recommendation systems in the context of photo tag recommendation, the combined usage of user-specific and collective knowledge has also been recently addressed [Rae et al. 2010] . However, the lack of a controlled vocabulary from which tags could be selected during the annotation process makes the sets of previously assigned annotations very sparse [Heymann et al. 2008; Sigurbjörnsson and van Zwol 2008] and, thus, unsuitable for being successfully used with most of the information retrieval and data mining techniques.. This article presents a novel rule-based recommendation system that addresses the task of recommending additional tags to partially annotated Flickr photos by combining the knowledge provided by the personal and collective contexts, that is, the history of the past personal and collective photo annotations. To address this issue, it discovers and exploits high-level tag correlations, in the form of generalized association rules, from the collections of the past user annotations. To the best of our knowledge, this is the first attempt to exploit generalized rules in tag recommendation. Generalized association rules X → Y represent correlations among tag sets X and Y such that: (i) frequently occur in the analyzed dataset, that is, the observed frequency (the support) of X ∪ Y is above a given threshold, (ii) almost hold in the source data, that is, the strength of the implication between X and Y (the confidence) is higher than a given threshold, and (iii) may also include items belonging to different abstraction levels (i.e., tags may be generalized as the corresponding categories). The use of tag generalization hierarchies allows the discovery of relevant tag associations that may remain hidden at the level of individual tags. Hence, it may effectively counteract the issue of data sparsity, thus allowing the recommendation of meaningful and pertinent tags, as shown in the experimental evaluation (see Section 4). In the following the use of generalized rules in tag recommendation is explained with the help of a running example.. Motivating Example 1. Consider a photo, published on Flickr, of the Guildhall, which is a famous building situated in the center of London (U.K.). Our goal is to recommend to a given user pertinent additional photo tags to annotate, knowing that his first user-specified annotation is London. A graphical representation of the considered usecase is shown in Figure 1 . To perform tag recommendation, we exclusively consider, as preliminary step, the collection of the past user-specified annotations (i.e., the personal knowledge base) while temporarily disregarding the collective knowledge provided by annotations made by the other system users. A traditional association rule mining process may discover the rule {London} → {Guildhall}, where London and Guildhall are tags. Since the user has already annotated the photo with the tag London, Guildhall is an example of subsequent tag to recommend. The quality of the proposed recommendation could be evaluated in terms of well-known rule quality indexes (e.g., the rule support and confidence [Agrawal et al. 1993] ). As discussed in Heymann et al. [2008] , the analysis of the strength of the discovered implications is the core part of rule-based recommendation systems. In particular, frequent and high-confidence rules are deemed the most reliable ones for being used in tag recommendation. Enforcing a minimum frequency of occurrence of the selected rules reduces the sensitivity of the rule-based model to noise and data overfitting, However, data sparsity still makes the discovery of potentially relevant rules a computationally intensive task, because specific rules often occur rarely in the analyzed data [Heymann et al. 2008; Krestel et al. 2009 ]. The use of generalization hierarchies built over the history tags, as the ones reported in Figure 1 , may allow the generation of high-level tag associations that occur more frequently than their low-level versions. For instance, by aggregating the tag London into the corresponding state U.K. the generalized (high-level) rule {U.K.} → {Guildhall} may prompt the suggestion of the same annotation while considering a higher-level view of the analyzed pattern.. To discriminate among potentially pertinent tags, two distinct rule sets are generated: (i) a user-specific rule set, which represents the personalized knowledge base and includes (generalized) rules extracted from the past annotations made by the user to which the recommendation is targeted, and (ii) a collective rule set, which represents the collective knowledge and includes (generalized) rules mined from the past annotations made by other users. Tags mainly referable to user-specific rules are deemed the most suitable ones for additional tag recommendation. However, their significance strictly depends on user activeness and ability in photo tagging [Rae et al. 2010] . To overcome this issue, in our system we consider tag recommendations based on collective knowledge as well. Collective knowledge also plays a key role in specializing high-level associations discovered from the user-specific context, as shown in the following example.. Motivating Example 2. Consider again the use-case shown in Figure 1 . Suppose now that the first user-specified annotations are London and Roman age. If the rule {London, Roman age} → {Monument} is selected from the user-specified rule set, any descendant of Monument (e.g., Colosseum, Guildhall) is an eligible tag to recommend. The presence in the collective rule set of the rule {London, Roman age} → {Guildhall} may push the recommendation of the tag Guildhall as deemed worthy of notice by the community.. The effectiveness of the proposed system has been validated on real-life and benchmark photo collections retrieved from Flickr. The use of generalized rules allows significantly improving the performance of state-of-the-art approaches.. This article is organized as follows. Section 2 overviews most relevant related works concerning tag recommendation and generalization rule mining. Section 3 presents the architecture of the proposed recommender system and describes its main blocks. Section 4 assesses the effectiveness of the system in providing personalized tag recommendations based on both user-defined tags and collective knowledge, while Section 5 draws conclusions and presents future developments of this work. This article presents a novel personalized tag recommendation system that performs additional tag recommendations to partially annotated Flickr photos by exploiting generalized association rules extracted from collections of the past personal and collective annotations. The use of high-level associations is focused on counteracting the impact of data sparsity as it may highlight correlations among tags that could remain hidden at the level of individual tags.. A set of experiments has been conducted on real-life Flickr photo collections. The effectiveness of the proposed approach has been validated against a recently proposed tag recommendation system. Experiments show that the use of the generalizations in rule-based tag recommendation yields significant performance improvements.. Our system has so far not been concerned with the analysis of the textual content related to the annotated Web resources (e.g., photo descriptions, related blogs, or articles). We plan to extend it by also considering the user-generated textual content coming from social networks and online communities. Furthermore, to take the evolution of photo annotations over time we will investigate the integration of incremental rule mining approaches as well. The success of social networks and online communities has relevantly increased the attention to the problem of recommending Web resource annotations, namely the tags. Tag recommendation systems focus on suggesting tags to a user who is annotating a resource by combining the information coming from one or more contexts. In particular, collective tag recommendation analyzes the knowledge provided by the past resource annotations independently of the user who annotated each resource [Heymann et al. 2008; Sigurbjörnsson and van Zwol 2008; Krestel et al. 2009 ], while personalized tag recommendation addresses tag recommendation by considering the user context [Garg and Weber 2008; Mishne 2006] . This article addresses tag recommendation by combining both personalized and collective knowledge.. A significant research effort has been devoted to personalized tag recommendation. For instance, in Mishne [2006] the author presents a collaborative filtering method to address personalized blog post tag recommendation. It analyzes the information about users' behaviors, activities, or preferences to predict what users will like based on their similarity to other users. Analogously to most of the collaborative filtering methods (e.g., [Sarwar et al. 2001]) , it assumes that similar users share similar tastes. Similarity between posts, users, and tags is evaluated by exploiting information retrieval techniques. In Jäschke et al. [2007] the combination of a graph-based and collaborative filtering method is proposed. A User-Resource-Tag (URT) graph is indexed by means of an ad hoc indexing strategy derived from the popular PageRank algorithm [Brin and Page 1998 ]. To reduce the sparsity of the generated graphs, the use of Singular Value Decomposition (SVD) methods has been also investigated [Symeonidis et al. 2008] . Differently, the application of content-based strategies has been studied in Lindstaedt et al. [2008] , Chirita et al. [2007] , and Lipczak and Milios [2011] . They focus on recommending tags that are similar to those that a user annotated in the past (or is annotating in the present). For instance, in Chirita et al. [2007] the authors present an application for large-scale automatic generation of personalized annotations. They automatically select from the main Web page keywords personalized tags based on their relevance to the content of both the considered page and the other documents residing on the surfer's desktop. Similarly, in Lindstaedt et al. [2008] , Guan et al. [2009] , and Lu et al. [2009] multimedia content related to the annotated Web resource is analyzed and used to drive the tag recommendation process. For instance, in Guan et al. [2009] and Lu et al. [2009] the information discovered from both Web page content and related annotations is exploited for tag recommendation purposes, while in Lindstaedt et al.. [2008] the authors analyze interpersonal relations, image text, and visual content together. Differently, in Lipczak and Milios [2011] a hybrid collaborative filtering method is proposed and integrated in a scalable architecture. The issue of interactive Flickr tag recommendation is addressed in Garg and Weber [2008] . Suggested tags are first selected from the set of previously assigned ones based on co-occurrence measures. Next, based on the recommendation, the candidate set is narrowed down to make the suggestion more specific. However, co-occurrence methods are challenged by data sparsity as either the computational complexity may increase exponentially with the number of tags or the score associated with each tag may be not directly comparable. Unlike previous approaches, to counteract the sparsity of the tag collections this article proposes to exploit generalized rules.. A parallel issue has been devoted to collective tag recommendation [Heymann et al. 2008; Krestel et al. 2009; Sigurbjörnsson and van Zwol 2008; Lipczak and Milios 2011] . For instance, in Sigurbjörnsson and van Zwol [2008] , additional tags are recommended to a partially annotated Flickr photo by using co-occurrence measures to analyze the collective knowledge. The work proposed in Rae et al. [2010] extends the previous system by analyzing the knowledge coming from different contextual layers, including the personal and the collective ones. Differently, authors in Heymann et al. [2008] reformulate the task of content-based tag recommendation as a (supervised) classification problem. Using page text, anchor text, surrounding hosts, and available tag information as training data, they train a classifier for each tag they want to predict. Even though their approach is able to achieve fairly high precision, the overall training time may become significant when the cardinality of the considered tags increases. This work is also the first attempt to address collective tag recommendation by means of association rules. Association rules allow the discovery of strong tag associations that may be profitably exploited in tag recommendation. Similarly, other approaches (e.g., [Menezes et al. 2010] ) focus on rule-based collective tag recommendation. However, the commonly high sparsity of the collections of past annotations limits the effectiveness of the proposed approaches as the most specific (and possibly interesting) rules may remain hidden. This article proposes to overcome the aforesaid issue by discovering tag associations at different abstraction levels. To the best of our knowledge, this is the first attempt to exploit generalized rules in tag recommendation. Authors in Krestel et al. [2009] also address the same issue by adopting an approach based on Latent Dirichlet Allocation (LDA). The proposed strategy is proved very effective in tackling the cold start problem for tagging new resources for which no tag has been assigned yet. Differently, this article specifically addresses personalized tag recommendation of partially annotated resources.. In recent years, a notable research effort has been devoted to discovering generalized association rules from (possibly large) data collections. Generalized association rules have been first introduced in Srikant and Agrawal [1995] in the context of market basket analysis as an extension of the traditional association rule mining task [Agrawal et al. 1993] . By evaluating a set of hierarchies of aggregation built over the data items, items belonging to the source data are aggregated based on different granularity concepts. Each generalized rule, which is a high-level representation of a "lower-level" rule, provides a higher-level view of a pattern hidden in the analyzed data. The first generalized association rule mining algorithm [Srikant and Agrawal 1995] follows the traditional two-process for generalized rule mining: (i) frequent generalized itemset mining, driven by a minimum support threshold, and (ii) generalized rule generation, from the previously mined frequent itemsets, driven by a minimum confidence threshold. Candidate frequent itemsets are generated by exhaustively evaluating the generalization hierarchies. To reduce the complexity and improve the efficiency of the mining process, several optimization strategies and more efficient algorithms have been proposed [Mennis and Liu 2005; Pramudiono and Kitsuregawa 2004; Srikant et al. 1997; Srikant and Agrawal 1995; Han and Fu 2002; Sriphaew and Theeramunkong 2002; Baralis et al. 2010] . This article discovers and exploits generalized rules in personalized tag recommendation by adopting an apriori based strategy [Srikant and Agrawal 1995] that integrates, as an itemset mining step, the approach recently proposed in Baralis et al. [2010] .

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


Sequential and parallel triangulating algorithms for Elimination Game and new insights on Minimum Degree 1 Elimination Game is a well known algorithm that simulates Gaussian elimination of matrices on graphs, and it computes a triangulation of the input graph. The number of fill edges in the computed triangulation is highly dependent on the order in which Elimination Game processes the vertices, and in general the produced triangulations are neither minimum nor minimal. In order to obtain a triangulation which is close to minimum, the Minimum Degree heuristic is widely used in practice, but until now little was known on the theoretical mechanisms involved.In this paper we show some interesting properties of Elimination Game; in particular that it is able to compute a partial minimal triangulation of the input graph regardless of the order in which the vertices are processed. This results in a new algorithm to compute minimal triangulations that are sandwiched between the input graph and the triangulation resulting from Elimination Game. One of the strengths of the new approach is that is is easily parallelizable, and thus we are able to present the first parallel algorithm to compute such sandwiched minimal triangulations. In addition, the insight that we gain through Elimination Game is used to partly explain the good behavior of the Minimum Degree algorithm. We also give a new algorithm for producing minimal triangulations that is able to use the minimum degree idea to a wider extent. For the past forty years, problems arising from applications have given rise to challenges for graph theorists, and thus also to a wealth of graph-theoretic results. One of these is computing a minimum triangulation. Although the problem originally comes from the field of sparse matrix computations [29] , it has applications in various areas of computer science.. Large sparse symmetric systems of equations arise in many areas of engineering, like the structural analysis of a car body, or the modeling of air flow around an airplane wing. The physical structure can often be thought of as covered by a mesh where each point is connected to a few other points, and the related sparse matrix can simply be regarded as an adjacency matrix of this mesh. Such systems are solved through standard methods of linear algebra, like Gaussian elimination, and during this process non-zero entries are inserted into cells of the matrix that originally held zeros, which increases both the storage requirement and the time needed to solve the system. It was observed early that finding a good pivotal ordering of the matrix can reduce the amount of fill thus introduced: in 1957, Markowitz [22] introduced the idea behind the algorithm known today as Minimum Degree, choosing a pivot row and column at each step of the Gaussian elimination to locally minimize the product of the number of corresponding off-diagonal non-zeros. Tinney and Walker [33] later applied this idea to symmetric matrices, and Rose [29] developed a graph theoretical model of it.. As early as 1961, Parter [26] presented an algorithm, known as Elimination Game (EG), which simulates Gaussian elimination on graphs by repeatedly choosing a vertex and adding edges to make its neighborhood into a clique before removing it, thus introducing the connection between sparse matrices and graphs. In view of the results of [14] , the class of graphs produced by EG is exactly the class of chordal graphs. Thus when the given graph is not chordal, Gaussian elimination and EG correspond to embedding it into a chordal graph by adding edges, a process called triangulation. As can be observed on the example in Figure 1 , the number of fill edges in the resulting triangulation is heavily dependent on the order in which EG processes the vertices. This ordering of the graph corresponds to the pivotal ordering of the rows and columns in Gaussian elimination.. As mentioned above, it is of primary importance to add as few edges as possible when running EG. The corresponding problem is that of computing a minimum triangulation, which is NP-hard [35] . It is possible to compute in polynomial time a triangulation which is minimal, meaning that an inclusionminimal set of edges is added [24] , [31] . However, such a triangulation can be far from minimum, as can be seen from the example of Figure 1 (b). In fact, it is easy to see that this example can be extended to a graph with O(n) edges and an O(n 2 ) size fill, whereas a unique fill edge can be obtained by EG on this graph.. As a result, researchers have resorted to heuristics, of which one of the most universally used and studied is Minimum Degree (MD): this runs EG by choosing at each step a vertex of minimum degree in the transitory elimination graph, as illustrated by Figure 1(d) . This algorithm is widely used in practice, and it is known to produce low fill triangulations. In addition, MD is also observed [6] to produce triangulations which are often minimal or close to minimal.. MD has given rise to a large amount of research with respect to improving the running time of its practical implementations, and the number of papers written on this subject is in the hundreds [1, 16] . However, very little is proved about its quality. It has in fact been analyzed theoretically only to a limited extent, which makes it difficult to gain control over this heuristic in order to improve it yet further, although recent research has been done on algorithms for low fill minimal triangulations [6, 10, 27] .. In this paper, we use recent graph theoretical results on minimal triangulation and minimal separators to explain, at least in part, why MD yields such good results. In fact, it turns out that one of the reasons why MD works so well is that the EG algorithm is remarkably robust, in the sense that it is resilient to error: if at some step of the process an undesirable edge with respect to minimal triangulation is added, at later steps the chances of adding only desirable edges remain intact. During EG, and in particular MD, we are able to identify the fill edges that are safe to add with respect to a minimal triangulation. Thus we show how to use EG to compute a partial minimal triangulation. We also show the implementation details of how to compute this partial minimal triangulation efficiently. An interesting property of this partial minimal triangulation is that when it is completed in any way to a minimal triangulation the resulting graph is a minimal triangulation of the input graph and a subgraph of the filled graph resulting from EG.. One of the strengths of this approach is its parallel nature, and we give implementation details for both a sequential and a parallel version of it. This results in the first efficient parallel algorithm for computing minimal triangulations sandwiched between the input graph and the filled graph resulting from EG.. Furthermore, we use the insight we have gained on the mechanisms which govern EG, and in particular MD, to propose a new algorithm that improves the results obtained by MD, giving minimal triangulations with low fill.. The remainder of this paper is organized as follows: Section 2 gives the graph theoretic background, introduces EG formally, and gives previous results on minimal separators and minimal triangulation. In Section 3, we show that EG can be used to compute a partial minimal triangulation, thereby giving some new invariants for EG. In Section 4, we explain how to implement this efficiently both sequentially and in parallel. Section 5 proposes new algorithms to compute minimal triangulations using EG. In particular we show how to extend a partial minimal triangulation to a minimal triangulation in parallel, thereby solving the sandwiched minimal triangulation problem in parallel. Section 6 applies our new results to MD, and uses our new insight to give some explanations as to the remarkably good behavior of MD. We have conducted a theoretical investigation of Elimination Game, and covered new aspects with regard to minimal triangulation.. We showed that Elimination Game is remarkably robust. Though unnecessary edges may be added at some steps, the chances remain intact at further steps to add only useful edges. We use this property to define a partial minimal triangulation of the input graph, any minimal triangulation of which solves the sandwich problem. Based on this, we present several algorithms which compute a minimal triangulation solving the sandwich problem, including an efficient parallel approach.. All these processes improve Minimum Degree heuristics. Furthermore our results explain at least partially the good behavior of this heuristic.

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


Java in the High Performance Computing arena: Research, practice and experience The rising interest in Java for High Performance Computing (HPC) is based on the appealing features of this language for programming multi-core cluster architectures, particularly the built-in networking and multithreading support, and the continuous increase in Java Virtual Machine (JVM) performance. However, its adoption in this area is being delayed by the lack of analysis of the existing programming options in Java for HPC and thorough and up-to-date evaluations of their performance, as well as the unawareness of the current research projects in this field, whose solutions are needed in order to boost the embracement of Java in HPC.This paper analyzes the current state of Java for HPC, both for shared and distributed memory programming, presents related research projects, and finally, evaluates the performance of current Java HPC solutions and research developments on two shared memory environments and two InfiniBand multi-core clusters. The main conclusions are that: (1) the significant interest in Java for HPC has led to the development of numerous projects, although usually quite modest, which may have prevented a higher development of Java in this field; (2) Java can achieve almost similar performance to natively compiled languages, both for sequential and parallel applications, being an alternative for HPC programming; and (3) the recent advances in the efficient support of Java communications on shared memory and low-latency networks are bridging the gap between Java and natively compiled applications in HPC. Thus, the good prospects of Java in this area are attracting the attention of both industry and academia, which can take significant advantage of Java adoption in HPC. Java has become a leading programming language soon after its release, especially in web-based and distributed computing environments, and it is an emerging option for High Performance Computing (HPC) [1, 2] . The increasing interest in Java for parallel computing is based on its appealing characteristics: built-in networking and multithreading support, object orientation, platform independence, portability, type-safety, security, it has an extensive API and a wide community of developers, and finally, it is the main training language for computer science students. Moreover, performance is no longer an obstacle. The performance gap between Java and native languages (e.g., C and Fortran) has been narrowing for the last years, thanks to the Just-in-Time (JIT) compiler of the Java Virtual Machine (JVM) that obtains native performance from Java bytecode. However, the use of Java in HPC is being delayed by the lack of analysis of the existing programming options in this area and thorough and up-to-date evaluations of their performance, as well as the unawareness of the current research projects in Java for HPC, whose solutions are needed in order to boost its adoption.. Regarding HPC platforms, new deployments are increasing significantly the number of cores installed in order to meet the ever growing computational power demand. This current trend to multi-core clusters underscores the importance of parallelism and multithreading capabilities [3] . In this scenario Java represents an attractive choice for the This paper has analyzed the current state of Java for HPC, both for shared and distributed memory programming, showing an important number of past and present projects which are the result of the sustained interest in the use of Java for HPC. Nevertheless, most of these projects are restricted to experimental environments, which prevents its general adoption in this field. However, the analysis of the existing programming options and available libraries in Java for HPC, together with the presentation in this paper of our current research efforts in the improvement of the scalability of our Java message-passing library, F-MPJ, would definitively contribute to boost the embracement of Java in HPC.. Additionally, Java lacks thorough and up-to-date evaluations of their performance in HPC. In order to overcome this issue this paper presents the performance evaluation of current Java HPC solutions and research developments on two shared memory environments and two InfiniBand multi-core clusters. The main conclusions of the analysis of these results is that Java can achieve almost similar performance to natively compiled languages, both for sequential and parallel applications, being an alternative for HPC programming. In fact, the performance overhead that Java may impose is a reasonable trade-off for the appealing features that this language provides for parallel programming multi-core architectures. Furthermore, the recent advances in the efficient support of Java communications on shared memory and low-latency networks are bridging the performance gap between Java and more traditional HPC languages.. Finally, the active research efforts in this area are expected to bring in the next future new developments that will continue rising the interest of both industry and academia and increasing the benefits of the adoption of Java for HPC . 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

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