How to identify a research problem

本文通过两位科研人员的故事探讨了如何从粗略的想法中提炼出具体的研究挑战,并最终实现科研成果。文章强调了设定短期目标的重要性,以及如何通过这些目标积累信心。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:转载 计算所包云岗博士的博文。


【这是自己在2012年5月16日随手记录的,一直没想过与大家分享。一方面觉得自己研究水平还比较初级,似乎都是大牛才有资格介绍这种话题;另一方面,觉得自己的很多见解也是比较肤浅,而英语写作水平也不高,公开出来很可能会贻笑大方。但昨天看到一篇文章,忽然心中顿悟,觉得自己这个阶段更需要与其他人交流分享。


My Story at Princeton

I just completed the PARSEC project and started to look for new research projects. I came up with an idea that I planned to work on for 2~3 years with a group of 3~5 students. I discussed the idea with Prof. Kai Li and asked for his advice.  

I originally thought that Kai would like the idea, but he gave me unexpected feedback. He said that the project is too ambitious to be finished by just one person in a short time. Furthermore, from the methodology perspective, u sually, there is only one best solution for one specific goal. My idea  violated the natural rule that achieving three goals by doing just one thing. He suggested me to firstly look for an idea that I can make progress on in three months.

I had to admit that I was stunned by hearing the comment that was not supposed to be spoken out from Kai's mouth. I used to hear him talk about how to identify a research topic when I was in ICT several years ago. He disagreed with the way ICTers do research projects whose goals are to prudently complete the requirements of proposals. He told ICTers that you need to setup ambitious research projects aiming at global demands and  you also want to tolerate failure since good research implies high risk.

In his office, he kept talking about his opinion, experience as well as some concrete examples. He said, "if you devote yourself on a long-term project when you are just a junior faculty, you would probably not get any publications for a while, then some issues will show off. You might encounter doubt. People will doubt you. Especially in China, there is performance review every year. So you need to escalate your confidence through the progress of a series of short-term projects.". He added, "this proposal is sort of inappropriate but  I'm not gonna to criticize you. Actually  this is a good exercise. You can learn how to identify proper projects from these lessons. "

After I walked out from Kai's office, I reflected on my original way of doing research. It seems that I always come up with a bunch of rough ideas but never refine those ideas to several concrete challenges. Thus, I always propose kind of big projects. H ow to identify a proper idea? In fact, finding an idea means finding a good problem. I think there should be several common steps.
 

An overview of Research Flow

The following chart illustrates my understanding of how to carry on research.


Case Studies


Let's look at two case studies.

1. Dr. Xinyu Zhang wrote an article on how he did the research that ended up with ACM MobiCom 2011 best paper award (" 获得ACM MobiCom 2011 最佳论文奖",科学网 ). I drew the diagram to describe his experience according to the article.

In 2008, Xinyu took a course on real system and learned the idea of DVFS that is widely used in microprocessor. He asked a question that "why not apply DVFS to wireless receiver?". After doing survey and thinking, he found the reason that wireless receiver is required to obey Nyquist-Shannon Sampling Theorem in order to correctly receive and decode signals. It seems impossible to break the theorem, so he thought the idea was not doable. But in 2010, one day when he was reading papers, he suddenly came up with a solution that receiving and decoding can be decoupled. Then, he quickly implemented his idea and verified its feasibility. Finally, t his work won the ACM Mobicom 2011 best paper award which led him to be a faculty of University of Wisconsin Madison.

In Xinyu's story, I think the key reason he succeeded is that he had distilled the key challenge in 2008.




2. Prof. Kai Li was elected as a member of the National Academy of Engineering in 2012 for his contributions in the fields of data storage and distributed computer systems. Kai pioneered the distributed shared memory (DSM) techniques that allow users to program using a shared-memory programming model on clusters of computers.

I used to ask Kai how he came up with the great idea, and he answered that originally he was working on implementing a message-based programming model by RPC that was just proposed in the early 1980s. But he struggled with handling pointers between different machines. So he asked a question that "why not use global address space in the distributed system?".  He delved into the question and found that the key challenge was how to maintain data coherence among multiple machines. He borrowed the idea of CPU cache coherence protocol and applied it to DSM. Actually, his prestigious paper on DSM is entitled "memory coherence in shared virtual memory systems", which has been cited by more than 1600 times.

Kai's story exemplifies the importance of distilling key challenges after coming up with a rough new idea.



Actually, "how to do good research?" Perhaps this is the question that every researcher used to ask himself or herself. This article presents my thought and understanding on how to do good research. Be cautious that I am a good researcher yet but just a junior guy. You comments are welcome.
内容概要:本文深入探讨了Kotlin语言在函数式编程和跨平台开发方面的特性和优势,结合详细的代码案例,展示了Kotlin的核心技巧和应用场景。文章首先介绍了高阶函数和Lambda表达式的使用,解释了它们如何简化集合操作和回调函数处理。接着,详细讲解了Kotlin Multiplatform(KMP)的实现方式,包括共享模块的创建和平台特定模块的配置,展示了如何通过共享业务逻辑代码提高开发效率。最后,文章总结了Kotlin在Android开发、跨平台移动开发、后端开发和Web开发中的应用场景,并展望了其未来发展趋势,指出Kotlin将继续在函数式编程和跨平台开发领域不断完善和发展。; 适合人群:对函数式编程和跨平台开发感兴趣的开发者,尤其是有一定编程基础的Kotlin初学者和中级开发者。; 使用场景及目标:①理解Kotlin中高阶函数和Lambda表达式的使用方法及其在实际开发中的应用场景;②掌握Kotlin Multiplatform的实现方式,能够在多个平台上共享业务逻辑代码,提高开发效率;③了解Kotlin在不同开发领域的应用场景,为选择合适的技术栈提供参考。; 其他说明:本文不仅提供了理论知识,还结合了大量代码案例,帮助读者更好地理解和实践Kotlin的函数式编程特性和跨平台开发能力。建议读者在学习过程中动手实践代码案例,以加深理解和掌握。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值