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).
Large parts of mathematics can be expressed in terms of algorithms (sometimes called constructive mathematics).
ReplyDelete