Friday, March 5, 2010

Induction

So apparently, we aren't starting our unit on algorithms... yet. Instead, we are taking some time to talk about proof by induction. When I first learned about the proof by induction, I was a little skeptical. But, when I later thought about it, intuitively, it makes perfect. Of course, you can't really prove it since it is supposed to be axiomatic (however, I have read that in some logical systems with different definitions of natural numbers, you can prove the proof by induction). The way we went over it in class, with the symbols showing how one implies the other, seems to make things much more clear (I might be one of the few who finds symbols easier to understand than words). So far, the proof by induction examples aren't too bad. In calculus, I found proof by induction useful when it comes to proving a statement about a series, usually some sort of sum or product. The funny thing about the proof by induction is that it doesn't actually use inductive reasoning, but deductive reasoning, otherwise it would be disastrous if we based an a priori discipline such as mathematics on inductive logic. Inductive logic (which is more useful in the natural sciences) would be more along the lines of : (1) This piece of ice is cold. (2) Therefore, all ice is cold.

Algorithms are an interesting case because I can't really say whether or not they belong to mathematics. The study of algorithms seems to be an a priori study. I can easily imagine how you can prove or disprove algorithms. For instance, if you follow an algorithm and do not obtain a desired result (essentially providing a counter-example), then that would be a disproof of an algorithm. How would you prove one? Maybe by induction. Maybe using a proof by contradiction. This, I'm not too sure. However, you probably don't prove it by running hundreds of test cases, just like how you don't prove mathematical statements by providing hundreds of examples. However, I think test cases are still useful when it comes to implementation. If an algorithm is proven to be correct, you would still have to run test cases when it comes to actually implementing that algorithm in a specific language. The algorithm might be correct, but that doesn't mean that your implementation is.

However, I'm still not sure whether or not the study of algorithms goes under mathematics. I tend to see mathematics as dealing with quantities, and algorithms don't really have anything to do with quantities.

One of the most interesting subjects (for me at least) is the foundations of mathematics. I don't think U of T actually offers a course in that topic, and I wish it does (that, along with game theory).

1 comment:

  1. Large parts of mathematics can be expressed in terms of algorithms (sometimes called constructive mathematics).

    ReplyDelete