Pattern Matching Algorithms by Galil Apostolico