On improving the average case of the Boyer-Moore string matching algorithm