Two optimal parallel algorithms on the commutation class of a word

  • Authors:
  • René Schott;Jean-Claude Spehner

  • Affiliations:
  • LORIA and IECN, Université Henri Poincaré, 54506 Vandoeuvre-lès-Nancy, France;Laboratoire MAGE, Faculté des Sciences et Techniques, Université de Haute Alsace, 68093, Mulhouse, France

  • Venue:
  • Theoretical Computer Science - Words, languages and combinatorics
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

The free partially commutative monoid M(A,Θ) defined by a set of commutation relations Θ on an alphabet A can be viewed as a model for concurrent computing: indeed, the independence or the simultaneity of two actions can be interpreted by the commutation of two letters that encode them. In this context, the commutation class CΘ(w) of a word w of the free monoid A* plays a crucial role. The main results presented in this paper are the following: - A characterization of the minimal automaton AΘ(w) for CΘ(w) with the help of the new notion of Θ-dissection. - A parallel algorithm which computes the minimal automaton AΘ(w). This algorithm is optimal if the size of A is constant. - An optimal parallel algorithm for testing if a word belongs to the commutation class CΘ(w).Our approach differs completely from the methods (based on Foata's normal form) used by Cérin and Petit (Application de la théorie des traces à l'implantation et à la mesure d'algorithmes de distribution, Thèse Université Paris 11, Centre d'Orsay, 1993; Proc. 6th Internat. Parallel Processing Symp. (IPPS), IEEE Press, New York, 1992, pp. 374-379; Proc. MFCS'93, Lecture Notes in Computer Science, Vol. 711, Springer, Berlin, 1993, pp. 332-341) for solving similar problems. Under some assumptions the first algorithm achieves an optimal speedup. The second algorithm achieves also an optimal speedup and has a time complexity in O(log n) if the number of processors is in O(n) where n is the length of the word w, the total number of operations is in O(n) and does not depend on the size of the alphabet A as for the classical sequential algorithm.