A weak repetition in a string consists of two or more adjacent substrings which are permutations of each other. We describe a straightforward \(\Theta(n^2)\) algorithm which computes all the weak repetitions in a given string of length \(n\) defined
on an arbitrary alphabet \(A\). Using results on Fibonacci and other simple strings, we prove that this algorithm is asymptotically optimal over all known encodings of the output.
An algorithm is presented which, when given the non-isomorphic designs with given parameters, generates all the trades in each of the designs. The lists of trades generated by the algorithm were used to find the sizes, previously unknown, of smallest defining sets of the \(21\) non-isomorphic \(2\)-(10, 5, 4) designs. Consideration of trades in a design to isomorphic and to non-isomorphic designs led to two variations on the concept of
defining sets. The lists of trades were then used to find the sizes of these smallest member and class defining sets, for five parameter sets.