An iterative approach to pattern recognition