Sunday, 17 April 2011

Necessity is the Mother of Invention

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.

Saturday, 9 April 2011

Academic Research as it appears to me today

(Disclaimer: The views expressed here are somewhat negative. They are a reflection of my thoughts and feelings at this time. I hope these will be proved wrong sometime in the future.)


PhD. The acronym still evokes a feeling of awe among many people. At a time, in the 1800s and 1900s, only a handful of people could get it. And they often went on to make ground-breaking work in their respective fields, mostly physics, chemistry, mathematics or literature, history, philosophy in those days. The world has thoroughly changed now. Doing a PhD is nothing uncommon now, in fact it is quite common. In every main city, in every single locality you may find a PhD-holder. Apart from the traditional subjects mentioned above, PhDs are now common in engineering (especially Computer Science - which is to the current world what physics was to it in the 1800s and 1900s),  management, finance, economics and what not.

Most people treat PhD as an important step in building their careers- and rightly so. That is how it is in the current world. And yet, there are some people who still romanticize the idea of PhD. They feel that to do a PhD is noble. Some of them think that academic research is the fullest attainment of  intellectual satisfaction. Other people think that PhD is a way to become a great scientist who will change the face of the world/country. That was the impression forced on me when i was in high school, and maybe even college. As a research student in Computer Science, i feel (at least now) that these people, unfortunately, are living in fool's paradise. Whether it should be so or not, is a different question, but definitely it is not like that. In fact, one prof in my dept has recently gone on record saying that he views research as "Business"- sell ideas to conferences/industry and get papers/patents in return. And that is where i feel frustrated.

In PhD, in most parts of the world, the first step is to "find a problem". Alyosha Efros, professor of Computer Vision from Carnegie Mellon University, said in a conference, "In PhD, spend 3 years looking for a problem. Then spend 1 year solving it".  This, to me, looks a very baffling idea. In a highly developed country like USA, people probably can afford to do this, but what about India? A student is typically 24 years of age when (s)he joins PhD- in other words (s)he is at the prime time of his/her life. Its the best time in life to go ahead and do something concrete, something significant and impactful. Is it then really worthwhile to spend 3 years searching for a problem? There are many many problems in India- poverty, social injustice, unemployment, corruption, population explosion, pollution, insurgency.... the list goes on. If a youngster approaching a prof for a problem and the prof does not have a problem at hand to give, the youngster should better go and attack these problems, which are visible and quite shocking. By the time a student would finish PhD, (s)he will be 28-29, and it would be time for him/her to marry and raise a family, and settle down into a life. One can still do social work after that, but family responsibilities (which cannot be and should not be avoided) will take up a significant amount of his/her time.

And in any case, even if a problem is found in the academic realm itself, is it always impactful to the world/country? I strongly doubt so. Because of the enormously large number of people turning to research, the current state of research is very esoteric, something that cannot be explained properly beyond a cliquey society of profs, students and maybe industry people  who are familiar with the area. I am working in Machine Learning/Computer Vision, but when my uncle, who also has a PhD (but in Bengali Literature) asks about my research, i found it difficult to explain to him what the work is about. Same thing happened when some delegates from Hitachi Labs visited our lab, or when UG students of Computer Science itself visited our department on the IISc Open Day. And it is not that I can't express well...the same problem was faced by most of my labmates. How can some work, which is not even understood by people beyond a clique, be of any significant impact?

The most common way in which Computer Science-related research (particularly Game Theory, Machine Learning and Algorithms) do create an impact now is that they are used by the internet giants like Yahoo!, Google, Microsoft and IBM. They use the research to improve their web services, and provide the user with better facilities. I am not saying anything against that, indeed i am writing this blog because of the facility offered to me by these companies. But my doubt remains- for an average Indian, is it at all an issue? The mother of all problems in India is assymetric progress of people, and as far as India is concerned, this sort of research will only help that small part of its population which has already been pampered excessively, especially since the economy opened up in 1991.


And even then, does the academic research actually help in solving such problems also? Sometimes they do, the most impactful ideas in Internet Research-the Page Rank Algorithm, Latent Variable Model, Topic Models,  etc came up from  academia only. But more often than not, problems in academic research remain only of academic interest. This is especially true in India where there are bright people in the academia but not enough collaboration with the industry.

Remember this article is not written by a cynic who knows nothing about PhD but by a PhD student himself. So if u r a patriotic-minded Indian (which I am), and u r thinking about PhD, do think again!!

Friday, 8 April 2011

My First Love

I was in class IX then. Our school had several sections in every standard. In class IX, the sections were reorganized on the basis of additional subjects. So the section had many faces new to me. Among them was a girl, about my height, very fair in complexion and a stunningly beautiful face. Her seat was not far from mine, but we had not talked in the first few months. While I thought she was beautiful, i had felt no particular attraction towards her.

31st july 2000. There was a Bangla Bandh, and just 8 of the 62 students in the class turned up. Among them she was there. The class hour had not yet begun. The 8 students were scattered around the classroom. I was standing, somewhat absent-minded near the door. Suddenly i heard from behind me, "Had the class teacher given some homework for today?" I turned and saw that it was she. Somewhat taken aback that she suddenly spoke to me, I replied that she had not. But then the class teacher entered the class, and
we stopped. No class was held that day because of the scant attendance, the students just spent the day chatting. She sat in the bench in front of me, and was taking history notes from another boy's notebook. While the other 6 students huddled around the rear part of the classroom and played Dumb Charades, she spoke to me while writing. We chatted for a long time. At length the slow and workless day came to an end. As I walked home, I was replaying in my mind the moments spent with her. I felt nothing special, but thoroughly enjoyed it. Over the next few days I did not get a chance to speak with her, but kept looking forward to talking to her again. The chance came after 10 days. She was showing me what a careless mistake she had done in the Maths test. But after that the Half-Yearly exams started, and everyone got busy with the huge syllabus. The test was tough, specially mechanics. During the exam days i saw her once in the corridor, but she did not see me and walked past me. But on september 8, when the classes resumed, i raninto her again. She smiled gleefully at me, and we had a long banterful chat. By now the feeling had crept within me. I knew for sure i was longing to talk to her all the time, and knew that she enjoyed my company. However i wanted to be cautious not to overdo things. We spoke several times in september, but then the exam results came out. I had performed well, in fact topped the class. But unfortunately her performance was very bad. I felt a bit embarassed to talk to her by myself, and waited till she talked to me. The school would remain closed for a month (for Puja) in October. Before the vacation started, as per traditions, a party was to be arranged in the class. It included food and a couple of dramas by students. I loved acting, and chose to participate in a bengali drama by Sukumar Ray. The day before the party, she waved to me, and asked me about  the drama and my role. I was happy, and even more happier the next day after the drama when she congratulated me for my performance! Then came the Pujas. Every year I visited lots of pandals in South Kolkata. It was, for me, an opportunity to walk the roads and discover the geography of the city, which was (and still is) one of my passions. On the closing day of Puja, I decided to go to a famous pandal. It was located in an area whose geography seemed particularly attractive to me. But another reason was that I had known that she lived somewhere in that area. Of course I had no idea where exactly she lived, and the odds of seeing her in the crowds of Puja was ridiculously low. Nevertheless I went around building castles in the air of me running into her during the Puja.

6th October, 2000. Kolkata was at its festive best. The drums were beating at every pandal. In the evening, i set out for the pandal with my dad. We walked through several pandals, and moved close to the main pandal i wanted. We saw a puja and walked towards it. A crowd had gathered in front of the pandal. In the pandal some musical program was going on. As we moved towards the pandal, i somehow turned left towards some people sitting on chairs, and guess what!!!!!! She was sitting there, right in front of my eyes!!!! My heart beat so fast that i literally felt unwell. I hopped-and-ran towards her, and greeted her. We spoke for a couple of minutes, but since my father was there, i had to leave with him. But i was completely dazed and stupefied. I was finding it hard to talk. It had been nothing short of a miracle. And i thought, if such a miracle can happen, then surely we are made for each other. Even on returning home i was still dazed, and i was somewhat afraid that parents would notice my abnormal behavior. I dreamt of the incident in my sleep. The next day i went to my uncle's place, where my cousins were also there. And there was a match- India vs Australia in Champion's Trophy 2000. Even sitting with my cousins before the TV, watching Yuvraj's classy innings and Zaheer yorking out Steve Waugh, i was mentally replaying the incident all through. The puja vacation passed, and classes  resumed. Through November and December i spoke to her regularly. We were now good friends. I was determined to make the approach. I had never felt like this for any girls. Though talk of affairs was common in class, there were not many affairs going on in the class. So it would be quite a novel thing. I decided not to rush things but take steps steadily. The first major step would be to gift her a card on New Year's Day.

2nd Jan 2001. I came to class with the card. I had cards for a few more friends as well, and i gave those away to the intended recipients. And then, during the lunch break, i finally got a chance to talk to her. After speaking a couple of minutes, i took the card and gave it to her. She was completely stunned for a second, as if finding hard to believe what was going on. Then she almost screamed out in joy or whatever emotion as she took the card. But i was embarrassed beyond hell. I knew immediately from her reaction that she has got the message already, which was not what i wanted. i wasn't prepared for this; i had not meant the card to be a proposal. i understood that i had blushed completely, and i could stand there no longer in embarrasment, i rushed out of the class.

What happenned after that? the news spread like wild fire, and was known to almost the entire school. i was unable to digest the fact that such a gossip was being created about me. i was embarrassed and even ashamed that i had done such a thing. I fought with myself for two months, trying to free myself of her infatuation. I never proposed or made any other move to her later, but we remained good friends for the rest of the school life. We lost contact after school, and despite searching for her on social networks i never found her. There were a couple of reunions of the schoolmates, but she did not turn up. It was only as late as 2010 that i finally found her on facebook, and then on orkut. But by then she was engaged, and soon she was married and moved abroad with her husband. I am still here, hopelessly single.

Thursday, 7 April 2011

Why I am Indian and not Bengali

India is a country of 26 states, all of which represent a single language, and many of which are the only region where that language is spoken. Although Hindi is the most widely spoken and the so-called "official language", 17 more languages are actually listed as official. Most of these languages have been used in cultural activities like literature, poetry, drama, cinema. On the other hand, for a country to exist as a single entity, there must be something common. Lots of books have been written about unity in diversity in India. Most people accept this theory, though some do not. And yet India has survived for over 64 years, and it can be said with poise that it will continue to survive long. Whatever the case, a question often discussed in india is, do people put their regional identities ahead of national identity? I am from the State of West Bengal, and I have often heard the question being discussed in mass media, "Are we Bengali first or Indian first?" Let me try to answer this question logically.

Before starting the debate, let us think: what are the definitions of "Bengali" and "Indian"? One possible answer is very objective and factual: a person whose mother tongue is the language bengali is "Bengali", and a person whose nationality is Indian is "Indian". Well if these are the definitions, then the question in question is quite meaningless as mother-tongue and nationality are not comparable. Then the people asking the question surely don't consider this definition. Possibly they are talking about identification with a community of people. A person identifies himself with another person if they have similar culture and taste in common. Possibly by "Bengali" they mean a person who identifies himself with other Bengalis, and the base case of this recursion is one who speaks the Bengali language, follows Bengali literature and arts, eats rice, fish and some other particular dishes, celebrates Durga Puja, enjoys Sourav Ganguly's batting etc. What about Indian? Possibly a person who identifies himself with other indians, and the base case being a person who lives or once lived somewhere in the nation called India, speaks one of the Indian languages, follows the art/literature in some Indian etc etc.

Next comes the question. As I see, one possible interpretation of the question is, "Should we put the interest of the Bengali community ahead of the interest of India?" Another interpretation may be, "Do we identify with Bengali people much more easily than people with the rest of India?" In other words, "Do the people of other parts of India appear foreign to us compared to Bengalis?"

There are two main ways of viewing hierarchies. Firstly, a person is himself, then he belongs to his state/linguistic group, then to his country, then to his continent, then to his planet, then to his galaxy etc. This is the bottom-up approach. The top-down approach will say, a person first belongs to the universe, then galaxy, then planet, the continent, then country, then state, and lastly himself. It is easy to see, the first approach says "Bengali first", and the second approach says "Indian first". Which of these approaches should be taken? Remember we have given two interpretations of the question. If the first interpretation (weighing of interest) is true, then of course one should be Indian first, as it is ethical to put interest of a larger cause ahead of those of a smaller cause. If building an atom bomb strengthens my country's position against its enemy, but also puts the world's safety and security in doubt, the bomb should not be built. Again if selecting an incompetant cricketer from my state into the national team gives some prestige to my state but weakens the team, it is not worth doing.

Regarding the second interpretation of the question (weighing of identity), the answer is much more complicated. For identification purpose the bottom-up approach is more natural, but the different steps in the hierarchy may not be equally important to a person in terms of identifying himself. In fact the most important step for a person may be missing from the hierarchy stated above. For example one can identify himself with people from his city/village only, and all other people look equally alien to him, even if they say the same language. A step in the mentioned hierarchy which is not significant to most people is the continent, at least for Asians. Africans and Europeans, in my belief, do attach some weightage to their continental identities. So it can wholly differ from person to person how he identifies himself with his linguistic group rather than to his country. As far as I am concerned, I can say without doubt that I identify fully with the "Indian" community, not at all with the "Bengali" community. Yes, my mother tongue is Bengali, i speak it, i follow bengali literature, music and cinema to some extent, and also celebrate durga puja. But i don't particularly identify with other people who do these things. I live in a campus with people from all over the country, but people not doing the above things do not seem alien to me at all. While I certainly have many friends who are from West Bengal and/or do all those things, i also have one friend from each of Punjab, Uttaranchal, Gujarat, Orissa, Chhattisgarh, Kerala, and several from Rajasthan, Delhi, UP, MP, Maharashtra, Karnataka, AP and TN. I never feel different from them, in fact i am fascinated to see the similarities in the mindsets, ettiquettes, customs, and even languages. And again, i have many differences from Bengalies: i do not like rice and do not eat fish, and am no great fan of Sourav Ganguly. I do watch bengali movies, but like bollywood more. I speak bengali at home, but in campus i speak more hindi and english. So i have no doubt that i am indian only, not bengali.

Finally, SHOULD one be bengali first or indian first? If the first interpretation (weighing of interests) is being considered, then i have already given the answer. If the weighing of identities is being considered, then too i feel one should be indian first. Most "bengali" people i have come across attach significant weights to both
the nation and the linguistic steps. That is fine, i just feel the weightage at the nation step should be more, for the sake of india's unity. It is only natural that people may love their mother-tongue and their food and festival and the cricket icon who does and loves all these. But given that india needs to stay united as a nation, one should also try to adjust themselves with the languages and habits of the other parts of india. It is not difficult to do. One just needs to keep a broad mind, and far more unities will show up than diversities. And if someone thinks he cannot manage without speaking bengali all the time, or eating bengali-style food etc, then it is an inability on his part. But apart from inability, if someone refuses to do so and insists that his "bengali"-step is more important, then i cannot say what he is wrong or illogical, i can only say that he is opposed to the ideals of an united india, and hence my enemy from this perspective. On the other hand if someone says
that for him the Bengali and Indian steps are not important, he is a globally-minded person who can identify with anyone from any country, i think he is somewhat advanced of his ages, but i do not criticize him.