note
moritz
It shouldn't be too hard to make this work.
<p>By simply looking at the sequence of the pair-wise difference and ratio and correlating them to the original sequence or a constant, you can get good guesses for most commonly used sequences, if you just allow a few levels of recursion:
<code>
1, 2, 3, 4, 5
differences 1, 1, 1, 1 # constant
1, 2, 4, 8, 16
ratios: 2, 2, 2, 2 # constant
1, 2, 3, 5, 8
differences: 1, 2, 3, 5 # sames as original shifted by one
1, 11, 111, 1111, 11111
differences: 10, 100, 1000, 10000
ratios: 10, 10, 10 # constant
</code>
<p>The fibonacci sequence is the only one example that needs autocorrelating. Other ones that could use the autocorrelation are <c>-1, 1, -1, 1, ...</c> and <c>0, 1, 0, 1, ...</c>.
<p>In case of ambiguousness the solution with the shallowest recursion would win.
<p>I'll try to come up with a prototype implementation that can be used as basis for a specification. But it won't be this or the next week, so have a little patience ;)
<p>Ideally there would be some sub or method that can be overridden to detect sequences if the built-in mechanism fails..
716367
716679