Monday, April 9, 2007

Science of Structure

In an effort to get back in the habit of writing here, I thought I'd throw out something less technical.

One of my main interests is mathematics. Like a lot of people who love math, I end up getting the typical "oh I'm not good at math" or "I never liked math" responses when I tell people this. I try to clarify the situation by pointing out that it's not math they dislike, it's arithmetic. Arithmetic is all the algebra, long division, how-do-I-multiply-fractions business that most people associate as Math with a scary capitol M. That's not math, it's mechanism. To me, mathematics is the science of structure. It's the science that at a fundamental level tries to both abstract away phenomenon to their core essentials and illustrate the deep connections between the seemingly disparate.

Given this characterization, it probably is no surprise that my favorite branch of mathematics is category theory. I find this "abstract nonsense" to be rather inspiring in it's ability to connect ideas and concepts together, to serve as a framework for abstraction. What's more are the apparently rich ties to computer science. Haskell's monads may seem like the proverbial dead horse here, but they really are an excellent example.

I have been studying category in my spare time for several months now. My main book is MacLane's "Categories for the Working Mathematician". I think it's a very dense, but very good, book. My recommendation for study from it is to spread it out over short periods. Don't try and sit down and absorb fifty pages of this book at once, it won't work. Just read a single section, do a couple of the proofs, and then go back to something else for the rest of the day. I find it's a pretty good book to work on during lunch breaks, if your company is nice enough to give you hour long ones.

There are a few mathematical ideas that I've been kicking around lately: first, how does one generalize the notion of continuous function & homotopy to categories instead of topologic spaces. Now, I did some skimming around and found that continuous functors are defined as ones that preserve limits in a category but I realized that I'm not sure if this is just a meaningless pun or if limits in a category really do have the same meaning as limits in a topologic space. Second, is a general interest of mine in mathematical foundations of genetic programming and genetic algorithms. Not in terms of convergence and all that, but more in terms of what structure you need to have on the genotype and the transformation to phenotype in order to have a system able to evolve. For example, it seems like you need to have some sort of zipper-like structure on the genotype in order to do crossover. I haven't thought about it too much though.


Miles said...

I thought about the connection between the topological and categorical notion of limit a while ago, but (annoyingly) can't find my notes on the subject. So this is off the top of my head...

Partially-ordered sets (posets) are categories. In the special case of posets, the notion of limits reduces to that of greatest lower bounds (also known as infima, or meets). Dually, colimits are least upper bounds (suprema, or joins). Order theorists have long been in the habit of referring to monotonic maps (functors between posets) as "continuous" if they preserve joins - this is what a category theorist would call "cocontinuous" - don't you hate it when terminology clashes like that?

Now, consider a function f : R -> R. It can be shown (check this bit, it's the bit I'm not sure about!) that f is continuous in the topological sense iff it preserves infima, ie iff it is continuous in the categorical sense. Equivalently, f is topologically continuous iff it preserves suprema, and hence is continuous in the order-theoretic sense.

So, one relation between the categorical and topological notions of continuity is that they both generalize the ordinary notion of continuity of real-valued functions. There are undoubtedly more sophisticated answers to your question, though...

[By the way, the terminology of limits is still something of a mess. Categorists use "limit" and "colimit" pretty consistently, but it's still quite common for other mathematicians to use "inverse limit" and "direct limit", even where the colimit being considered is not over a directed poset :-( At least we've mostly killed off "triple" in favour of "monad"...]

Anonymous said...

Another connection between category theory and topology is one in which we think of the objects in a category as a basis of neighbourhoods, the morphisms as some kind of inclusion, and then we axiomatise the notion of a neighbourhood being covered by a family of neighbourhoods. To look into this connection, google for "Grothendieck topology". I'm not too sure what happens to the notion of continuous function when you generalise topology in this way. I think a "point" comes out as a limit (maximal, terminal) object of some kind. [Hope this makes a little sense...]