3 ms·
I would argue that the cross pollination is happening already. In my Convex Optimization grad course, three fourth of us were CS/EE majors (the majority being C
by eshvk 14y ago
I would argue that the cross pollination is happening already. In my Convex Optimization grad course, three fourth of us were CS/EE majors (the majority being C.S.). The material is not that hard to pick up if you have a background in Linear Algebra and Probability which if you are doing research in Machine Learning, you have already picked up.
Depending on the specifics of the problem, I would assert that it is possible for a more traditional OR trained person (who is rapidly disappearing IMO) to beat the CS person. Software Engineering tells you to modularize your code, use meaningful variable names etc. Typically Matlab codes written for OR problems try to replicate the same variable names used in deriving out the analytic equations (e.g. v, \lambda, \eta etc). Also, there is a strong emphasis on trying to make the code as compact as possible at the cost of modularity as a way of ensuring that mistakes are minimized. I have learned from painful experience (17 hours of debugging :) that the latter way of thinking is not wrong just different and even makes sense in specific domain related problems.
- dvse 14y agoI think now it is fairly generally appreciated that interior point methods constitute perhaps the most powerful class of tractable algorithms there is, yet remarkably they are hardly ever mentioned in any of the undergrad CS algorithms classes. Usually there is a passing mention of linear programming to establish an auxiliary result like max flow / min cut duality but that's it.
- eshvk 14y agoYeah but an undergrad class in algorithms is supposed to in most cases just give you a deeper view of traditional C.S algorithms. There are quite a few topics which are barely skimmed ( approximation algorithms, randomized algorithms). I believe that is OK because as long as most of the students are trained to think algorithmically, that should be fine. After all, most advanced stuff becomes much easier once you have the basics fundamentals clear.
- dvse 14y agoAll true, but the idea that a good fraction of combinatorial algorithms that undergrads see can be replaced (albeit less efficiently) by linear programming is important. Not clear how classical CS curriculum helps to appreciate this either. And after all, LP used to be considered an almost elementary topic before it mysteriously dropped out the curriculum (perhaps something to do with linear algebra no longer being compulsory).