中科院主要共有8个相关的所从事计算机科学的研究,包括京区计算所,软件所,网络中心全部的研究方向都隶属计算机科学,自动化所有部分涉及AI和计算机应用的研究方向,数学所有AI和数据库的研究方向,成都计算所号称是唯一以计算机应用为主的研究所,但有一个赫赫有名的研究AI中最晦涩的定理机器证明的研究组,沈阳自动化所有部分涉及AI(主要是机器人)的研究方向,相对而言沈阳计算所是名气最小也是实力最弱的一个。其他如京区的电子所,声学所,高能所,空间中心,研究生院本部均有研究组从事计算机科学方面的研究。
国内严格意义上的研究型大学和研究机构,具体到CS方面,约有30所左右,它们均长年开展相关的研究工作,能够依靠各种渠道筹集的研究经费以维持最低限度的运转。其他的大学或研究机构大多依靠商业项目甚至依靠救济性的拨款来生存。从这种意义上来说,以上提到的中科院的研究机构除京外的极个别所外,均符合
真正意义上的研究机构的定义。作为整体而言,以相关领域的8名中科院院士(软件所4,计算所1,自动化所1,数学所1,成都计算所1)领衔的阵容覆盖了几乎所有国内有能力开展的研究方向。以下为具体各个方向的点评,个人观点,仅供参考:
computing theory:
这是CS中最阳春白雪的方向,一般的研究包括可计算性和计算复杂性,自动机理论,以及涉及各个子方向的抽象数学模型的研究。这几乎是国内CS community中稍有一点国际影响的领域,而这些影响和如下几个名字是分不开的:唐稚松,陶仁骥,林惠民。这个方向也是最欢迎跨专业报考的,因为所要求的数学训练几乎超越了所有本科学CS的能力。如果你是一名数学系的学生,而有期待看到你的方向的一些即使是虚幻的应用前景,这个方向是一个不错的选择。如果是CS是科班出身,如果你确实对数学有爱好而且有很高的天分,渴望了解计算的本质,能够忍受和你的专业不相称的寂寞和清苦,也可以报考。有以下一些导师值得注意:软件所:陶仁骥(密码学),林惠民(进程代数),张健(程序验证),蒋颖(兰姆达演算);数学所:金芝;计算所:眭跃飞。请注意,选择这个方向选导师非常重要,这是一个依靠个人英雄主义的领域,也是唯一的导师实际也会作研究工作,而且基本上在很长一段时间内会比你更牛的领域,不同的导师作的工作千差万别,你在读研的时候基本上是在看无数的paper中度过。
AI:
除了会比理论听上去更人性化以外,这也是一个理论性很强需要很多数学的领域,不同的是,你可能有机会去做一个实际的系统。由于做这个领域的研究听上去很时髦而且不用太大的成本,这个方向在国内开展的很普遍,可惜除了在基于中文的自然语言理解方面以外,并没有取得什么值得一提的结果。定理的机器化证明是这几年被狂宣传的一个项目,我国也好象是少数几个开展这方面工作的国家,在这方面主要的工作来自于数学所的吴文俊\高小山研究组,和成都计算所的张景中\杨路研究组,如果有这方面的兴趣的可以报考。在自然语言理解方面,数学所\计算所的陆汝钤院士有一个挑战图灵测试的大项目。其他值得注意的导师包括计算所:史忠植(多agent系统与agent协作),白硕。虽然机器人和计算机视觉可以归到AI大方向,但由于工作的性质相差很远,所以我会在下面将其单列。
computer architecture:
在这个方向上,国内的主要精英分布在三大高性能计算机研制基地:计算所(曙光),国防科大(银河),总参56所&江南计算技术研究所(神威)。大学中成点气候的只有清华和哈工。从水平来说,国防科大是最强的,毕竟银河是向量机,技术含量不是曙光之类的机群可比的。在这个方向上,计算所即代表着中科院的全部,虽然不及军方,在国内居第二没有问题,他们以前只是作些DSM之类的东西小打小闹,希望不要止步于toy级的狗剩,真正地作出一些东西来才好。这方面的重量级的导师包括:夏培肃(如果她老人家还带的话),李国杰(中科院头脑最清醒的所长之一,希望还作研究)韩承德(cpu design,理论上),闵应骅(IEEE Fellow,cs society中唯一的一个,SOC),唐志敏(Godson的leader),徐志伟(有退化的趋势),胡伟武(自称为Godson的architect).值得注意的是,计算所这几年挖来了好几个牛级的年轻Ph.D,现在名头不显,但以后肯定会冒出来。并行算法的研究本来应该是属于这一方向的,但不知道当年两所分家的时候处于什么考虑,把做并行算法研究的孙家昶研究组分到了软件所,成为一个无所依靠的孤方向。这个方向国内除了国防科大,也基本上没有竞争对手,重量级导师还包括当年军中做实时系统的第一人范植华(软件所)现在去了网络中心的迟学斌。
system software:
这应该是国内最有前途的发展方向,open source运动已经有三十年之久,真正地冲击商业模式是近几年,确实为国内的os研究带来了契机。在这个领域里,导师是真正的管理而非技术上的leader,你不能期望导师会在技术上给你什么指导,你要做的就是,首先做个至少是称职的hacker,然后后才谈得上做个称职的researcher,光有idea是没有用的,必须要自己有独立的能力来实现,而且你做的project极有可能直接地就转化成商业产品,相信真正有抱负的希望让自己的工作变得relevant的同同仁会选择这一方向。这一方向的坏处是准入门槛比较高,要求你对各个应用领域都要有相当的理解,同时会比较耗钱,基本上是富人的游戏。中科院有两个做os的中心,计算所的徐志伟研究组和软件所的孙玉芳研究组,前者更偏学术一些,是有名的阿卡的策动者,后者导致褒贬不一的红旗linux。主要的工作都是基于linux做增值特征的开发,如rtos等。国内现在基本上已经没有什么人做programming language
system 方面的工作,计算所的张昭庆研究组几乎是硕果仅存之一,ORC的意义应该在Godson之上,软件所做这方面的工作的只有程虎。相对而言,计算所由于有底层的体系结构的研究方向,这个相关的方向的发展潜力更大一些,但是似乎一直缺少足够的重视,尤其是他们本来很不错的os方向。
Database:这个方向国内人大一枝独秀,中科院有少数几个做这方面的研究工作的,包括已经退休的数学所的周龙禳和软件所的孙玉芳。做数据库工程的基本上就没有什么研究行为了,和公司一样做项目为主。
networking:不知道为什么会有很多人喜欢这个方向,很大程度上可能是不知道它是研究什么的。传统的纯网络研究主要是指网络协议的研究,包括协议栈的组织,以及一些具体的如流量控制,多播,缓存,安全等协议的研究,并不比其他的方向更和蔼可亲一些,学术是没有坦途的。从整体上来说,中科院在这方面的实力突出,但没有太多压倒性的优势。网络协议方面的研究包括李忠诚(计算所),钱华林,阎保平(网络中心),软件所的吴志美研究组也做一些这方面的工作。做网络方面的研究的最大障碍在于需要一个实验床来完成协议实现的验证与测试工作,这方面网络中心有国内最好的条件。
software engineering: 这是目前最喧哗热闹的一个领域,发paper最容易,概念也狂多。但实际的效果似乎还不明显。软件所有近一半的研究组号称从事这方面的工作,包括最大的两个子中心对象中心和互联网实验室。主要的导师包括:冯玉琳,李明树,顾玉清,黄涛,李京等。相对来说,这是目前资源最充裕但实际准入门槛较低,是那些不想从事太艰苦的工作而又能轻松愉快发paper的同志的首选。但目前这些中心都已经部分的商业化,考上以后可能会从事一些与研究无关的工作。
security:包括系统安全和通信网络安全。这个方向是备受重视的方向,和system software一样希望研究者是通才,同时还要有相当的数学功底。软件所的冯登国研究员在近几年完成了一些备受好评的工作,他目前还领导着研究生院本部的信息安全国家重点实验室,这个方向属于既能争取到大项目又好发paper的热点方向,前景很好,重点的导师还包括卿斯汉(软件所),吕述望(研究生院本部)和许榕生(高能所)。
multimedia:研究多媒体的编码,解码,压缩,传送的边缘方向。软件所的多媒体中心目前和贝尔实验室中国联合做这方面的研究,领导者是吴志美研究员。高文(计算所)本来是国内(不把微软研究院考虑在内)这一方面的头号人物之一,只是近来从政以后似乎在这一领域已经很难听到计算所的声音。
computer graphics:吴恩华(软件所)研究员是国内这一方向举足轻重的人物,他及他的弟子们的研究兴趣主要在于科学计算可视化,另一比较重要的导师是戴国忠(软件所)。
computer vision and robotics:这一领域中国有世界级的研究中心--微软亚洲研究院。中科院在这方面的实力来自于两个自动化所,尤其是北京自动化所,他们的资源在三个所里面是最突出的,当然还有国内学界中最耀眼的明星,谭铁牛研究员,其他的重量级的导师包括戴汝为,王钰,马颂德。不过这一方向并并不如它的演示成果那么轻松有趣,对数学功底的要求也很高。