What kinds of pattern recognition are there?