1: \begin{abstract}
2: A proper subsemigroup of a semigroup is \textit{maximal} if it is not
3: contained in any other proper subsemigroup. In this paper we show how to
4: compute the maximal subsemigroups of an arbitrary finite semigroup.
5:
6: In their paper of 1968, Graham, Graham, and Rhodes describe the
7: possible forms that a maximal subsemigroup can take.
8: We show how to effectively determine the maximal subsemigroups of each type
9: described by Graham, Graham, and Rhodes that arise in a given finite
10: semigroup. The problem of finding the maximal subsemigroups is formulated
11: in terms that are relatively straightforward to compute. We show that
12: certain cases reduce to other well-known problems, such as, for instance,
13: finding all maximal cliques in a graph and computing the maximal subgroups in
14: a group.
15:
16: We present two main algorithms. The first is concerned with computing the
17: maximal subsemigroups of a special class of semigroups, known as Rees
18: 0-matrix semigroups. The second is an algorithm for finding the maximal
19: subsemigroups of an arbitrary finite semigroup $S$. This algorithm
20: builds on the first, and involves a careful analysis of certain graphs
21: associated to $S$, which, roughly speaking, capture the essential information
22: about the action of $S$ on its $\J$-classes.
23: \end{abstract}