Last week, I had made a blogpost about my dissatisfaction regarding the current situation in Computer Science research around me. Based on that, I also started a discussion thread on Facebook: "Should IISc and the IITs attach with each lab a dedicated group for India-specific research?" I also discussed this with friends in person, on phone and over gmail chat. The thread of FB continued for two-and-half days before it had to be withdrawn due to an unfortunate incident of spamming and personal attack on me. Nevertheless, I understand on hindsight that I had failed to highlight my main intention, which is why some people grossly misinterpreted it. The main misinterpretations were as follows:
1) I am making a patriotic appeal to indians to serve india rather than fleeing to US
2) I am suggesting that iisc should narrow down its research by putting the interest of india before that of the world.
3) I am suggesting that phd students should do the job of social workers and the government
4) I am confusing between social responsibility and good research.
I first of all make it clear that I intend none of these things. To describe what I actually intend, let us proceed step-by-step.
What is the aim of research? In my understanding, it is twofold: a better understanding of the world and nature (Science) and of mankind (Arts) (basic research); and applying the understanding thus gained for betterment of country/society/world (engineering and medicine) (applied research). Since most of us are students of Computer Science and Engineering, let us focus on that. About a third of CSE is basic research, and the rest applied research. The areas which are basic research are mostly related to discrete maths (graph theory/algebra/geometry), probability theory, complexity theory, learning theory etc. The nature of research in these areas is exploratory; discovering properties of graphs, automaton, markov chains, algorithms etc. Applied research in CSE involves design for efficient performance (algorithms, compilers, architecture, database, network protocols, programming languages etc) and modeling of real-world situations for efficient solution (machine learning, data mining, computer vision, NLP, game thoery, network management etc).
Although I have not made any literature survey on most of these fields, I understand that, in the initial stages, say the first 30-40 years, a lot of research has been done towards the most fundamental challenges- sometimes unsuccessfully. For example, the P=NP problem still remains unsolved. Modern researchers in complexity theory seem to have accepted that the problem is possibly too difficult, however to keep their careers alive, have found ways around it. Lots of new complexity classes have been proposed. However, many people remain sceptic that these are actually not of much theoretical significance, and have been mostly proposed for the sake of publishing papers. An eminent Computer Scientist, Richard Karp, recently expressed this view in an interaction with students in IISc. Another trend that has developed in many disciplnes under theoretical CS is to explore some special cases in case the general case is too difficult. That's perfectly reasonable, but again the question arises: are the special cases being investigated actually of any use to anyone? Of course, as researchers in basic science they need not look for problems which are of real use, but since they are anyway making a compromise with the main problem, should they better not look for something which are of use to someone else?
The situation is much worse in the modeling-based areas. These are aimed at modeling real-world situations. On many questions, the first round of reserach is complete, sometimes unsuccessfully. The general tendency of research in the current times are to address situations where existing methods will fail, and build solutions for them. It also happens that researchers have a method in mind, and look for suitable applications for it. But the problem is that, in most cases, the researchers are hardly aware of the ground situation in the real-world applications they are targeting. For their greed of publishing papers thick and fast, they "invent" problems to push their solutions- problems which may not exist at all, or may exist in a different form altogether. Or it can happen that the assumptions they make in their proposed solutions, are often useless. This type of research is, in my opinion, dishonest; it is almost like insulting the real-world problem.
Whatever the case, this is how research goes on; people in academia publish papers thick and fast. I am not saying that all of the papers are corrupted by the above problems, but most people around me agree that it is the case more often than not. Of course the conferences have review processes but they are far from foolproof, and paper-hungry researchers know how to beat them...often they innovate strategies for it.
How do researchers justify it? Mostly they say that they are interested in the theoretical aspect only, or that they hope some day there will be situations where the assumptions made by them, or the special cases explored by them, will be of interest. Without contradicting this point, I have a question: have we really explored the present before jumping into the future? And regarding the first point (interested in theoretical aspect only), I would say that in the pretext of doing research one should not forget the point that the most of CSE is applied research only, and the final aim of appiled research is a practical one: namely the betterment of people.
So here is the proposal. Research is based on explorations and solving problems. Researchers are "inventing" cases to explore and problems to solve, but the problems of the world are far from over. Especially so in the developing countries. My institute, IISc, is in India, which is a developing country, and has lots of problems. Has there been any honest survey aimed to check if any of its problems can be solved by the current state of research? Do any of these problems open up new research problems? Do they give the explorative researchers new and meaningful special cases to explore? Do they give modeling-based researchers new constraints and challenges to model? If not, then maybe we can move on and continue whatever we were doing. But i think, to improve the quality of research, it is necessary to replenish the supply of problems. Necessity, of course, is the mother of invention. And examples are not far-fetched when real-world problems turn into problems for fundamental research. Remember the Seven Bridges of Konigsberg?
Why do people come to research at all? I guess there are 3 main reasons:
1) Better career opportunities/ material benifits
2) Desire to do some service to country/society (applied) or civilization (basic)
3) Desire to do whatever they want, without bothering whether it is useful or not.
I guess the third category is very small in size, and i cannot comment on them. The current tendency of research of course makes sense to the first category, while the second category is likely to be annoyed by it. My proposal is put from the perspective of the second category, without hurting the interests of the first category.
Most people in the world will accept that they have some responsibility towards the society/country they live in. That should be particularly true in countries like India. In highly developed countries, like USA, people can really afford to do anything that they want. But in India, I don't like the fact that researchers should waste their time and the governemnt's money doing useless things. Of course, the aim of iisc is to do good research, and hardcore researchers argue that research and social responsibility should not be mixed. Make no mistake, by useless I don't mean research that is not of direct use to society, I mean research that has the flaws mentioned above. I am perfectly in favour of continuing abstract research provided it is done honestly. But I guess, from the arguments above, the proposal is not just about social responsibility, it is about improving the quality of research also. Moreover, there is no narrow nationalist interest in this; if a solution is found for a problem in India, it can also be made known to the rest of the world. And the proposal never says that implementing the solutions (if found) in India should be done by the researchers in IISc. No, that is for the government and social workers. The proposal only talks about finding the solutions if possible through research.
Finally it may be asked, "what is the need for problems when there are so many problems in the papers?" True, but if there is a problem in a paper there is also a solution to it, why look for another solution? If it happens that one particular case has been analyzed in the paper and i want to generalize it, then it's fine. But in real-world modeling-based areas of CS such generalizations are not possible, simply because one cannot generalize all possible variations in the real world. One can say that he wants to look for a better solution. If he finds, good, but otherwise he has to propose some variation of the same problem, or some special case of it, and most likely he will again end up "inventing a problem". The general strategy of researchers who choose problems from papers is to choose "relatively new" problems so that there are not too many competitors, but then why not try a new problem altogether? That should be more ethical as well as more practical.