This one is pretty strange to me.
I'll be doing the same operation I did in Absolutes parts 1 and 2. First I'll let column A be random values 0-1. In column B I'm going to take the difference between two cells in A, then take the absolute value. Columns C and onward are copies of column B. Notice that though the initial numbers are random, only seven iterations of these columns are necessary to bring everything to zero:
In fact, every time I do this zero is reached surprisingly fast, though not always in the same number of iterations:
These are completely random numbers and yet here it only takes 4 columns of iterations to bring everything to zero. If this is not surprising for you, go look at the end of my post Absolutes (part 2)- I copied eight screenshots to get that picture!
Alright, let's see if there's something special about having four rows. Below are copies of the same functions with the number of rows changing from 2 to 9.
Every time the original data was changed the two-row series ended after 2 iterations, the four-row series ended after 3-9 iterations, and the eight-row series ended after 10-20 iterations. There's something special about the power of two.
There are patterns in the other functions. The three-row and five-row series very quickly have numbers cycle between rows.
Here's a picture with new initial values:
Looking back at the four-row series, I find it very cool how quickly things get eliminated. In the first series below I entered values I thought would take a long time to end, and it only took five iterations. I then tried root 2, root 3, pi, and e, and surprisingly that ended very quickly, too!
One afternoon over Christmas break I tried to come up with a general solution for why the four-series ends so fast. I ended up getting overwhelmed with if/then statements. Here's how I started:
Let A1, B1, C1, and D1 be our initial values.
A2 = ABS (A1 - D1)
B2 = ABS (B1 - A1)
C2 = ABS (C1 - B1)
D2 = ABS (D1 - C1)
Let's first solve for the situation when:
A1 > B1 > C1 > D1
So,
A2 = A1 - D1
B2 = A1 - B1
C2 = B1 - C1
D2 = C1 - D1
Time for the next iteration:
A3 = ABS( [A1 - D1] - [C1 - D1])
B3 = ABS( [A1 - B1] - [A1 - D1])
C3 = ABS( [B1 - C1] - [A1 - B1])
D3 = ABS( [C1 - D1] - [B1 - C1])
We can get rid of the brackets and distribute the -1:
A3 = ABS(A1 - D1 - C1 + D1)
B3 = ABS(A1 - B1 - A1 + D1)
C3 = ABS(B1 - C1 - A1 + B1)
D3 = ABS(C1 - D1 - B1 + D1)
Simplifying...
A3 = ABS(A1 - C1)
B3 = ABS(D1 - B1)
C3 = ABS(2B1 - A1 - C1)
D3 =ABS(C1 - B1)
Remembering our initial assumption that A1 > B1 > C1 > D1...
A3 = A1 - C1
B3 = B1 - D1
C3 = ABS(2B1 - A1 - C1)
D3 = B1 - C1
I guess I'll solve for the special case when 2B1 > A1:
A3 = A1 - C1
B3 = B1 - D1
C3 = 2B1 - A1 - C1
D3 = B1 - C1
Right, next iteration:
A4 = ABS( [A1 - C1] - [B1 - C1])
B4 = ABS( [B1 - D1] - [A1 - C1])
C4 = ABS( [2B1 - A1 - C1] - [B1 - D1])
D4 = ABS( [B1 - C1] - [2B1 - A1 - C1])
Simplifying:
A4 = A1 - B1
B4 = ABS( B1 - D1 - A1 + C1)
C4 = ABS( B1 - A1 - C1 + D1)
D4 = A1 - B1
Notice A4 = D4. I think we can solve for the rest without looking at any other special cases:
A5 = ABS(A4 - D4)
B5 = ABS(B4 - A4)
C5 = ABS(C4 - B4)
D5 = ABS(D4 - C4)
A5 = 0
B5 = ABS(B4 - A4)
C5 = ABS(C4 - B4)
D5 = ABS(A4 - C4)
A6 = ABS(0 - D5)
B6 = ABS( ABS(B4 - A4) - 0)
C6 = ABS( ABS(C4 - B4) - ABS(B4 - A4))
D6 = ABS( ABS(A4 - C4) - ABS(C4 - B4))
A6 = 0
B6 = ABS(B4 - A4)
C6 = ABS( ABS(C4 - B4) - ABS(B4 - A4))
D6 = ABS( ABS(A4 - C4) - ABS(C4 - B4))
I suspect I'm very close to the end, but in order to continue I need to make further assumptions about the relative values of A4, B4, and C4. Each time I make assumptions like this I create another set of branches in this giant tree of conditions. This work has lead me to one conclusion though... The number of iterations required likely has much more to do with the relative values of original data rather than actual values.
I don't know how to proceed with this problem. So, with all due humility, I declare it an unsolvable problem.
Let's move on.