Designing Algorithms Is Fun For Engineering
he word may strip bare your math self-esteem. It may recall grim visions of seventh-grade algebra. It may evoke the terror of the math final with problems you hadn't a clue how to solve.
Relax. Algorithms are fun, says Sanguthevar Rajasekaran, UTC Professor of Computer Science and Engineering. And even though they power complex software programs that he and his students design and build, he prefers to design algorithms - methods for solving a problem - with a pencil and paper, scribbling and doodling.
He's not worried that he can't easily describe how he comes up with them: "It's like asking an artist how he or she creates things," he says.
There are hundreds of algorithms that can be used to sort things. Rajasekaran's job is to find solutions that take the least amount of time and involve the fewest operations. Sorting is just an example of a problem he is interested in. There are many other problems he has worked on.
Rajasekaran's scientific papers are theoretical, but they can lead to very practical results.
"I like theory a lot," he says, "but in my opinion, that also helps in practice. Without a good background in theory, it's not possible to produce good quality software."
But it's not just the solution that intrigues him. It's finding the best solution, or designing the most efficient algorithm.
"It's an art more than a science," he said.
One of his contributions to the field has been in parallel computing, using many computers to work on the same problem. For example, he might use 10 machines to work on different parts of one problem. His concern then is to figure out how to break up the problem to solve it most efficiently.
Algorithms aren't the sole concern of computer scientists. Physicists and biologists also need algorithms to solve their research problems. One of the attractions of algorithms to Rajasekaran is that he can work in many domains.
He's working with scientists in the Department of Neuroscience at the UConn Health Center on motif searches. Biologists generate a lot of data - the human genome project is
a good example - and they require efficient techniques to extract from it what they need. A motif search is one way to find useful parts of biological data repeated across species and in many parts of the database. The neuroscientists he works with might use motifs to do experiments that could lead to new methods of diagnosis or new drug designs.
Computer online security is another area where algorithms are designed to tackle big problems. Before joining UConn last fall, Rajasekaran was chief scientist for Arcot Systems in Santa Clara, Calif., a company that devises online security software for organizations including hospitals and banks. One of his six graduate students is now working on security-related problems. Others work on motif search problems and on fundamental algorithms.
Rajasekaran also enjoys working with undergraduates on independent research projects, and this fall he is teaching an undergraduate course on algorithms and complexity.
"I like to work with undergraduates," he says. "They tend to think in a more unconventional way than the graduate students, who have been trained."
The NSF-funded work, which also involves researchers at the University of Florida, Dartmouth, and Florida International University, will develop unified techniques for searching massive data sets. Unified algorithms can be used for problems in different fields.
Companies such as WalMart accumulate vast amounts of customer data that they need to search and glean for useful marketing information. Marketers have specific techniques for processing data, such as association-rule algorithms, that differ from the sequence analysis techniques often used for biological data. A unified algorithm would provide a generic technique that would work well for both.
When the amount of data to be processed is huge, often the data has to be stored in secondary devices such as discs. Accessing data from secondary devices is much more time-consuming than retrieving data from the main memory of a computer. Techniques that can efficiently process data residing in secondary devices are called "out-of-core" algorithms. The NSF project Rajasekaran heads will develop out-of-core information extraction algorithms.
Rajasekaran also is collaborating with Reda Ammar, professor and department head of computer science and engineering, on fuel cell research; and with Pouran Faghri, professor of allied health, on a project to design an exercise bicycle for the physically challenged.
Rajasekaran grew up in southern India and came to the United States to attend Harvard, where he was first introduced to algorithms and where he earned a Ph.D. in 1988.
He came to UConn from Arcot a year ago to accept the UTC Chair, an endowed professorship that provides support for fundamental research and for graduate students.
Before working in industry, he was a tenured professor at the University of Florida. He says he is glad to return to an academic setting: "In academia, one can work on any problem, no matter how difficult, without constraints."