Two variants of the Froiduire-Pin Algorithm for finite semigroups
arXiv:1704.04084
Abstract
In this paper, we present two algorithms based on the Froidure-Pin Algorithm for computing the structure of a finite semigroup from a generating set. As was the case with the original algorithm of Froidure and Pin, the algorithms presented here produce the left and right Cayley graphs, a confluent terminating rewriting system, and a reduced word of the rewriting system for every element of the semigroup. If is any semigroup, and is a subset of , then we denote by the least subsemigroup of containing . If is any other subset of , then, roughly speaking, the first algorithm we present describes how to use any information about , that has been found using the Froidure-Pin Algorithm, to compute the semigroup . More precisely, we describe the data structure for a finite semigroup given by Froidure and Pin, and how to obtain such a data structure for from that for . The second algorithm is a lock-free concurrent version of the Froidure-Pin Algorithm.
19 pages, 7 figures (v2 revised according to referees comments to improve the readability, and add a further 1198 examples)