十二 182009

这或许是众多OIer最大的误区之一。

你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容都是在讲什么是P问题,什么是NP问题,什么是NPC问题,你如果不是很感兴趣就可以不看了。接下来你可以看到,把NP问题当成是 NPC问题是一个多大的错误。

还是先用几句话简单说明一下时间复杂度。时间复杂度并不是表示一个程序解决问题需要花多少时间,而是当问题规模扩大后,程序需要的时间长度增长得有多快。也 就是说,对于高速处理数据的计算机来说,处理某一个特定数据的效率不能衡量一个程序的好坏,而应该看当这个数据的规模变大到数百倍后,程序运行时间是否还 是一样,或者也跟着慢了数百倍,或者变慢了数万倍。不管数据有多大,程序处理花的时间始终是那么多的,我们就说这个程序很好,具有O(1)的时间复杂度,也称常数级复杂度;数据规模变得有多大,花的时间也跟着变得有多长,这个程序的时间复杂度就是O(n),比如找n个数中的最大值;而像冒泡排序、插入排序等,数据扩大2倍,时间变慢4倍的,属于O(n^2)的复杂度。还有一些穷举类的算法,所需时间长度成几何阶数上涨,这就是O(a^n)的指数级复杂度,甚至O(n!)的阶乘级复杂度。不会存在O(2*n^2)的复杂度,因为前面的那个“2”是系数,根本不会影响到整个程序的时间增长。同样地,O (n^3+n^2)的复杂度也就是O(n^3)的复杂度。因此,我们会说,一个O(0.01*n^3)的程序的效率比O(100*n^2)的效率低,尽管在n很小的时候,前者优于后者,但后者时间随数据规模增长得慢,最终O(n^3)的复杂度将远远超过O(n^2)。我们也说,O(n^100)的复杂度小于O(1.01^n)的复杂度。

容易看出,前面的几类复杂度被分为两种级别,其中后者的复杂度无论如何都远远大于前者:一种是O(1),O(log(n)),O(n^a)等,我们把它叫做多项式级的复杂度,因为它的规模n出现在底数的位置;另一种是O(a^n)O(n!)型复杂度,它是非多项式级的,其复杂度计算机往往不能承受。当我们在解决一个问题时,我们选择的算法通常都需要是多项式级的复杂度,非多项式级的复杂度需要的时间太多,往往会超时,除非是数据规模非常小。

自然地,人们会想到一个问题:会不会所有的问题都可以找到复杂度为多项式级的算法呢?很遗憾,答案是否定的。有些问题甚至根本不可能找到一个正确的算法来,这称之为“不可解问题”(Undecidable Decision Problem)。比如,输出从1nn个数的全排列。不管你用什么方法,你的复杂度都是阶乘级,因为你总得用阶乘级的时间打印出结果来。有人说,这样的“问题”不是一个“正规”的问题,正规的问题是让程序解决一个问题,输出一个“YES”或“NO”(这被称为判定性问题),或者一个什么什么的最优值(这被称为最优化问题)。那么,根据这个定义,我也能举出一个不大可能会有多项式级算法的问题来:Hamilton回路。问题是这样的:给你一个图,问你能否找到一条经过每个顶点一次且恰好一次(不遗漏也不重复)最后又走回来的路(满足这个条件的路径叫做Hamilton回路)。这个问题现在还没有找到多项式级的算法。事实上,这个问题就是我们后面要说的NPC问题。

下面引入P类问题的概念:如果一个问题可以找到一个能在多项式的时间里解决它的算法,那么这个问题就属于P问题。P是英文单词多项式的第一个字母。哪些问题是P类问题呢?通常NOINOIP不会出不属于P类问题的题目。我们常见到的一些信息奥赛的题目都是P问题。道理很简单,一个用穷举换来的非多项式级时间的超时程序不会涵盖任何有价值的算法。

接下来引入NP问题的概念。这个就有点难理解了,或者说容易理解错误。在这里强调(回到我竭力想澄清的误区上),NP问题不是非P类问题。NP问题是指可以在多项式的时间里验证一个解的问题。NP问题的另一个定义是,可以在多项式的时间里猜出一个解的问题。比方说,我RP很好,在程序中需要枚举时,我可以一猜一个准。现在某人拿到了一个求最短路径的问题,问从起点到终点是否有一条小于100个单位长度的路线。它根据数据画好了图,但怎么也算不出来,于是来问我:你看怎么选条路走得最少?我说,我RP很好,肯定能随便给你指条很短的路出来。然后我就胡乱画了几条线,说就这条吧。那人按我指的这条把权值加起来一看,嘿,神了,路径长度98,比100小。于是答案出来了,存在比100小的路径。别人会问他这题怎么做出来的,他就可以说,因为我找到了一个比100 小的解。在这个题中,找一个解很困难,但验证一个解很容易。验证一个解只需要O(n)的时间复杂度,也就是说我可以花O(n)的时间把我猜的路径的长度加出来。那么,只要我RP好,猜得准,我一定能在多项式的时间里解决这个问题。我猜到的方案总是最优的,不满足题意的方案也不会来骗我去选它。这就是NP问题。当然有不是NP问题的问题,即你猜到了解但是没用,因为你不能在多项式的时间里去验证它。下面我要举的例子是一个经典的例子,它指出了一个目前还没有办法在多项式的时间里验证一个解的问题。很显然,前面所说的Hamilton回路是NP问题,因为验证一条路是否恰好经过了每一个顶点非常容易。但我要把问题换成这样:试问一个图中是否不存在Hamilton回路。这样问题就没法在多项式的时间里进行验证了,因为除非你试过所有的路,否则你不敢断定它“没有Hamilton回路”。

之所以要定义NP问题,是因为通常只有NP问题才可能找到多项式的算法。我们不会指望一个连多项式地验证一个解都不行的问题存在一个解决它的多项式级的算法。相信读者很快明白,信息学中的号称最困难的问题——“NP问题”,实际上是在探讨NP问题与P类问题的关系。

很显然,所有的P类问题都是NP问题。也就是说,能多项式地解决一个问题,必然能多项式地验证一个问题的解——既然正解都出来了,验证任意给定的解也只需要比较一下就可以了。关键是,人们想知道,是否所有的NP问题都是P类问题。我们可以再用集合的观点来说明。如果把所有P类问题归为一个集合P中,把所有 NP问题划进另一个集合NP中,那么,显然有P属于NP。现在,所有对NP问题的研究都集中在一个问题上,即究竟是否有P=NP?通常所谓的“NP问题”,其实就一句话:证明或推翻P=NP

NP问题一直都是信息学的巅峰。巅峰,意即很引人注目但难以解决。在信息学研究中,这是一个耗费了很多时间和精力也没有解决的终极问题,好比物理学中的大统一和数学中的歌德巴赫猜想等。

目前为止这个问题还“啃不动”。但是,一个总的趋势、一个大方向是有的。人们普遍认为,P=NP不成立,也就是说,多数人相信,存在至少一个不可能有多项式级复杂度的算法的NP问题。人们如此坚信PNP是有原因的,就是在研究NP问题的过程中找出了一类非常特殊的NP问题叫做NP-完全问题,也即所谓的 NPC问题。C是英文单词“完全”的第一个字母。正是NPC问题的存在,使人们相信PNP。下文将花大量篇幅介绍NPC问题,你从中可以体会到NPC问题使P=NP变得多么不可思议。

为了说明NPC问题,我们先引入一个概念——约化(Reducibility,有的资料上叫“归约”)

简单地说,一个问题A可以约化为问题B的含义即是,可以用问题B的解法解决问题A,或者说,问题A可以“变成”问题B。 《算法导论》上举了这么一个例子。比如说,现在有两个问题:求解一个一元一次方程和求解一个一元二次方程。那么我们说,前者可以约化为后者,意即知道如何 解一个一元二次方程那么一定能解出一元一次方程。我们可以写出两个程序分别对应两个问题,那么我们能找到一个“规则”,按照这个规则把解一元一次方程程序 的输入数据变一下,用在解一元二次方程的程序上,两个程序总能得到一样的结果。这个规则即是:两个方程的对应项系数不变,一元二次方程的二次项系数为0。按照这个规则把前一个问题转换成后一个问题,两个问题就等价了。同样地,我们可以说,Hamilton回路可以约化为TSP问题(Travelling Salesman Problem,旅行商问题):在Hamilton回路问题中,两点相连即这两点距离为0,两点不直接相连则令其距离为1,于是问题转化为在TSP问题中,是否存在一条长为0的路径。Hamilton回路存在当且仅当TSP问题中存在长为0的回路。

“问题A可约化为问题B”有一个重要的直观意义:B的时间复杂度高于或者等于A的时间复杂度。也就是说,问题A不比问题B难。这很容易理解。既然问题A能用问题B来解决,倘若B的时间复杂度比A的时间复杂度还低了,那A的算法就可以改进为B的算法,两者的时间复杂度还是相同。正如解一元二次方程比解一元一次方程难,因为解决前者的方法可以用来解决后者。

很显然,约化具有一项重要的性质:约化具有传递性。如果问题A可约化为问题B,问题B可约化为问题C,则问题A一定可约化为问题C。这个道理非常简单,就不必阐述了。

现在再来说一下约化的标准概念就不难理解了:如果能找到这样一个变化法则,对任意一个程序A的输入,都能按这个法则变换成程序B的输入,使两程序的输出相同,那么我们说,问题A可约化为问题B

当然,我们所说的“可约化”是指的可“多项式地”约化(Polynomial-time Reducible),即变换输入的方法是能在多项式的时间里完成的。约化的过程只有用多项式的时间完成才有意义。

好了,从约化的定义中我们看到,一个问题约化为另一个问题,时间复杂度增加了,问题的应用范围也增大了。通过对某些问题的不断约化,我们能够不断寻找复杂度更高,但应用范围更广的算法来代替复杂度虽然低,但只能用于很小的一类问题的算法。再回想前面讲的PNP问题,联想起约化的传递性,自然地,我们会想问,如果不断地约化上去,不断找到能“通吃”若干小NP问题的一个稍复杂的大NP问题,那么最后是否有可能找到一个时间复杂度最高,并且能“通吃”所有的 NP问题的这样一个超级NP问题?答案居然是肯定的。也就是说,存在这样一个NP问题,所有的NP问题都可以约化成它。换句话说,只要解决了这个问题,那么所有的NP问题都解决了。这种问题的存在难以置信,并且更加不可思议的是,这种问题不只一个,它有很多个,它是一类问题。这一类问题就是传说中的NPC 问题,也就是NP-完全问题。NPC问题的出现使整个NP问题的研究得到了飞跃式的发展。我们有理由相信,NPC问题是最复杂的问题。再次回到全文开头,我们可以看到,人们想表达一个问题不存在多项式的高效算法时应该说它“属于NPC问题”。此时,我的目的终于达到了,我已经把NP问题和NPC问题区别开了。到此为止,本文已经写了近5000字了,我佩服你还能看到这里来,同时也佩服一下自己能写到这里来。

NPC问题的定义非常简单。同时满足下面两个条件的问题就是NPC问题。首先,它得是一个NP问题;然后,所有的NP问题都可以约化到它。证明一个问题是 NPC问题也很简单。先证明它至少是一个NP问题,再证明其中一个已知的NPC问题能约化到它(由约化的传递性,则NPC问题定义的第二条也得以满足;至于第一个NPC问题是怎么来的,下文将介绍),这样就可以说它是NPC问题了。

既然所有的NP问题都能约化成NPC问题,那么只要任意一个NPC问题找到了一个多项式的算法,那么所有的NP问题都能用这个算法解决了,NP也就等于P 了。因此,给NPC找一个多项式算法太不可思议了。因此,前文才说,“正是NPC问题的存在,使人们相信PNP”。我们可以就此直观地理解,NPC问题目前没有多项式的有效算法,只能用指数级甚至阶乘级复杂度的搜索。

顺便讲一下NP-Hard问题。NP-Hard问题是这样一种问题,它满足NPC问题定义的第二条但不一定要满足第一条(就是说,NP-Hard问题要比 NPC问题的范围广)。NP-Hard问题同样难以找到多项式的算法,但它不列入我们的研究范围,因为它不一定是NP问题。即使NPC问题发现了多项式级的算法,NP-Hard问题有可能仍然无法得到多项式级的算法。事实上,由于NP-Hard放宽了限定条件,它将有可能比所有的NPC问题的时间复杂度更高从而更难以解决。

不要以为NPC问题是一纸空谈。NPC问题是存在的。确实有这么一个非常具体的问题属于NPC问题。下文即将介绍它。

下文即将介绍逻辑电路问题。这是第一个NPC问题。其它的NPC问题都是由这个问题约化而来的。因此,逻辑电路问题是NPC类问题的“鼻祖”。

逻辑电路问题是指的这样一个问题:给定一个逻辑电路,问是否存在一种输入使输出为True

什么叫做逻辑电路呢?一个逻辑电路由若干个输入,一个输出,若干“逻辑门”和密密麻麻的线组成。看下面一例,不需要解释你马上就明白了。

┌───┐

输入1├─→┐ ┌──┐

└───┘ └─→┤

or ├→─┐

┌───┐ ┌─→┤ ┌──┐

输入2├─→┤ └──┘ └─→┤

└───┘ ┌─→┤AND ├──→输出

└────────┘┌→┤

┌───┐ ┌──┐ └──┘

输入3├─→┤ NOT├─→────┘

└───┘ └──┘

这是个较简单的逻辑电路,当输入1、输入2、输入3分别为TrueTrueFalseFalseTrueFalse时,输出为True

有输出无论如何都不可能为True的逻辑电路吗?有。下面就是一个简单的例子。

┌───┐

│输入1 ├→─┐ ┌──┐

└───┘ └─→┤

AND ├─→┐

┌─→┤

└──┘ ┌──┐

└→┤

┌───┐ AND ├─→输出

│输入2 ├→─┤ ┌──┐ ┌→┤

└───┘ └→┤NOT ├→──┘ └──┘

└──┘

上面这个逻辑电路中,无论输入是什么,输出都是False。我们就说,这个逻辑电路不存在使输出为True的一组输入。

回到上文,给定一个逻辑电路,问是否存在一种输入使输出为True,这即逻辑电路问题。

逻辑电路问题属于NPC问题。这是有严格证明的。它显然属于NP问题,并且可以直接证明所有的NP问题都可以约化到它(不要以为NP问题有无穷多个将给证明造成不可逾越的困难)。证明过程相当复杂,其大概意思是说任意一个NP问题的输入和输出都可以转换成逻辑电路的输入和输出(想想计算机内部也不过是一些 01的运算),因此对于一个NP问题来说,问题转化为了求出满足结果为True的一个输入(即一个可行解)。

有了第一个NPC问题后,一大堆NPC问题就出现了,因为再证明一个新的NPC问题只需要将一个已知的NPC问题约化到它就行了。后来,Hamilton 回路成了NPC问题,TSP问题也成了NPC问题。现在被证明是NPC问题的有很多,任何一个找到了多项式算法的话所有的NP问题都可以完美解决了。因此说,正是因为NPC问题的存在,P=NP变得难以置信。P=NP问题还有许多有趣的东西,有待大家自己进一步的挖掘。攀登这个信息学的巅峰是我们这一代的终极目标。现在我们需要做的,至少是不要把概念弄混淆了。

怎样写好论文

Posted by 冰河 at 20:22 No Responses » 5,398 Views
十二 182009

一、科技论文的内容

中学时就学过,文章的体裁最主要的有记叙文和议论文两种。记叙文说的是某一事件发生的背景、过程及影响,也可以加点作者的感想。议论文要说的是对某些问题的 论点和为证明论点的正确性而做的求证工作,即提供论据,进行推理,最后得出结论。因此,这两种体裁是很不相同的。还有一种接近议论文但严格说来不算议论文 的体裁是只对某些问题或现象发表自己的看法或观感,虽有观点但并不刻意去证明观点的正确性,这种文章属于散文中的随笔,本文即属于这种文章。

科技论文应该是议论文,至少应该有观点。通俗地说,科技论文要解决的主要问题不是“是什么”,而是“怎样做” 和“为什么”,对于“怎样做”的文章,最好要有“为什么要这样做”的内容。

有的作者很容易把议论文写成记叙文,特别是在做了某个项目的研究后的总结性文章,只说自己是怎样做的,很少去说为什么要这样做。原因可能是这样写很顺,因为 工作是他(们)做的,过程很清楚,用不着费劲就可以说明白。这样的文章深度不够。近年来软件受到大家重视,但软件类的文章大多属于这种情况。加之软件的头 绪一般很多,要说明白了,不分粗细,面面俱到,篇幅不短,很有点雾里看花的味道。

科技论文不是工作总结,也不是说明书。

论文内容的正确性当然是非常重要的。不过,不同领域的出错情况很不相同,很难概括。然而,有五点是应该注意的:

⑴ 要有创新,至少要有新意。是否有创新,是很多刊物考虑录用的最主要出发点,特别像《中国科学》这样的权威性刊物,没有创新就不可能录用。可以说,创新有原 始创新和集成创新两种。工学类论文中,原始创新比较少,大多是提出一些新方法、新算法,或是以别人没有用过的方法对一个问题进行分析,属于集成创新。虽然 这也是可取的,但论文必须雄辩地说明采用采用新方法所取得的结果。有一篇论文写基于Hermit样条的彩色图象道路提取方法,方法本身并没有错,但有两个结论有问题。一是说用Hermit样条对提取的间断的道路标志线拟合后可以得到连续的标志线,实际上,一般的三次样条或多项式拟合也能解决这个问题;二是说Hermit样条更适于表达图象上的弯曲的道路标志线,但是没有数据表明为什么其它的拟合曲线就不适合。这样一来,虽然别人在道路提取中没有用过Hermit样条,这篇论文的新意也就荡然无存了。

⑵ 论文的写法一定要突出重点。有篇文章谈及机器人的灵巧手,这个项目本身做得不错,但这篇文章把灵巧手的结构、手指驱动、抓握控制面面俱到地说了一遍,每一 部分都说得不透彻,没有深度。如果这篇文章能集中论述尺寸受限制的灵巧手的驱动,就要好得多。还有一篇谈遥在技术的文章,先泛泛地讲了微型摄像头的结构, 再从一些书上摘录了人所共知的模糊控制的基本概念,二者之间又没有有机联系,这样的文章根本没有内容。如果集中论述在视觉系统微小型化中所解决的问题,恐 怕还能写出点东西。

⑶ 论文的内容要真实、正确。这一点是很重要的,不弄虚作假是良好的科学道德。如果让人看出虚假的东西,这篇文章就肯定不能用。有一篇写控制算法的文章,对算法做了仿真。仿真时用的关节角函数是q=0.1sin(3πt),周期显然是(2/3)s,而做出的仿真曲线的周期却是2.8s,角速度的最大值也小得多,这样的结果至少使人怀疑作者并没有真正做了仿真。

⑷ 关于综述性文章。综述性文章的内容主要是前人对某一专题做过哪些研究、哪些问题已经解决、哪些问题还需要继续研究,最重要的是要指出对这一专题继续研究的 方向。从这个意义上来说,写综述性文章实际上是比较难的,需要占有大量资料,而且,对资料要分析,去粗存精,去伪存真,高屋建瓴。千万不要看了几篇发表过 的论文 就写综述。

⑸ 关于论文中的公式。科技论文一般少不了公式。公式推导的正确固然很重要,但也并非一定要把一步一步的推导过程写清楚。有的文章虽然写出了公式,但是,不注 意对公式中所用符号的说明,不注意说明公式的适用条件,这样的公式是没什么用的。有一篇文章论述以三条人工肌肉作为作动器的并联机构,作者试图建立它的数 学模型,前面写出了人工肌肉输入气压与肌肉长度的关系式,又列出力平衡方程,然后就说把前一式与后一式相结合,得到一个非线性的状态方程,把它作为数学模 型。方程中有很多系数,显然是与机构及肌肉参数有关的,作者恰恰没有写出系数与参数的关系,这就使人怀疑这个模型是不是推导出来的。即使是,这样的模型只 是通式,没有用处。

二、论文的标题

论文的标题有画龙点睛的作用。标题应该与文章的内容非常贴切。这一点往往不被注意。有的标题过大;有的又过于局限。有一篇文章的标题是“服务机器人仿人手臂 运动学研究”,内容是作者在研制一种服务机器人时对一种七自由度手臂运动学所做的分析。“仿人”并不重要,重要的是作者提出了这种冗余自由度手臂逆运动学 的一种解法,这样的解法并不只能用于服务机器人。如果把标题改为“七自由度仿人手臂逆运动学的一种解法”,则既有学术意义,又兼顾了作者的研究项目。还有 一篇论文的题目是“登月机器人关节润滑技术的研究”,内容是一种固体润滑膜的制备和特性。论文的题目太大,而且,如果题目中就明确提出登月机器人,就需要 有在模拟月球超低真空、超低温、强粉尘环境中的实验,目前尚无条件。如果将题目改为“MoS2基固体润滑膜制备方法及特性的研究”,既缩小了范围,又避开了尚不能进行的实验。还有些论文题目本身就有问题,例如,有一篇博士学位论文题目是“仿人机器人的动态行走控制”,行走有静态的吗?肯定没有,连原地踏步都是动态的。这样的标题岂不让人笑话?

三、摘要

摘要是对文章内容的概括。摘要应写得简练,只需说明写论文的目的、所用的方法及取得的结果即可。写得不好的摘要中常常有一些没用的话。例如,“随着机器人技术的发展,应用领域更加广阔,某问题成为研究的热点”,之类的话就没有用。

四、引言

论文引言的作用是开宗明义提出本文要解决的问题。引言应开门见山、简明扼要。有的写机器人的文章,一开始写捷克一作家写的戏剧中一个机器奴隶叫Robota,美国1950年制造了第一台工业机器人,这就绕了太大的圈子,有点“言必称希腊”。

很多论文在引言中简要叙述前人在这方面所做过的工作,这是必要的。特别是那些对前人的方法提出改进的文章更有必要。应该注意的是,对前人工作的概括不要断章 取义,如果有意歪曲别人的意思而突出自己方法的优点就更不可取了。在一篇论文中,对前人工作的概括应尽可能放在引言中。在正文中,如非很必要,就不要再有 这类段落了。

文献的引述要正确。你的文章里引用了某些文献,别人的文章也可能引用你的文章。如果引用时不注意正确性,就可能以讹传讹。有一篇谈遥操作的文章引用了美国《自然》杂志的文章,提到在相距7000km的两地进行遥操作,从操作端发出操作命令到执行端反馈回信息只用了150μs。这是完全不可能的。即使电波直线传播,至少也需要46.67ms。后来查明是作者引用时单位写错了。如果文章发表了,以《自然》杂志的权威性及这篇文章作者的影响力,这个错误的数据肯定还会接着被引用。

一些论文也开始引用互联网上的文献和消息。网上文献的可信度要好一些;由于各种各样的原因,消息的可靠性不高。我们曾用装甲车为某试验基地研制了一台遥控靶 车,在《兵器知识》上曾有过报道。由于某些内容不便公开,对文章做了一些技术处理。这个消息到了网上却变成了“我国研制成功遥控装甲车”,“蚂蚁”成了“ 大象”。所以,如果要引用网上的消息,一定要通过其它渠道对消息进行核实。

不少论文在引言中还说明了文章的结构,虽然话不多,但并非很必要。对于学位论文,因篇幅大,在绪论中交代一下整个论文的结构是应该的。在刊物上发表的文章就没有这个必要。

五、实验验证

论文中的实验的目的是验证论文提出的理论或方法的正确性、可行性和有效性。有一个阶段我不太同意把仿真叫做实验,但随着仿真技术的进步,至少它可以成为一种验证的手段。

理论的正确性并非总是要用实验来验证的。那些用公认的定理证明的新定理就不需要验证。

方法可行性的验证相对简单一些,实验只要说明所用的方法解决了问题即可。

方法(特别是算法)有效性的验证在很多论文里做得不好。所谓有效性,应该是比别的方法更快或更简单地解决了问题,或是计算复杂性低,或是计算速度更高,或是占用的内存小。要说明有效性,一是要有比较,不能“老王卖瓜”;二是要有相应的数据。

从这个意义上来说,论文中的实验往往是一种为说明问题而专门设计的实验。实验的设计是非常重要的。要说明某一因素的作用,就要设法将它孤立起来。

我 曾连续审了四篇关于构建机器人仿真球队的论文。这四篇论文除了叙述性的内容偏多以外,写得还是不错的。文章的内容涉及个人技巧、决策机制及整体协调,并不 重复。而且,球队两次参加了机器人足球世界杯仿真组的比赛,都取得亚军的好成绩。这就是说,在构建球队时代所采取的技术措施还是有成效的。但是,这四篇文 章都用参赛对阵的得分来说明技术措施的有效性,这是不合适的。因为,足球赛的成绩只是一种排名,只说明参赛队实力的相对强弱。如果对手的实力太低,即使己 方取得冠军,也不能有效地说明自己所采取的措施是正确的。而且,如前所 述,一个队能否取得胜利与个人技巧、决策能力、整体协调等多种因素有关,取得较好成绩倒底是哪个因素起了作用往往是说不清楚的。作者在最近的两篇文章中用 了相同的比赛结果来说明不相同的技术措施的作用,显然也是没有说服力的。如果对同一对手以采取论文中的措施和不采用这种措施进行两次比赛,则比赛的结果就 能较好地说明这种措施的作用。

有不少论文由于各种原因不能用严格的理论证明方法的正确性和有效性,也暂时做不了实验,于是就用仿真的方法来说明。这时应注意的是,尽管文章中只能给出个别 的仿真实例,但做仿真时应该尽可能对各种可能发生的情况多做一些实例,因为,用一、两个实例的仿真结果说明的结论很可能被另一个实例推翻。有一篇论文要在 相互距离已知的几个点中寻找一条最短的遍历路径,论文的篇幅很长,所用的方法兜了不少圈子,方法倒也对,但没有证明。最后用了一个实例做仿真。我在审稿时 写了一个更简单的方法,与论文方法所得的结果一致。这样一来,这篇文章所提出的方法虽然不错,但一点意义也没有了。

六、结论

结论中出现的问题不太多,不过精彩的结论也不多。由于Word等 文字处理软件提供的“复制”、“粘贴”的方便,论文正文、引言、摘要中的一些话也就被拷贝到结论中,还没看到结论就知道结论说什么,这样的结论已经没味 了。不过偶尔也碰到“过火”的,正文中根本未涉及的问题在结论中突然冒了出来。比较罕见的情况是,有的论文的结论把文章中的论述部分或全部推翻了。

七、文字

以前用笔写字的时候,常听人说“字是人的脸面”,意思是说,一手好字会为你增添光彩,看着也舒服。现在,论文上的字都是打印机打出的印刷体,文章是不是通顺 就很突出了,也就成为“人的脸面”了。俗话说“文如其人”,如果一篇文章的文字方面的问题太多,?不顺口,作者给人的印象也不会好。

送审稿中,比较突出的文字、标点方面的问题有;

⑴ 天一句,地一句,想到哪里,说到哪里,语气、语意不连贯。

⑵ 语意重复,用词罗嗦,不善运用代词。

⑶ “而”、“故”、“然”、“其”之类的虚构词用得别扭。

⑷ 技术术语使用不当或生造术语,这是在论文中最不应出现的文字问题。如果某一领域的名词术语已经有了国家标准,虽然这类标准一般是推荐性标准,但也应首先使 用标准核定的术语,为的是与别人有“共同语言”。在论文中不应使用俗名,即使这样的名词已被较多的人使用。术语是有内涵的,在制定术语标准时,对收纳的每 条术语都有严格的定义。如果在论文中不得不创造一条新的术语,对它的内涵一定要说清楚,要有严格的定义。我对一篇论文中的“轨迹跟踪控制”提出过质疑。表 面看来“跟踪控制”还说得过去,细想想,能与“控制” 相连的无非是两类词,一是对象,如“温度控制”、“压力控制、“位置控制”、“力控制”等等;另一是方法,如“PID控 制”、“自适应控制”、“模糊控制”等等。“轨迹跟踪控制”是什么?“轨迹跟踪”既不是控制对象,也不是控制方法。实际轨迹对期望轨迹的跟踪正是对运动轨 迹进行控制的效果。所以,“轨迹跟踪”和“轨迹控制”都是可用的术语,而“轨迹跟踪控制”则站不住脚。还有,在学术性文章中不应使用“电脑”、“光碟”这 类商业化和港台化的名词。

⑸ 乱用标点符号。错得最多的是句号,或是长句不断,或是断句不当。最不容易用错的只有问号和感叹号。

⑹ 近年来有个很时髦也用得很滥的词“基于”。有时侯翻开一本杂志十有二、三的文章标题有“基于”二字。“基于X”的英文是“X-based”或“based on X”。应该说“基于”一词翻译得还是不错的。“基于规则的系统”比早年译的“规则基系统”、“以规则为基础的系统” 听起来要顺耳一些。问题是要把“基于”用得必要、得当。不是非用不可的地方,大可不必用它来追求文皱皱的味道。而且,既然是“在X的基础上”,X就应该是个可以被当做基础的实实在在的东西。一篇文章用了“基于任务级……”,这个“任务级”就不是实在的东西。还有一个用得不当的词就是“智能”,有些根本没有智能的东西也被带上了这个帽子。

其实,解决文字方面的问题并不难。作者在写完文章后只要?一、两遍,大部分文字问题都可以发现。不过,如果作者在口语表达上就有不规范的地方和固癖,这样做的收效不大。

八、英文稿的特殊问题

英语不是我们的母语,用英语写作论文当然就会出现一些问题。大多数人还不具有用英语思考的能力。在这种情况下,比较好的做法是先写中文稿再译成英语,这样至少能避免直接写英文稿时容易出现的语意不连贯的问题。

英文稿中最容易出现的用词问题是:

⑴ 按汉语硬译,形成所谓的“中式英语”。虽然不大会看到“good good study, day day up”这类“洋泾浜”,硬译的情况还是常见的。有一篇论文把“车载的”译为“tank-load,其实,单词“vehicular”的意思就是车载。

⑵ 介词的使用不当,用“of”、“to”较多,其它介词用得少。

⑶ 代词“this”、“that”用得多,“it”用得少,而后者恰恰在科技文章中用得多。

⑷ 句型单调,喜欢(或不得不)用“to be”构成句子。

⑸ 不注意动词的词性。有些动词既可是及物动词也可是不及物动词,应该优先用不及物动词成句,而不要用及物动词的被动语态成句。

⑹ 冠词“a”、“the”的使用不当,尤其容易忘记使用定冠词“the”。

⑺ 不注意名词的单、复数,不注意主、谓语的人称配合。

⑻ 论文中的用词应该比较正式,尽量少用一词多意的词,例如,口语中“get”有“获得”的意思,但论文中最好用“obtain”。

⑼ 中西文化的差异常常使英文稿带有“中国特色”。有一篇稿件的作者很谦虚,在文章的结尾分析了所提出的方法的缺点,说在今后的研究中会逐步克服这些缺点。外 国人就不会这么说,他们总是向前看,即使看到了缺点,也会说随着研究的深入,这种方法将会有更广阔的应用前景。有些文章的作者介绍中非要在“教授”后面加 个“博士导师”,外国人就相象不出不是博士导师的教授是什么样子。

九、论文的署名

毫无疑问,论文的第一作者应该是执笔者。这不仅体现了对他劳动的尊重,而且有对文章的责任。

不少文章是在读的研究生写的,导师的名字署在后面,这无可非议。但是,从有些文章可以明显看出,在投稿前导师并没有看过。甚至有的文章已经发表,导师还不知道。这种情况不好。导师即使在成文前参加过意见但成文后不看,这是导师没有负起责任;如果学生在导师不知情的情况下就署上导师的名字投稿,从好的方面理解 是对导师的尊重,从不好的方面理解则有“拉大旗作虎皮”之嫌。

近来论文署名还有人数增多的趋势,甚至一篇不长的文章署了五、六个人的名字。这种情况在某个项目的总结性文章中比较多见。诚然,项目参与者在研究过程中的主意是很难分清楚的,但是,论文不是工作总结,在写论文时不太可能集中很多人的想法。至于在署名时多写几个人送人情或者写上根本没有参加工作的领导的名字的 做法,更是不应提倡的风气。

十、如何面对审稿意见

一般来说,投送的稿件至少要经过一次技术性审查,英文稿还有一次文字性审查。这种审查通常是学报或杂志的编辑部聘请同领域的专家进行的。编辑部的责任是统一 论文的格式、审查文字、处理审稿意见。审稿人的责任是对论文的创新性和正确性进行审查,审稿意见一般应包括为提高稿件质量而应做的修改的建议。

作者对审稿人提出的审查意见首先应很重视,考虑他为什么要提出这些建议。审稿人的意见毕竟是来自一个旁观者的意见,俗话说“旁观者清”,他的意见总有一定道 理。有的作者觉得审稿人没有读懂自己的文章(我并不排除有这种可能性),对他的意见也就不认真考虑,这是不对的。审稿人是论文的第一读者,如果他都没有读 懂,作者也得考虑自己的文章有什么问题让人家不懂,否则发表后如何面对更多的读者?

当然,对审稿意见也要分析。虽然编辑部聘请的审稿人是同领域的专家,但是,隔行如隔山,领域很宽,审稿人可能并不熟悉文章作者所研究的某个具体专题,提出一些并不十分中肯的意见也不奇怪。所以,不一定要完全按照审稿人的意见去做。

审稿后,如果要对稿件做修改,一定要实事求是,不能应付审稿人。我给某学报审过一篇关于类刚毛表面减阻效应的论文,一审时我提出了一些问题要求改后再审,作 者的态度倒也是谦虚的,承认所提出的问题都有道理,作了一些修改。但是我提出的最关键的问题是对实验的疑问,作者就有点敷衍,将实验结果用与第一稿不同的 另一种曲线形式表现出来,而这种曲线明显地是不能由以前的实验结果得出的。我就有了更大的疑问,提出修改后再审。第三稿中,作者又换了一种方式,有了更多 的漏洞,后来,这篇稿件再也没有出现过。

不少编辑部对审稿采取了双盲制,即审稿人不知道论文的作者是谁;作者也不知道审稿人是谁。不管这种制度的出发点是什么,我认为它把作者和审稿人的交流限制在文字上,有的编辑部甚至只将审稿人的部分意见转述给作者,这样的交流往往是不充分的,很可能成为提高稿件质量的障碍。既然是做学问,就不应该有所顾忌。

有的杂志的编辑部似乎不审稿。你刚把稿件发过去,它就来函说拟在某期发表,要寄版面费。这是不负责任的编辑部,应该离远点。

说到标题,本文的标题也太大了,不过,本文只是随笔,用这样题目是追求一种引人注意的效果,并不是说,注意了本文所提到的这些事就能写出好论文。打个不十分 准确的比方,论文好比一棵树,内容是它的主杆和分支,本文所述的标题、引言、实验、文字等等,或许可以算是一部分叶片,这棵树植根于真才实学的沃土上。要想写好论文,刻苦钻研,增长学识才是关键,论文是用心血浇灌出来的。

十二 182009

1. Why write a scientific paper?

l Advance Knowledge in your research field with evidence;

l Explain your ideas;

l Two key components in a research paper:

n An explicit claim on your contribution on a research problem;

n Evidence to support your claim;

l Your contribution can possibly be a refutation of a hypothesis of the present problem.

2. What to claim for a scientific paper? 什么样的观点能够成为科学性论文论述的内容?

l Your technique solves a problem for the first time;

l Your technique performs better in the following aspects:

l Higher success rate 高成功率

l Coverage 覆盖率更高

l Efficiency 你的想法能够提高某问题的效率

l Usability 你的方法更容易让用户接受

写文章切忌面面俱到!一个,至多两个切入点为好,要讲深讲透!

3. Typical Structure of a Research Paper

l Title: Catchy and Indicative of your research contribution (吸引眼球并有意义)

文章题目越短,被接收的可能性反而越大

l Abstract: include the following items

n A summary of the research problem;

n Your claim;

n The evidence;

l Introduction: include the following items (the most important part!)

n Motivation

n A re-statement of Abstract

n Significance (重要性)

n An outline of the rest of the paper

l Related Work: 与你的论文问题相关的资料

n A critical review 批判的眼光对待以前及现有的方法

n 强调你的创新点

l Problem Statement and algorithm design: explain your idea in detail

l Evaluation: Evidence to support the claim of your research contribution

除非能用理论证明你的观点,最好要有实验结果与数据

l Conclusion & Summary of the research contribution

4. What to know before you write? 写论文前要知道些什么

l Assess the audience:给谁写

l Assess the purpose

l Read other people’s writing from the forums that you are targeting

要知道你的敌人是谁!看哪些人在做类似的工作

l Follow the rules

5. 如何写高质量论文?

(1) Choose a promising topic 选题很重要

(2) How to present a convincing case?

l What exactly is the problem being solved? 你的文章解决什么问题

l How are your ideas significant?

l Is all related work referenced and reviewed?

l Comparative studies with previous work are needed.

l Has your system implemented? 文章提出解决问题的方法是否实现了

(3) In-Depth Analysis of Empirical Results

写清实验细节Enough details for your experiment settings

有没有其它的可能实验途径?alternatives

实验结果是否一致并有结论性?Are the results consistent & conclusive?

实验中重要参数调整与选择的方法和原因

实验结果与前言(introduction)动机是否一致

实验过程中好的结果加以学习,坏的结果记录下来让他人避免

(4) Introduction 前言

l 1/3-2/3 rule from reviewer’s perspective:

n 1/3 time to read your introduction & make a decision

n 2/3 time to find the evidence for decision

l A good introduction with a good motivation is half of your success!

l Include the following items:

研究的问题;动机;技术贡献;证据;重要性;文章概要Outline

6. How to publish?

Reading and citing relevant paper from the premier forums! (must)

技术进步文章是主题文章,应用型文章必须要强调创新点(innovation

7. How to deal with feedback?

(1) How to deal with Handling Editors?

l Be polite, but to the point;

l Ask for a change, if a clearly biased or unfair case;

(2) How to deal with conflicting review reports?

l 杂志(Journal Submissions):Provide a point-by-point statement of change! 将每个审稿人修改意见列出,并说明所作的修改

l 会议(Conference

(3) How to deal with “arrogant” and “ignorant” reviewers?

Provide a gentle statement for the “unreasonable” criticisms;

Try and resolve some of their comments 尽量按他们的意愿改

Your attitude to the reviewers is important! 修改稿可以再投

8. 总结以上最重要的9点:

l 文章要有想法和证据;

l 切忌面面俱到

l 明确敌人是谁

l Choose a promising topic

l 实验数据前后是否一致

l 前言很重要

l 引论相关文章 premier forums

l 写详细修改报告

l 用宽容的态度对待审稿意见

© 2009 - 2024 冰河的博客