Monday, March 24, 2014

On Subtraction

Perchance you've by now stumbled upon a new method of subtraction that is allegedly being taught in elementary school, as part of the new "Common Core" recommendations:

For anyone used to the "borrow one" method (the "old fashion" way above), the "new" way might seem confusing at first.  Subtraction through addition?

This is not an entirely scandalous idea, if one is somewhat familiar with how for instance computers perform subtraction (using the method of complements).  How this particular method (our "Common Core" method, though I won't say it's named such because I've yet seen a good link to a recent textbook that teaches this) works is by counting upward from our lower number (the "subtrahend") to the higher number (the minuend), in easy-to-grasp intervals.  We add to get a multiple of 5 because we like working in 5s, we add to get to a multiple of 10 for the same reason, and we keep adding until we reach our destination.  All of those numbers we added will get us to the final answer; their sum is the difference between the minuend and the subtrahend, our answer.

This has the benefit of not actually having to teach subtraction.  Subtraction is, after all, just a different way of adding.  It does seem somewhat longer though: in the particular example above, the answer using the borrow one method completes the task in 2 simple steps.  The Common Core method takes around 7 (it could take 5 if we can add directly to get to 10s instead of 5s).  Of course, there are counter examples that are more efficient the latter way: 100-99 would take a couple "borrows" to complete, while the new method would take 1.

The new method is not particularly intriguing or difficult.  But, some, like Hemant Mehta, contend that it is actually easier.  I disagree.

The basic concept of subtraction is not extremely difficult to grasp: Joe has 11 apples, if he eats 3 he has (11 • 10 • 9 •8) 8 apples left.  If you can count up, you can count down.

The contesting difficulties in these methods are those of what it means to "borrow", and the number of steps it takes to solve a given subtraction problem with each algorithm.  We've given the new Common Core method its turn at being explained and justified; we can do what Hemant unfortunately did not do, and explain why the old borrow one method does make sense.  And we don't need to be very difficult with this either.

Our number system is base-10: we have single characters to represent each number up until we reach ten, and then we start forming larger groups of certain sizes, of size ten.  The number of those groups we have, we can count using our original numbers.

If I have, say, twenty-three objects, I can represent them by themselves as twenty-three objects:

• • • • • • • • • • • • • • • • • • • • • • •

and maybe I make up a symbol for twenty-three, maybe Œ.  Or, what I can do is group them:

(• • • • • • • • • •) (• • • • • • • • • •) • • •

and so I have 2 groups of ten, 1 group of 3, and I represent that by an ordered pair of numbers: 23.  23 is the same as 2 of ten, and 3.

This concept will have to be learned at some point in school, and it is not a very difficult concept to grasp.  It is, in fact, adding.  And if I was to say that I could break apart one of my groups into individual pieces,

(• • • • • • • • • •) • • • • • • • • • • • • •

we'd all know what I was saying.

So how does the borrow one method work?  Well, you start taking away like-groups from like-groups, with 1s first.  If you have 8 ones and want to remove 3 of them, easy!  Then you move on.  But if you have 3 ones and want to remove 8, what do you do?  Well, again each larger "group" is merely a collection of a certain number of smaller groups.  Break one apart, like we did to the 2 groups of ten: we now have 3 and ten objects, more than 8, so we subtract.  And then we move on to the next group size, remembering that we just broke one apart.

The act of breaking a group apart is borrowing.  Does everyone think that they would be able to explain this now?

Again, this is not particularly difficult.  This is how kids have been taught how to subtract for a long time; that does not make it the best way of course, but has anyone really had a problem with it?  Has any math teacher been unable to explain the method?

Whether we can appreciate if simple subtraction is easier than simple addition, we can all appreciate that a method that takes fewer steps to implement has an appeal to it.  Now the example given in Hemant's blog of 3000-2999 is quite damning toward the borrow one method, isn't it!  You have to borrow several times, and keep track of extra numbers, you have to add to your groups, so on.

The thing about picking out individual examples because you like them (as you would pick, if you will, cherries) is that you don't really get a good idea of what the general case is.  Is the new Common Core method always better?  Has anyone taken the time to answer that question?

Fear not, I have!  In fact I've also taken the time to figure out how many different calculations you would need to complete subtraction on two numbers using the borrow one method, and the method of complements to boot.  I've completed this work in Excel (I found it more useful than, say, Matlab or R in keeping visual track of the steps of the algorithms, and the conditionals).  My graphs below show the results.

To briefly explain how each algorithm is carried out:

Borrow One: you subtract the ones-digit of the subtrahend from the ones-digit of the minuend.  If it is smaller, easy-peasy, one step; if it is larger, you (1) subtract one from the next digit, (2) add 10 to the current digit, and (3) subtract.  You then move on.  Trivial subtraction is counted as well (so, it takes a step to subtract 0 from 6, or 5 from 5).

Common Core: you add to the right-most non-zero digit to increase the next digit by one; you do this until the digits to the left of your current digit in the subtrahend match those in the minuend.  Then you add going to the right, to increase to the minuend's digits.  Then you add all of those numbers you added (if you added n numbers, you perform n–1 more additions).  An example, 84680–59391:

59391 (then add 9)
59400 (then add 600)
60000 (then add 20000)
80000 (then add 4000)
84000 (then add 600)
84600 (then add 80)

then add 9 + 600 + 20000 + 4000 + 600 + 80: 11 steps altogether.

Method of Complements: you first find the 9s–complement of your subtrahend (if your subtrahend XXXX has 4 digits, the 9s-complement is 9999–XXXX), which is 4 steps here (again, trivial subtraction is counted; this also technically uses the borrow one method, but you never have to borrow since you're starting with 9 each time).  Then you add that complement to your minuend (here, 4 steps more, or 5 since you'll have to carry), then knock off the leading 1 (same as subtracting 10000 here; 1 step), then add one to the result.  To demonstrate generally why this works, define your complement C, subtrahend S, minuend M, and difference D:

C = 9999 – S
S = 9999 – C

D = M – S
D = M – 9999 + C
D = M + C + (1 – 10000)

So which is more efficient?  If we're working with 5-digit numbers (leading zeros count), and draw a sufficiently large sample of pairings (10000 here) with the larger of the pair subtracting the smaller, then we can see that the borrow one method is much more efficient in general:
The Common Core method has a wider spread, with some very few pairings needing only 1 step; the minimum for the borrow one method is 5.  At the same time, the borrow one method has an average step count of ~9, whereas the average step count for the Common Core method is about 14-15, with a heavy skew toward higher numbers (15/17).  It is much less efficient.

But these kids are only barely learning subtraction, of course!  Let's keep it to numbers with only 2 or fewer digits.  This is a list we can fully exhaust, there are only 5050 unique pairings.  The results change somewhat: the method of complements is unequivocally the least efficient:
Still, the new method is inefficient, though it does have advantages to the simplest problems (the ones where it's actually kind of silly to think in terms of "algorithms" anyway).

This method isn't wrong by any means; I personally find it to be rather ad-hoc (especially for instance the movement to multiples of 5, and then multiples of 10... why?) and lengthy, and not really that much easier to grasp than the idea of simple subtraction or powers of ten (which students will have to learn anyway if they want to have a good understanding of decimals, non-linear equations, so on).  And I hope that I've helped to explain why.

I find Hemant's commentary funny:
"But none of that matters to the people who would rather complain about the "new" math without taking a second to understand what they're even looking at."
I guess I agree with that, yes.


  1. Random story: I was tutoring this little 4th grade boy the other week and felt stupid that I couldn't help him with his subtraction because of this weird new method they've been teaching. so thanks for the explanation

    1. No problem!

      A side note too, for other readers: in the above calculations I didn't include the (necessary) carrying of digits that has to happen at least once when adding the 9s-complement to the subtrahend. Technically, all of the method of complements calculations should be at least 13 steps for 5-digit numbers, and some may be more since there could be more carrying going on, but I'm lazy and put them all at 12 (5 digits + 5 digits, 5 steps, amirite? (no)). And at least 7 for the 2-digit calculations, same reason.