It may not be obvious from this blog, but I started out as an algorithms researcher and still work in the area. One of favorite kinds of work is helping practitioners use algorithms to solve their real-world problems. Recently (more precisely, a couple of too-busy-to-blog months ago) I attended a workshop on Algorithms in the Field devoted specifically to that area, which prodded me into some action. I believe that often the algorithmic solution to a practical problem already exists, and the main challenge is connecting the practitioner with the problem to the algorithmicist aware of the solution. At the extreme, you can sometimes solve the whole problem with a five minute conversation and a preexisting algorithms paper (that was my experience with this paper on natural language processing that we published at NAACL).

Too often when I ask a practitioner for such problems, they come back with a problem where they aren’t quite sure what it they want to compute. Algorithms isn’t as directly useful in this “problem definition” stage. Intead, the kinds of problems most susceptible to algorithmic contributions are ones where the practitioner already knows exactly how to solve them with too much time/space/computational resources. Good algorithms can often substitute for these resources.

So if you happen to have a problem of that sort, please be in touch.