2005年6月27日
On Pilgrimage
----Be dedicated to those who walk in darkness with extraordinary daring and strong determination.
You are now engaged in the enterprise you choose and on the process of pilgrimage. Do not falter. Probably there will be missteps along the way, but all these steps will help to foster your sound judgment; perhaps there will be turning and twist along the way, but you will finally make the right choice under the guidance of your inner faith; perhaps there will be huge gulf lying ahead, then you will stride over with tremendous courage.
After running to the end of a road, there is another end lying ahead in wait for you; after climbing a great hill, you will find there are more hills to climb. You may have a moment’s rest to steal the view of glorious vista along the way and spend a short while in retrospection, but do not linger, for the long pilgrimage is not yet ended.
At first everything is work, sweat and darkness, you have no idea when you would reach the light, or even if you will. But do persist and finally you will be rewarded. Sure you will see a clink of light and then the clink will get bigger and the sun will come pouring in and all is bright then.
Do remember that you are not alone in the pilgrimage, for there are thousands of others who have set their foot on the same road as you, heading for the Mecca!
Thriving in adversity, with a sober mind, you will always find the right way.
posted @
2005-06-27 00:13 穿山甲 阅读(259) |
评论 (0) |
编辑 收藏
面对日益复杂的计算需求,软件开发者一直以来都致力于寻找某种终极、通用的体系结构,允许它们高效率地完成高质量的应用。这种追求最终导致许多新抽象方法和工具的出现,其中最具希望的进展是纯插件体系结构。
插件一开始只是用来扩展应用的回调机制,现在已经成为应用程序的基础。插件不再仅仅只是应用的附加物(add-ons),今天的应用程序都是由插件组成。这个领域由于许多成功项目的推动已经逐渐成熟了。
最终用户的需求控制软件的创建和部署。用户要求更多更好的功能,要求软件能够按照它们的需求进行剪裁,要求软件演进速度要足够快。没有人想重新发明轮子,而是仅仅只是编写那些满足特定需求的特定代码,而后与现有工作结合起来。新兴的企业级应用套件包含众多更小的独立软件模块,它们必须相互集成起来以产生更高级别的功能模块,同时提供统一的用户接口。对需求迅速变化的反应能力、可升级性、与其他厂商的模块进行集成等促使更加灵活和可扩展应用程序的出现。
真实环境内的开发者必须处理许多复杂的基础设施、工具和代码方面的问题。插件体系结构之所以具备强大的吸引力是由于它向用户提供模块化的功能。任何人都可以通过混合和装配他们所需要的插件,或者为缺失功能编写新的插件来迅速定制应用。这种灵活性的代价仅仅只是管理这些插件。
很多开发者都很熟悉传统插件,比如用来扩展web浏览器或者文本(图形)编辑器的可下载软件模块。它们并不编译到应用中,仅仅只是通过预先定义的接口或者扩展机制连接到应用程序中。而且创建这样的插件不需要应用程序的源代码。宿主应用程序在需要的时候可以识别并激活这些插件所实现的功能。
在纯插件体系结构中,一切都是插件。宿主应用程序的角色被消弱到用来运行插件的引擎,而本身不再具备任何固有的最终用户功能。缺少了具备指导作用的宿主应用程序,剩下的就是由各个插件的松散联盟,其中包含由框架或插件自身制定的规则来实现各种约束。
为了能够组成没有预先定义结构的大型软件系统,或者这些系统结构的组织方式目前还无法预测,纯插件体系结构必须支持通过插件实现的插件可扩展性(extensibility of plug-ins by plug-ins)。由于缺少宿主应用,插件本身就成为其他插件的宿主,支持预先定义的插入点(hook points),其他插件可通过这些插入点加入新的功能。这些插入点就是通常所说的“扩展点”(extension points)。实现了某个扩展点的插件被称为一个扩展(extension)。扩展模型(extension model)结构化地描述了插件如何被扩展的方式和新插件如何提供扩展的方式。
posted @
2005-06-27 00:10 穿山甲 阅读(582) |
评论 (0) |
编辑 收藏
社会性昆虫(蚂蚁ants、白蚁termites、黄蜂wasps、蜜蜂bees)生活在地球的每寸土地上。经过上百万年的不断进化,它们已经征服了无数不同类型的生态环境(ecological niches)。毫无疑问,它们的社会性组织形态,尤其是每个个体对整体生存所做出的贡献(commitment),这种贡献是通过遗传不断进化的(genetically evolved),是支持它们得以成功存在的关键因素。而且这些昆虫群体所展现出来的、令人着迷的特性——个体的活动,以及作为整体的行为,并不是在某种显式的中心控制形式下进行的。进化的力量已经产生了大量的个体,能够通过特定通信和行为技巧,来将个体的贡献组合为整个群体的力量,这些通信手段和行为不断组合,从而在全局环境下形成非常复杂模式和行为。
蚂蚁被认为是最成功的社会种族,它们有9000多个种类,每种种群都拥有不同的特征,使得它们能够在地球的任何地方大量存在。昆虫学家(entomologists)一直都没有放弃对蚂蚁以及蚂蚁种群的观察和研究。近年来,蚂蚁种群的社会和互动模型引起了计算机科学家和工程师的注意。蚂蚁种群的特征,包括个体的自治性、全面分布式控制、容错、直接或者环境中继(environment-mediate)的通信、与每个个体相关的复杂行为、集体(collective)和协作(cooperative)策略、自组织等。这些独特特性的同时出现(simultaneous presence)使得蚂蚁社会称为设计新算法和新型多agnet系统的启发模型(inspiring model)。
在过去的10-15年中,蚂蚁社会模型极大的推动(provide the impetus)了在机器人学、行为研究、电信等研究领域的研究活动,这个领域内的不同模拟和实现都以“蚂蚁算法”(ant algorithms)命名。
蚂蚁算法中一个特别成功的研究方向,蚂蚁种群最优化(ant colony optimization,AOC),即将蚂蚁种群模型应用到离散最优化问题上。AOC已经成功应用到诸如邮递员问题、调度问题、以及电信网络上的路由问题等。AOC来自阿根廷蚂蚁种族(Argentine ant)一种特殊的收集食物行为(foraging behaviours),通过在实验室中的观察,这些蚂蚁即使没有选择最短的路线,至少能够选择非常好的路线来连接不同食物资源。
在20世纪90年代初,来自Marco Dorigo的一篇博士论文“ant system”内提出使用这种模型来解决组合最优化问题,引起了世界范围内各种研究者的注意。1998年出现第一个workshop。
posted @
2005-06-27 00:02 穿山甲 阅读(1100) |
评论 (0) |
编辑 收藏