I am looking for a pattern, algorithm, or library that will take a set of dates and return a description of the recurrence if one exits, i.e. the set [11-01-2010, 11-08-2010, 11
Have a look at your favourite calendar program. See what patterns of event recurrence it can generate. Reverse engineer them.