Lista dei rapporti tecnici dell'anno 2002

In this paper we design two compressed data structures for the full-text indexing problem. These data structures support efficient substring searches within the indexed text $T$ using roughly the same space required to store $T$ in compressed form. Our first compressed data structure retrieves the $occ$ occurrences of a pattern $P[1,p]$ in $T[1,n]$ in $O(p + occ\log^{1+\epsilon} n)$ time and uses at most $5n H_k(T) + o(n)$ bits of storage, where $H_k(T)$ is the $k$-th order empirical entropy of $T$. This space occupancy is $Theta(n)$ bits in the worst case and $o(n)$ bits for compressible texts. Our data structure exploits the relationship between the suffix array and the Burrows-Wheeler compression algorithm. Our second compressed data structure achieves $O(p+occ)$ query time and uses $O(n H_k(T)\log^\epsilon n) + o(n)$ bits of storage. In the worst case the space occupancy is $o(n\log n)$ bits which is asymptotically smaller than the space occupancy of suffix trees and suffix arrays. This second data structure exploits the interplay between two compressors: the Burrows-Wheeler algorithm and the LZ78 algorithm.

After a discussion on the relevance of ethics in Operations Research, two approaches to the ethical discourse, one based on rules and the other based on principles and values, are analyzed. Then, two ethical principles, which can help O.R. researchers and practitioners in their activity are discussed in some detail. The first is the "responsibility principle" , proposed in a more general context by the philosopher Hans Jonas, which in our case suggests to take into account in our work not only the point of view of the "client" , but also the point of view of all the "stakeholders" , i.e. the ones who can directly or indirectly be affected by the results of our activity. The second, which can be called the "sharing and cooperation principle" , calls for a more open distribution of the results of our research activity, whether they are ideas, algorithms or software.

Mixed and componentwise condition numbers are useful in order to understand stability properties of algorithms for solving structured linear systems. The DFT (discrete Fourier transform) is an essential building block of these algoritms. We obtain precise estimates of mixed and componentwise condition numbers of the DFT. To this end we explicitly compute certain unimodular vectors (a complex vector is said unimodular if the modulus of all its entries is equal to one) whose DFT is again unimodular.

We cope with the problem of correctness and optimality for logic programs analysis by abstract interpretation. We refine the Cortesi and File' goal-dependent framework by fixing a result of correctness and introducing two specialized operators for forward and backward unification. We provide the best correct abstractions of the concrete operators in the case of set-sharing analysis. We show that the precision of the overall analysis is strictly improved and that, in some cases, we gain precision w.r.t. more complex domains involving linearity and freeness information.

We introduce a temporal logic to reason on global applications. First, we define a modal logic for localities that embeds the local theories of each component into a theory of the distributed states of the system. We provide the logic with a sound and complete axiomatization. Then, we extend the logic with temporal operators. The contribution is that it is possible to reason about properties that involve several components, even in the absence of a global clock, as required in an asynchronous setting. We support our proposal by working out an example, a simple secure communication system.

Three-level logic SPP forms are OR of AND of EXORs expressions. In the framework of SPP minimization we give a new algebraic definition of SPP expressions using affine spaces. The main problems of SPP model are: the ``hard to digest'' SPP theory; the time required for minimization, which is still high; and the unbounded fan-in EXOR gates in the form. Consequently, our main results in this paper are: 1) we rephrase the SPP theory using well known algebraic structures (vector and affine spaces) to obtain an easier description of pseudocubes, which play the same role as cubes in standard minimization; 2) we describe a new canonical representation of pseudocubes leading to a more efficient data structure for SPP minimization; 3) we introduce a novel form, called k-SPP form}, where the number of literal in the EXOR factors is upper bounded by a chosen constant $k$, and show how to modify the SPP algorithms for computing the minimal k-SPP form efficiently. Finally, we perform an extensive set of experiments on classical benchmarks aimed at validating the new approach.

In this paper we provide a view of the design and development activity concerning advanced environments for parallel and distributed computing. We start from assessing the main issues driving this research track, in the areas of hardware and software technology and of applications. Then, we identify some key concepts, that can be considered as common guidelines and goals in the development of modern advanced environments, and we come up with a ``classification'' of these environments into two main classes: Programming Environments and Problems Solving Environments. Both classes are widely discussed, in light of the key concepts previously outlined, and several examples are provided, in order to give a picture of the current status and trends.

The algebraic models of computation for contextual nets that have been proposed in the literature either rely on non-free monoid of objects, or introduce too many behaviors that must be somewhat filtered out. In this report, we exploit partial membership equational logic to define a suitable theory of models, where the meaningful concurrent computations can be selected by means of membership predicates.

The problem of reconstructing a two-dimensional tomographic medical image is considered. The emission function $f(P)$ is defined on a plane circular domain $\Omega$ and has to be reconstructed from data collected by SPECT. In this paper the natural pixel discretization approach is used, for which suitable basis functions must be chosen. We show that by choosing the basis on a polar grid a highly structured coefficient matrix can be obtained. Numerical experimentation validates the efficiency of this approach.

In this work we present an operational semantic schema suitable for skeleton-based parallel languages supporting both task and data parallelism. The presented semantic describes both functional and parallel behavior of the skeletal language in a uniform way by means of a labeled transition system. We use Lithium language (namely a Java skeleton framework) as test-bed language to describe the methodology.

In this paper, we propose a compositional coalgebraic semantics of the pi-calculus based on a novel approach for lifting calculi with structural axioms to coalgebraic models. We equip the transition system of the calculus with permutations, parallel composition and restriction operations, thus obtaining a bialgebra. No prefix operation is introduced, relying instead on a clause format defining the transitions of recursively defined processes. The unique morphism to the final bialgebra induces a bisimilarity relation which coincides with observational equivalence and which is a congruence with respect to the operations. The permutation algebra is enriched with a name extrusion operator delta a' la De Brujin, that shifts any name to the successor and generates a new name in the first variable. As a consequence, in the axioms and in the SOS rules there is no need to refer to the support, i.e., the set of significant names, and, thus, the model turns out to be first order.

There are various ways to prove that, under suitable conditions, the inverse of a Toeplitz matrix can be completely recovered from two of its columns. Toeplitz matrices and their inverses are matrices with displacement structure, i.e., they can be related with matrices of low rank via suitable linear operators. In this note, we show a possible generalization of the result concerning Toeplitz inverses for certain classes of matrices with displacement structure.

This paper investigates the application of very-large neighborhood search techniques for solving the capacitated vertex $p$-center problem. We characterize a local search neighborhood in terms of path and cyclic exchanges of customers among facilities, and exploit principles borrowed from network optimization theory to efficiently detect cost decreasing solutions in such a neighborhood. We complement the multi-exchange methodology with a local reoptimization mechanism specifically designed to perform facility location adjustments. The validity of the proposed approach is supported by empirical investigation and performance comparisons with the commercial code CPLEX.

A $k$-dense tree, $k$ integer $\geq 1$, is a natural extension of a tree. A leaf is a vertex connected to the rest of the structure through $\leq k$ edges. After the removal of a leaf, the structure still has other leaves. Among other applications, dense trees can be used as interconnection structures in a network. Representing the network in connected graph form $G=(V,E)$, we construct a $k$-dense tree $T$ as a subgraph of $G$ spanning all its vertices. $T$ is then decomposed in $k$ {\em super-root spanning trees} sharing a $k$-clique $C$ of vertices. These trees are edge-disjoint except for the common edges in $C$. Each vertex is labeled with a set of $k$ integers in $\{0,1,\ldots,n-1\}$, $n=|V|$, to set up an interval routing scheme for $G$ along the edges of $T$. The constructions are implemented as distributed algorithms all requiring polynomial time.

We discuss the principles of distributed transactions, then we define an operational model which meets the basic requirements and we give a prototyping implementation for it in join-calculus. Our model: (1) extends BizTalk with multiway transactions; (2) exploits an original algorithm, for distributed commit; (3) can deal with dynamically changing communication topology; (4) is almost language-independent. In fact, the model is based on a two-level classification of resources, which should be easily conveyed to distributed calculi and languages, providing them with a uniform transactional mechanism.

This paper presents a very large scale neighborhood (VLSN) search algorithm for the capacitated facility location problem with single-source constraints. The neighborhood structures are induced by customer multi-exchanges and by facility moves. We consider both single-customer multi-exchanges, detected on a suitably defined customer improvement graph, and multi-customer multi-exchanges, detected on a facility improvement graph dynamically built through the use of a greedy scheme. Computational results for some benchmark instances are reported, which demonstrate the effectiveness of the approach for solving large-scale problems.

ASSIST (A Software development System based upon Integrated Skeleton Technology) is a proposal of a new programming environment oriented to the development of parallel and distributed high-performance applications according to a unified approach. The main goals are: high-level programmability and software productivity for complex multidisciplinary applications, including data-intensive and interactive software; performance portability across different platforms, including homogenous parallel machines and cluster/Beowulf systems, heterogeneous clusters and network computers, and computational Grids; effective reuse of parallel software; efficient evolution of applications through versions scalable according to the underlying technologies. The proposal is based on the evolution and joining of the software component technology and of the structured parallel programming technology. Component technology must be extended in the direction of parallel and distributed high-performance applications for emerging large-scale heterogeneous platforms, including Grids. According to our experience in structured parallel programming, in ASSIST we intend to overcome some limitations of the classical skeletons approach to improve generality and flexibility, expressive power and efficiency for irregular, dynamic and interactive applications, as well as for complex combinations of task and data parallelism. A new paradigm, called ?parallel module? (parmod), is defined which, in addition to expressing the semantics of several skeletons as particular cases, is able to express more general parallel and distributed program structures. ASSIST allows the programmer to design the applications in the form of generic graphs of parallel components, including both data-flow and nondeterministic reactive computation. Another distinguishing feature is that ASSIST modules are able to utilize external objects, including shared data structures and abstract objects (e.g. CORBA), with standard interfacing mechanisms. In turn, an ASSIST application can be reused and exported as a component for other applications, possibly expressed in different formalisms. A substantial part of our research project is devoted to the architecture and implementation of the support to the new environment. The purpose of this paper is to show the principles of the proposed approach in terms of the programming model (successive papers will deal with the environment implementation and with performance evaluation). Initially the motivations and the rationales for the proposal are discussed in the context of software component technology, large-scale platforms and structured parallel programming. Then the features and the characteristics of the ASSIST programming model are described according to an operational semantics style and using several examples to drive the presentation, to show the expressive power and to discuss the research issues.