How to identify a research problem

2023-11-10 11:34
文章标签 problem identify research

本文主要是介绍How to identify a research problem,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【这是自己在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.

这篇关于How to identify a research problem的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/382403

相关文章

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)

题意是    ?  1  ?  2  ?  ...  ?  n = k 式子中给k,? 处可以填 + 也可以填 - ,问最小满足条件的n。 e.g k = 12  - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7。 先给证明,令 S(n) = 1 + 2 + 3 + 4 + 5 + .... + n 暴搜n,搜出当 S(n) >=

11991 - Easy Problem from Rujia Liu?

题意: 输入一串整型数列,再输入两个数k,v,输出第k个v的序号。不存在则输出0,如第一个样例 8 41 3 2 2 4 3 2 11 3 //第1个3,序号为2,输出22 4 //第2个4,不存在,输出03 2 //第3个2,序号为7,输出74 2 思路: struct num {

HDU 1016 Prime Ring Problem (深搜)

OJ题目 : click here ~~ 大概题意:n个数,形成一个环,使得相邻两个数的和为素数。以1开始,按字典序输出序列。 很简单的深搜。 AC_CODE int n;int visit[22];int num[22];int len;bool Is_prime(int x){for(int i = 2;i*i <= x;i++)if(x%i == 0) return

LVM 'Can’t open /dev/sdb1 exclusively. Mounted filesystem?' Problem

在将几块盘做LVM时,遇到一个之前都没遇到过的问题: root@ubuntu:~# pvcreate /dev/sdc1Can't open /dev/sdc1 exclusively. Mounted filesystem? 首先第一反应就是查看这个分区是否已经在使用了,但是没有。 查看硬盘的一些信息: root@ubuntu:~# cat /proc/partitionsmajo

Google Research 推出高效的Prompt Tuning方法

人工智能咨询培训老师叶梓 转载标明出处 一般模型微调方法需要对预训练模型的所有参数进行调整,这在大规模模型中既耗时又耗资源。Google Research的研究团队提出了一种名为“Prompt Tuning”的方法,旨在通过学习“软提示”来调整冻结的语言模型,使其能够更好地完成特定的下游任务。这种方法不仅简单有效,而且在模型规模增大时,其性能逐渐接近全模型微调(Model Tuning)的效果。

【HDU】3861 The King’s Problem 强连通缩点+有向图最小路径覆盖

传送门:【HDU】3861 The King’s Problem 题目分析:首先强连通缩点,因为形成一个环的王国肯定在一条路径中,这样才能保证拆的少。 然后缩点后就是DAG图了,由于题目要求的是最小路径覆盖,那么二分匹配即可。 代码如下: #include <cstdio>#include <cstring>#include <algorithm>#includ

【ZOJ】3362 Beer Problem 最小费用流

传送门:【ZOJ】3362 Beer Problem 题目分析:这道题本来应该很快就AC的,但是!因为我以前犯的一个致命错误导致我这题一天了到现在才调出来!唉。。失策。。貌似给的模板也有这个错误。。。马上就去改。。但是这个错误竟然还能过掉那么多的题。。害我还要一题一题的改回去。。 本题就是赤裸裸的最小费用流。 新建汇点t(源点即1),将所有的n-1个城市和汇点建边,容量为无穷大,

【HDU】4975 A simple Gaussian elimination problem. 网络流——行列建边

传送门:【HDU】4975 A simple Gaussian elimination problem. 题目分析:这题和某一场的多校的题目出奇的像啊!重要的是我一开始还以为不可能会出一样的题。。结果迟迟没写啊。。。后来觉得实在想不出什么对策了,虽然觉得给的是0~9很特殊,但是利用不起来,果断还是敲了网络流了。。首先建图很简单,源点向行建边,容量为行和,列向汇点建边,容量为列和,然后所有的

Splay树(区间更新)—— POJ 3468 A Simple Problem with Integers

对应POJ 题目:点击打开链接 A Simple Problem with Integers Time Limit: 5000MS Memory Limit: 131072KTotal Submissions: 72765 Accepted: 22465Case Time Limit: 2000MS Description You have N integers, A1