Pattern Recognition
- Posted by Al Getz <xaxo at AOL.COM> Jan 16, 2001
- 378 views
Pattern detection is an interesting subject. Its very hard to ask the question: "is there a function that will return 1 if my sequence contains a pattern and return 0 if it doesn't?" because of at least the following reasons: 1. When you say "pattern" your not saying much at all about the data except that there be some sort of order present, and order is a very complicated criteria. For example: A="tip" --(reference string) B="atip" --clearly contains 'tip' C="pit" --is this really 'tip' backwards? D="pti" --is this really 'tip' with the p moved to the front of the word 'tip'? Some forms of "pattern recognition" will easily determine that B contains 'tip'. If you think that D (or C) is too far encrypted to be of any use, think again, because there are well known mathematical forms that will easily discover that C and D are simply phase shifted versions of A. 2. Normally when you try to recognize a pattern, you have other functions which attempt to compare other constraints to the data and determine if there is any validity to the outcome, even if these functions are "built in" when the code is written and appear transparent. For the examples A,B,C and D above, if you were looking for only English language words then you could first compare entries to an expandable dictionary, and that would eliminate D, unless you included abbreviations, which might then include D. Because of at least these two reasons, it would be a good idea to define your problem a little more distinctly, or even specify the problem you are trying to solve completely, if you intend to create a good algorithm. Good luck with it, Al