软件的灵魂是算法

 

澳门十大赌场网上注册

李国杰

 

优先发展软件产业已成为我国一项产业政策,但对如何才能成为软件强国,如何才能形成具有自主产权的软件产业,并没有形成共识。在各种媒体上讲得较多的是操作系统、开放源码、CMM质量认证体系、软件人才培养等等。这些问题确实很重要,但在舆论宣传上我们忽视了一件对发展自主软件产业十分关键的事——应高度重视算法研究,特别是高性能算法的研究。

计算机和网络都是人类发明的工具,它是用来提高人们解决各种问题的效率。有别于揭示客观物质运动规律的物理学,有人把信息科学称为“事理学”,而软件就是把人们解决问题的思路、方法用计算机或其他装置设备可以执行(通过编译手段)的方式表示出来。表示方法可能有许多技巧,国内许多企业、学校研究开发软件的重点大都放在这些技巧上。所谓培养软件人才主要也是指培养懂编程技巧的人。但是,一个软件能否高效率地解决问题,其关键不在编程技巧而在于解决问题的思路与方法——即算法。从这个意义上讲,算法是软件的灵魂。所谓软件的自主知识产权主要是自主设计的算法。

国家973计划设立了一项重大项目专门研究高性能的算法,由顾钧教授牵头,针对集成电路设计、电力及交通调度、海量信息查询过滤等困难问题寻求实际运用中最有效的算法。这一项目抓住了软件研究的牛鼻子,做了一件抢占高技术制高点的大好事。几年来此项目已取得丰硕成果,有些成果处于世界领先水平,有些成果已取得明显经济效益。通过这一项目培养了一批高水平的算法研究人才,对促进我国算法研究起到了带头作用。

高技术研究需要高投入,有不少经济学家认为在国内开展研究开发成本高于国外,因此我国不宜把重点放在资金密集型的高技术研究,而应强调比较优势优先发展劳动力密集型产业,体现在软件产业上就是多培养软件蓝领工人,多做代加工,走印度以出口拉动软件产业之路。这种建议有一定的合理性,但不是“以人为本”的战略,还是继续“以物为本”、“以钱为本”的战略。软件的价值主要是体现人的智慧而不仅仅是劳动力的堆加。一个出色的算法可以几十倍甚至成百倍地提高效率。比如大家关心的下一代无线通信(3G),如果只在2M带宽条件下改进芯片与手机、机站设备,降低成本的空间有限。但非常有效的数据压缩算法可以在128K带宽下实现高质量的运动图象通信。从这个意义讲,一个创新的算法甚至可以带动一个新的产业。中国人不笨,非常适合做算法研究,只要我国充分开发利用我国十分丰富的“人脑资源”(不仅仅是“人力资源”),我国的经济有可能走出一条跨越式发展的道路。

在发展软件产业方面还应防止走入另一个误区,即片面强调操作系统等系统软件核心技术,而把开发应用软件看成没有核心技术的简单劳动。实际上我国应重点强调发展“应用核心技术”,提高我国采用信息技术优化社会组织、优化生产资源配置的能力。市场上最值钱的占营业额比例最大的软件是行业关键应用软件,如银行、通信、石油、制造等领域的行业应用软件。这些软件的核心技术还是高性能的算法。最近印度软件公司大举进入中国,主要目标不是操作系统而是占领邮电通信等领域的应用软件市场。我们在重视操作系统的同时,不能忘记更大的软件市场。中国发展软件短期内还做不到以出口拉动为主,必须靠启动内需拉动。而要真正高效率地解决各行各业的实际应用问题,就一定要在算法研究上下大功夫。

 

2002

 

XML 地图 | Sitemap 地图