It’s been a while since we’ve
used mathematics to discuss gospel subjects, so let’s introduce two common problems in computer science:
Problem 1: Imagine a lake, which due to an amazing geological miracle happens to be shaped in a perfect rectangle. On the lake are N boats, each at their own unique (X,Y) locations on the lake. The task is: Find the two boats that are closest in distance to each other.
Problem 2: We have a travelling salesman who has to visit N cities during his trip. Given a grid of how distant each city is from each other, what’s the most efficient way to hit all N cities in one trip? In other words, what’s the shortest path the salesman can take that would visit all N cities in the least amount of miles?
In both cases, the simplest way to make sure we find the correct answer is through what in computer science terms is called the
brute force method. Basically, try all the possible combinations and select the lowest value. In problem 1, we take each boat in turn, calculate the distance between it and every other boat, and make note of which value is the shortest. In problem 2, we compare every possible path through all N cities and make note of which path is the shortest.
Obviously, the “brute force” method will always find the right answer in the end, but it is not very efficient. Since each boat has to be compared with every other boat, the time and effort it takes to do all the calculations increases exponentially as the number of boats increases. With 20 boats, this is not a big problem—with 20 MILLION boats, say, even a computer that could calculate the distance between two boats in 10 nanoseconds would still take 126 years to check all possible boat pairs.
Common sense suggests we should be able to find a better solution than “brute force”. We may not know which pair of boats are the closest just by looking at the picture, but it’s obvious even to non-mathematicians that it is certainly NOT G and M, or A and S, for example. If we know there are some boat pairs that are clearly NOT the right answer, then there’s no reason to spend the time to calculate the distances between them. Therefore, there should be some way to optimize our calculations by only focusing on a subset of potential candidates that
could be the shortest pair and ignore the others. Such a method would still find the correct answer in the end, but in a faster and more efficient manner than the “brute force” method.
(We’re not talking about just eyeballing the graph and making educated guesses, either. One can prove mathematically that given boats A and S, and some third boat T, that if you draw a triangle between those three boats, and the angle at point T is greater than 90 degrees, then the distance between either A-T or T-S *must* be shorter than A-S—therefore, the actual distance between A and S doesn’t need to be calculated since we know cannot possibly be the right answer. If this triangle math seems like *more* work than just calculating the distance between A and S in the first place, you’re correct…for smaller examples. But in cases of millions of boats where a triangle or two can eliminate several thousand possibilities that don’t need to be considered, the time savings will add up.)
The danger of departing from the “brute force” method which we know will spit out the right answer (eventually), is that we’ll end up with what we’ll call a “Max Power” solution, named after a famous “Simpsons” episode where Homer changes his name to Max Power.
Homer: There’s three ways to do things: the right way, the wrong way, and the Max Power way!
Bart: Isn’t that just the wrong way?
Homer: Yes…but FASTER!
It doesn’t do any good to use an alternate method that’s faster than “brute force”…but which gives you the wrong answer. It’s dangerous for programmers to get sucked into a “Max Power” solution which is fast, and seems to work
most of the time, but in the end is not guaranteed to give you the correct answer in all cases. (Obviously, the point of the exercise was to find the correct answer, not just to "finish faster")
The boat problem has solutions that are faster than pure ‘brute force’, and are guaranteed to find the correct answer. (Basically, divide the lake into sub-quadrants and calculate the closest pair of boats in each quadrant. Unless a boat is close to the border, you generally won’t have to calculate the distance between a boat in one quadrant and any boat not in the same quadrant, saving tremendous amounts of time.)
The salesman problem, however, does not. The travelling salesman problem belongs to
a class of mathematical problems that do not have a non-‘brute force’ answer. If you want the correct answer, you *have* to consider every possible route and find out which one is shorter…there are no shortcuts to doing so. (Some applications can get away with a “Max Power” approach here, which can find an ‘acceptably short’ solution which is good enough for practical use, but which is never guaranteed to be the actual shortest route.)
With that as a foundation, let’s discuss home teaching.
Home teaching in the Church is, literally, the “brute force” method of caring for fellow members. Every member is assigned a home teacher, and every member is expected to be visited. Many members complain, not unreasonably, that not every member really needs to be home taught and that largely the current system is a waste of time.
Well, yes…by definition, the “brute force” solution wastes a lot of time. But—here’s the point--it gives you the ‘right answer’, which in this case means ensuring that every member who needs to be home taught, is. Saying we should only home teach those people who need it is like saying airport security shouldn’t screen everyone, but only those airplane passengers who present a threat. (“But…”)
Unfortunately, like the travelling salesman problem above, home teaching is a problem with no non-brute-force solution. One can’t ‘guess’ which members need it and which ones don’t—any attempt to do so will, if not immediately then eventually, miss someone. (Another obvious point: home teaching is not ‘static’—families that didn’t ‘need’ home teachers last month may suddenly need a lot of help this month due to changing circumstances…)
Complaints against the current system of home teaching are valid…but also irrelevant at the same time, because there are no alternate solutions that will accomplish the same ends. If the ultimate goal is making sure all members who need home teachers have home teachers, every other system just becomes a “Max Power” solution: where the goal isn’t accomplished, but it’s not accomplished in a faster, more efficient way!
(Now, I recognize the primary objection: that plenty of people who need home teachers fall through the cracks as it is now, since plenty of people don't fulfill their home teaching assignments. Since any alternate system, though, will also fundamentally depend on people fulfilling their assignments, we’ll have exactly the same point of failure—and almost certainly the same result. Since any alternate solution shares the same flaw, it can’t reasonably be used as a valid argument against the brute force method.)
I've struggled through plenty of visits where families clearly aren't interested in hearing a message and are happy when we leave. I've been annoyed at times when our own home teachers disrupt our regular schedule and share a message I have no interest in. Yet, I'm still glad those home teachers are there. Who knows what our family is going to need a month from now? The current system may be inelegant and inefficient, but in the end it's the only system that is going to accomplish the proper goal.