USS Clueless              Voyages of a restless mind
Stardate 20011019.1845 (On Screen vi long range sensors): The main body of this article is interesting; it posits that nations and groups which are still grousing over past iniquities, often hundreds of years past, actually betray the fact that they are unhappy with their sorry state today. In essence, successful nations and groups don't do this; it's only groups that fail and don't want to take responsibility for their failure. There's some truth to this.

But it was his addendum to his article, about something completely different, that got me thinking. He asks people to write in with questions about mathematics which confuse them. I, like him, have a heavy background in math; rather than talk about that specifically, I'm going to get all nerdy and explain what I think is the most powerful mathematical concept that I think most people have never heard of. It's isomorphism, and it's a term from set theory. So, let's see if I can describe it rigorously, and then I'll provide an explanation of it.

Given sets A and B and a transform F, then if for every entry in A the transform F selects one and only one entry in B then F is called a "function", and we say that F(A)=B. If there exists an inverse function F' such that F'(B)=A and such that F'(F(x))=x for all x in A, then F is said to be a "one to one" function.

Given sets A, B and a function F such that F(A)=B, and given sets a, b and a function f such that f(a)=b, then if it is possible to set up one-to-one functions C(A)=a and D(b)=B, such that D(f(C(A))=F(A) then F and f are isomorphic.

Note also that since C and D are one-to-one functions, then there must exist inverse functions C' and D' such that D'(F(C'(a))=f(a).

Boy, was that a pain to format by hand. Sheesh. Anyway, what that means is that some problems in one space may be difficult to solve but a different problem in a different space may be easy to solve. If you can set up those transform functions C and D and if they are not difficult either, it may actually be easier to transform the problem into the other space, solve it there, and transform the solution back. In fact, we do it all the time; that is how we apply mathematics to the real world.

If we have a bag with 17 gumballs in it and add 23 gumballs to the bag, then how many gumballs will there be in the bag? 40, right? But if you didn't know any mathematics, the only way to find out would be to do it and count the result. What you actually did to solve that problem was to convert a pile of 17 gumballs into the mathematical construct 17 and equally 23 physical gumballs into the mathematical construct 23, apply the mathematical function "addition" to them yielding the mathematical construct 40, and then convert that back into the expected physical reality of 40 gumballs.

Technically speaking, what you did was to identify set A as the space of pre-merge piles of gumballs, a one-to-one transform C between A and the space of integers a representing the sizes of pre-merge piles of gumballs, use "addition" for the function f yielding b, a numerical representation of combined piles, and a transform D back from b to the set B which is the set of combined piles. As a result, you can use this to predict how big piles of gumballs will be when you merge them without counting the result. This becomes particularly valuable when the numbers involved are large, because addition scales for big numbers far better than counting does. (It's a lot faster to add two ten-digit numbers then it is to count ten billion objects.) Since the mathematical construct "addition" is isomorphic to the physical operation of combining two piles of gumballs (or almost anything else) into a single pile, you get the right answer.

Mathematics is only useful to us because of its isomorphism to various real world operations; without it, all mathematics would be nothing more than an interesting intellectual puzzle. The only pitfall is when we think we can construct the two transform functions and assume an isomorphism which isn't there; if we're mistaken, then math will give us the wrong answer. It's not that the math is false, rather it's that either the transforms were incorrect or the function we tried to use wasn't really isomorphic to the physical reality. For example, if we try to navigate a globe using a flat map and Euclidean geometry, we'll get lost. Plane geometry is not isomorphic to nagivation on the surface of a sphere. Spherical geometry, on the other hand, is.

Another more famous example is Newton's physics. He created a series of algebraic formulas and postulated that they were isomorphic to the behavior of moving objects. It took nearly 300 years before people realized that they weren't quite right, then Einstein rewrote them, made them slightly more elaborate, and now we do think that they give the right answers. (That was part of the Theory of Special Relativity, by the way.)

But isomorphism is more powerful than that, because not only does it permit you to switch between spaces, it also allows you to demonstrate that seemingly unrelated problems in the same space are actually identical. For example, algebraic transformations of equations are actually a series of isomorphisms; you process a complex equation into a simple one because the operations you perform in those tranformations guarantee that the result is isomorphic.

All mathematical proofs rely on isomorphisms. You prove that an equation is true by setting up a series of transforms which demonstrate an isomorphism between the equation and the tautology 1=1. Equally, you prove that an equation is false by setting up a series of transforms which demonstrate an isomorphism between the equation and the contradiction 1=0.

Back in the real world, cracking a given RSA cipher is isomorphic to factoring a certain composite number. If either of those problems is ever solved in an efficient fashion, the other will be too, because the transforms are extremely easy. Equally, in computer science one way to prove uncomputability is to demonstrate isomorphism to the Stopping Problem, which has been proved rigorously to not have a general solution for a Turing machine. I can demonstrate that automated removal of dead code from source has no general solution for a Pentium because I can demonstrate a transform function from the Pentium to a Turing machine, an isomorphism between dead code removal and the Stopping Problem, and a transform back from the Turing machine solution space to the Pentium space. Thus there is no general solution for the Pentium for that problem; it can't be coded and it's pointless to try.

In a sense, isomorphism is the most important principle in mathematics; it's surprising how few people even know the word. (discuss)