December 27, 2007 – 1:43 pm
一直没时间学习一下ruby,今天去看看ruby有没有什么新的东西,
结果找到了这个动手尝试ruby语言的教程
http://tryruby.hobix.com/
,它提供了一个类似applet的东西
可以在浏览器窗口直接根据教程提示敲入ruby的语言。这可就比看教程来的
有意思多了.
试了几个命令,ruby的语法果然简洁直接
打开窗口之后有这么几个最初的命令
help \\15分钟的基本教程
help 2 \\第二章
clear \\清屏
back \\教程里面的上一屏
reset \\重置
time \\打印会话时间
当学完第四部分之后,教程似乎是学完了。
当进入第五章的时候。作者很欣慰,界面上出现了这样的欢迎词
Hallo, Who’s There? And Summary #5 Waves Its Hat!
Well done, well done, well done, well done! Truly, truly, truly, truly, truuuuuuuuly!
呵呵,这哥们挺兴奋的。。不过东西确实好
至于怎么进入第五部分的。想想
参考 Ruby的中文网站http://www.ruby-lang.org/zh_CN
December 20, 2007 – 5:03 pm
1 基于统计的方法不是人工智能
2 香农的信息论是目前为止找到的唯一有帮助的关于信息处理的办法(基于数学统计)
3 人工智能应该基于学习。
4 基于学习的人工智能是可以实现的
5 目前为止,人工智能没有突破性的成果。
6 人工智能不能一步实现。应该在特定的环境下实现人工智能。
7 人工智能的研究应该动手实践而不是夸夸其谈
8 多数人对与人工智能的迷茫来自对人智能本身的不解。智能应该有如下的特征
a 具备运算能力
运算能力主要应用于对于知识的累积处理和沟通的处理
b 具备接收知识能力,并且有能力在一定的时间内积累该知识
c 具备和其他智能体互相沟通的能力
d 智能群体应该有统一的本能(即最基本的共同的知识,该本能区别于人类的本能)
e 创造能力以及纠正错误的能力
9 智能应该是群体的智能,个体的智能没有意义。
10 智能事件的发生应该是在群体间发生,而非个体
11 自然语言的处理应该是实现智能的重要突破口
12 不应把人类的智能放在不可研究的位置上,或者加上迷幻的色彩
13 特定领域的智能研究应该有特定的模型而不应该照搬人的智能模型,
December 17, 2007 – 1:57 pm
Lucene in Action(中文版)
——————————————————————————–
Lucene in Action
中文版
第一部分 Lucene核心
1. 接触Lucene
2. 索引
3. 为程序添加搜索
4. 分析
5. 高极搜索技术
6. 扩展搜索
第二部分 Lucene应用
7. 分析常用文档格式
8. 工具和扩充
9. Lucene其它版本
10. 案例学习
序
Lucene开始是做为私有项目。在1997年末,因为工作不稳定,我寻找自己的一些东西来卖。
Java是比较热门的编程语言,我需要一个理由来学习它。我已经了解如何来编写搜索软件,
所以我想我可以通过用Java写搜索软件来维持生计。所以我写了Lucene。
几年以后,在2000年,我意识到我没有销售天赋。我对谈判许可和合同没有任何兴趣,并
且我也不想雇人开一家公司。我喜欢做软件,而不是出售它。所以我把Lucene放在
SourceForge上,看看是不是开源能让我继续我想做的。
有些人马上开始使用Lucene。大约一年后,在2001年,Apache提出要采纳Lucene。Lucene
邮件列表中的消息每天都稳定地增长。也有人开始贡献代码,大多是围绕Lucene的边缘补
充:我依然是仅有的理解它的核心的开发者。尽管如些,Lucene开始成为真正的合作项目。
现在,2004年,Lucene有一群积极的深刻理解其核心的开发者。我早已不再每天作开发,
这个强有力的工作组在进行实质性的增加与改进。
这些年来,Lucene已经翻译成很多其它的语言包括C++、C#、Perl和Python。在最开始的
Java和其它这些语言中,Lucene的应用比我预想的要广泛地多。它为不同的应用(如财富100
公司讨论组、商业Bug跟踪、Microsoft提供的邮件搜索和100页面范围的Web搜索引擎)
提供搜索动力。在业内,我被介绍为“Lucene人”。很多人告诉我他们在项目中使用到Lucene。
我依然认为我只听说了使用Lucene的程序的小部分。
如果我当初只是出售它,Lucene应用得不会这么广泛。程序开发人员看来更喜欢开源。他
们在有问题时不用联系技术支持而只需查看一下源代码。如果这还不够,邮件列表中的免费
支持比大多商业支持要好得多。类似Lucene的开源项目使得程序开发人员更加有效率。
Lucene通过开源已经变得比我想象的伟大的多。我见证了它的发展,是Lucene社区的努力
才使得它如此兴旺。
Lucene的未来怎样?我无法回答。有了这本书,你现在也是Lucene社区的一员,现在由您
将Lucene带往新的高地。旅途顺利!
DOUG CUTTING
Lucene和Nutch的作者
前言
来自Erik Hatcher
在Internet早期我就对搜索和索引感兴趣。我已经建立了用majordomo、MUSH(Mail User’s Shell)和少量Perl、awk及shell脚本来管理邮件列表的存储结构。我实现了一个CGI的web
接口,允许用户搜索这个列表和其它用户的信息,其内部使用了grep。然后相继出现了
Yahoo!、AltaVista和Excite,这些我都经常访问。
在我有了第一个儿子Jakob之后,我开始了数字照片档案的设计。我想开发一套管理图片的
系统,可以给图片附加元数据,如关键字、拍摄日期。当然用我选择的尺寸定位图片是很容
易的。在19世纪90年代末,我构建了基于文件系统的原型,使用了Microsoft的技术,包
括Microsoft Index Server、Action Server Pages及处理图片的第三方COM组件。从那时起,
我的职业生涯都消耗在这些类似的技术上了。I was able to cobble together a compelling
application in a couple of days of spare-time hacking.
我的职业转向Java技术,并且我越来越少地利用Microsoft Windows。为了以系统无关的方
式用Java技术重新实现我的个人照片档案系统及搜索引擎,我使用了Lucene。Lucene的简
单易用远远超过了我的期望—我所期望的其它开源库或工具在概念上简单,但是却难以使
用。
在2001年,Steve Loughran和我开始编写Java Development with Ant(Manning)。我们采用图
片搜索引擎的思想,并把它推广为一个文档搜索引擎。这个程序示例在那本Ant书中使用,
而且可被定制为图片搜索引擎。Ant的责任不仅来自于简单的编译打包的构建过程,也来自
于定制的任务,<index>,我们在构建过程中使用Lucene创建索引文件。Ant任务现在生存
在Lucene的Sandbox(沙箱)中,将在本书8.4节描述。
Ant已经应用在我的博客系统中,我称为BlogScene(http://www.blogscene.org/erik)。在建立
一个博客实体之后,我运行一个Ant构建过程,索引新的实体并将它们上传到我的服务器上。
我的博客服务器由一个Servlet、一些验证模板和一个Lucene索引组成,允许(rich)查询,甚
至联合查询。与其它博客系统相比,BlogScene在特色和技巧上差很多,但是它的全文检索
能力非常强大。
我现在效力于维吉尼亚大学对Patacriticism的应用研究小组(http://www.patacriticism.org)。我
用对文本分析、索引和搜索的经验通过讨论量子力学与艺术的关系来测试及拓展我的思路。
“诗人是世界上不被认可的最伟大的工程师”。
来自Otis Gospodnetic
我对信息搜索与管理的兴趣和热情开始于在Middlebury大学的学生时代。那时候,我发现
了信息的广大资源,即Web。尽管Web仍然刚开始发展,但是对收集、分析、索引和搜索
的长期需求是很明显的。我开始对建立来自Web的信息库感到困惑,开始编写Web爬行器
梦想有种方法可以对这些收集的信息进行搜索。我认为在巨大的未知领域中搜索是杀手级软
件。有了这种思想以后,我开始了一系列收集和搜索项目。
在1995年,和同学Marshall Levin一起创建了WebPh,一个用来收集和找出个人联系信息
的开源程序。基本上,这是一个简单的具有Web接口(CGI)的电话本,那时排在首位的类型。
(实际上,它在19世纪90年代末的案例学习中被引用为一个示例。)大学和政府机构是这个
程序的主要用户,现在还有很多在使用它。在1997年使用我的WebPh,我继续创建了
Populus,一个当时很流行的白页。尽管技术(与WebPh类似)很普通,但是Populus有很重的
负担,并且能够与WhoWhere、Bigfoot和Infospace等大角色相媲美。
在两个关于个人联系信息的项目之后,是该探索新的领域了。我开始了下一个冒险,
Infojump,用来在网上时事通讯、杂志、报纸中选择高质量的信息。我拥有的软件由大量的
Perl模块和脚本组成,Infojump利用一个称作Webinator的Web爬行器和一个全文搜索的产
品叫作Texis。在1998年Infojump提供的服务很像今天的FindArticles.com。
尽管WebPh、Populus和Infojump达到了它们的目的并是功能很完善,但它们都有技术的局
限性。它们缺少的是一个用反向索引来支持全文搜索强大的信息搜索库。为了不重复相同的
工作,我开始搜寻一个我认为不可能存在的解决方案。在2000年早期,我发现了Lucene,
我正在寻找的缺少的部分,并且我一下子就喜欢上了它。
我在Lucene还在SourceForge的时候就加入了这个项目,后来2002年Lucene转移到Apache
软件基金会。我对Lucene的热爱是因为这些年来它已经成为我很多思想的核心组件。这些
思想中的一个是Simpy,我最近的一个项目。Simpy是个有许多特点的个性Web服务,可以
让用户加标签、索引、搜索和共享在网上找到的信息。它主要使用了Lucene,上千条索引,
由Doug Cutting的另一个项目Nutch(见第10章)提供动力支持。我对Lucene的积极参与导
致我被邀请与Erik Hatcher共同编写Lucene in Action。
Lucene In Action有关于Lucene最全面的信息。接下来的10章包含的信息围绕你使用Lucene
创建优秀程序所需的所有主题。这是它平坦且轻快的协作过程的结果,就像Lucene社区一
样。Lucene和Lucene in Action证明了有类似兴趣的人们可以完成什么,不管在人生中会碰
到什么情况,都会积极地为全球知识的共享做出贡献。
致谢
首先并且是最重要的,我们感谢我们的妻子Carole(Erik)和Margaret(Otis),一直支持这本书
的写作。没有她们的支持,这本书就不可能出版。Erik感谢他的两个儿子,Ethan和Jakob,
因为他们的忍耐和理解,Erik写这本书时没有时间陪他们玩耍。
我们真诚感谢Doug […]
December 17, 2007 – 11:07 am
机器人现在已被广泛地用于生产和生活的许多领域,按其拥有智能的水平可以分为三个层次.
一是工业机器人,它只能死板地按照人给它规定的程序工作,不管外界条件有何变化,自己都不能对程序也就是对所做的工作作相应的调整.如果要改变机器人所做的工作,必须由人对程序作相应的改变,因此它是毫无智能的.
二是初级智能机器人.它和工业机器人不一样,具有象人那样的感受,识别,推理和判断能力.可以根据外界条件的变化,在一定范围内自行修改程序,也就是它能适应外界条件变化对自己怎样作相应调整.不过,修改程序的原则由人预先给以规定.这种初级智能机器人已拥有一定的智能,虽然还没有自动规划能力,但这种初级智能机器人也开始走向成熟,达到实用水平.
三是高级智能机器人.它和初级智能机器人一样,具有感觉,识别,推理和判断能力,同样可以根据外界条件的变化,在一定范围内自行修改程序.所不同的是,修改程序的原则不是由人规定的,面是机器人自己通过学习,总结经验来获得修改程序的原则.所以它的智能高出初能智能机器人.这种机器人已拥有一定的自动规划能力,能够自己安排自己的工作.这种机器人可以不要人的照料,完全独立的工作,故称为高级自律机器人.这种机器人也开始走向实用.
智能机器人
我们从广泛意义上理解所谓的智能机器人,它给人的最深刻的印象是一个独特的进行自我控制的“活物”。其实,这个自控“活物”的主要器官并没有像真正的人那样微妙而复杂。
智能机器人具备形形色色的内部信息传感器和外部信息传感器,如视觉、听觉、触觉、嗅觉。除具有感受器外,它还有效应器,作为作用于周围环境的手段。这就是筋肉,或称自整步电动机,它们使手、脚、长鼻子、触角等动起来。
智能机器人之所以叫智能机器人,这是因为它有相当发达的“大脑”。在脑中起作用的是中央计算机,这种计算机跟操作它的人有直接的联系。最主要的是,这样的计算机可以进行按目的安排的动作。正因为这样,我们才说这种机器人才是真正的机器人,尽管它们的外表可能有所不同。
我们称这种机器人为自控机器人,以便使它同前面谈到的机器人区分开来。它是控制论产生的结果,控制论主张这样的事实:生命和非生命有目的的行为在很多方面是一致的。正像一个智能机器人制造者所说的,机器人是一种系统的功能描述,这种系统过去只能从生命细胞生长的结果中得到,现在它们已经成了我们自己能够制造的东西了。
智能机器人能够理解人类语言,用人类语言同操作者对话,在它自身的“意识”中单独形成了一种使它得以“生存”的外界环境——实际情况的详尽模式。它能分析出现的情况,能调整自己的动作以达到操作者所提出的全部要求,能拟定所希望的动作,并在信息不充分的情况下和环境迅速变化的条件下完成这些动作。当然,要它和我们人类思维一模一样,这是不可能办到的。不过,仍然有人试图建立计算机能够理解的某种“微观世界”。比如维诺格勒在麻省理工学院人工智能实验室里制作的机器人。这个机器试图完全学会玩积木:积木的排列、移动和几何图案结构,达到一个小孩子的程度。这个机器人能独自行走和拿起一定的物品,能“看到”东西并分析看到的东西,能服从指令并用人类语言回答问题。更重要的是它具有“理解”能力。为此,有人曾经在一次人工智能学术会议上说过,不到十年,我们把电子计算机的智力提高了10倍;如维诺格勒所指出的,计算机具有明显的人工智能成分。
不过,尽管机器人人工智能取得了显著的成绩,控制论专家们认为它可以具备的智能水平的极限并未达到。问题不光在于计算机的运算速度不够和感觉传感器种类少,而且在于其他方面,如缺乏编制机器人理智行为程序的设计思想。你想,现在甚至连人在解决最普通的问题时的思维过程都没有破译,人类的智能会如何呢——这种认识过程进展十分缓慢,又怎能掌握规律让计算机“思维”速度快点呢?因此,没有认识人类自己这个问题成了机器人发展道路上的绊脚石。制造“生活”在具有不固定性环境中的智能机器人这一课题,近年来使人们对发生在生物系统、动物和人类大脑中的认识和自我认识过程进行了深刻研究。结果就出现了等级自适应系统说,这种学说正在有效地发展着。作为组织智能机器人进行符合目的的行为的理论基础,我们的大脑是怎样控制我们的身体呢?纯粹从机械学观点来粗略估算,我们的身体也具有两百多个自由度。当我们在进行写字、走路、跑步、游泳、弹钢琴这些复杂动作的时候,大脑究竟是怎样对每一块肌肉发号施令的呢?大脑怎么能在最短的时间内处理完这么多的信息呢?我们的大脑根本没有参与这些活动。大脑——我们的中心信息处理机“不屑于”去管这个。它根本不去监督我们身体的各个运动部位,动作的详细设计是在比大脑皮层低得多的水平上进行的。这很像用高级语言进行程序设计一样,只要指出“间隔为一的从1~20的一组数字”,机器人自己会将这组指令输入详细规定的操作系统。最明显的就是,“一接触到热的物体就把手缩回来”这类最明显的指令甚至在大脑还没有意识到的时候就已经发出了。
把一个大任务在几个皮层之间进行分配,这比控制器官给构成系统的每个要素规定必要动作的严格集中的分配合算、经济、有效。在解决重大问题的时候,这样集中化的大脑就会显得过于复杂,不仅脑颅,甚至连人的整个身体都容纳不下。在完成这样或那样的一些复杂动作时,我们通常将其分解成一系列的普遍的小动作 (如起来、坐下、迈右脚、迈左脚)。教给小孩各种各样的动作可归结为在小孩的“存储器”中形成并巩固相应的小动作。同样的道理,知觉过程也是如此组织起来的。感性形象——这是听觉、视觉或触觉脉冲的固定序列或组合 (马、人),或者是序列和组合二者兼而有之。
学习能力是复杂生物系统中组织控制的另一个普遍原则,是对先前并不知道、在相当广泛范围内发生变化的生活环境的适应能力。这种适应能力不仅是整个机体所固有的,而且是机体的单个器官、甚至功能所固有的,这种能力在同一个问题应该解决多次的情况下是不可替代的。可见,适应能力这种现象,在整个生物界的合乎目的的行为中起着极其重要的作用。本世纪初,动物学家桑戴克进行了下面的动物试验。先设计一个带有三个小平台的T形迷宫,试验动物位于字母T底点上的小平台上,诱饵位于字母T横梁两头的小平台上。这个动物只可能做出以下两种选择,即跑到岔口后,它可以转向左边或右边的小平台。但是,在通向诱饵的路上埋伏着使它不愉快的东西:走廊两侧装着电极,电压以某种固定频率输进这些电极之中,于是跑着经过这些电极的动物便受到疼痛的刺激——外界发出惩罚信号。而另一边平台上等着动物的诱饵则是外界奖励的信号。实验中,如果一边走廊的刺激概率大大超过另一走廊中的刺激概率,那么,动物自然会适应外界情况:反复跑几次以后,动物朝刺激概率低、痛苦少的那边走廊跑去。桑戴克作试验最多的是老鼠。如老鼠就更快地选择比较安全的路线,并且在惩罚相差不大的情况下自信地选择一条比较安全的路线,其它作试验的动物是带着不同程度的自适应性来体现这一点的,不过,这种能力是参加试验的各种动物都具有的。
控制机器人的问题在于模拟动物运动和人的适应能力。建立机器人控制的等级——首先是在机器人的各个等级水平上和子系统之间实行知觉功能、信息处理功能和控制功能的分配。第三代机器人具有大规模处理能力,在这种情况下信息的处理和控制的完全统一算法,实际上是低效的,甚至是不中用的。所以,等级自适应结构的出现首先是为了提高机器人控制的质量,也就是降低不定性水平,增加动作的快速性。为了发挥各个等级和子系统的作用,必须使信息量大大减少。因此算法的各司其职使人们可以在不定性大大减少的情况下来完成任务。
总之,智能的发达是第三代机器人的一个重要特征。人们根据机器人的智力水平决定其所属的机器人代别。有的人甚至依此将机器人分为以下几类:受控机器人——“零代”机器人,不具备任何智力性能,是由人来掌握操纵的机械手;可以训练的机器人——第一代机器人,拥有存储器,由人操作,动作的计划和程序由人指定,它只是记住 (接受训练的能力)和再现出来;感觉机器人——机器人记住人安排的计划后,再依据外界这样或那样的数据 (反馈)算出动作的具体程序;智能机器人——人指定目标后,机器人独自编制操作计划,依据实际情况确定动作程序,然后把动作变为操作机构的运动。因此,它有广泛的感觉系统、智能、模拟装置(周围情况及自身——机器人的意识和自我意识)。
怎样变聪明的
人工智能专家指出:计算机不仅应该去做人类指定它做的事,还应该独自以最佳方式去解决许多事情。比如说,核算电费或从事银行业务的普通计算机的全部程序就是准确无误地完成指令表,而某些科研中心的计算机却会“思考”问题。前者运转迅速,但绝无智能;后者储存了比较复杂的程序,计算机里塞满了信息,能模仿人类的许多能力 (在某些情况下甚至超过我们人的能力)。
为了研究这个问题,许多科学家都曾耗尽了自己一生的心血。如第二次世界大战期间,英国数学家图灵发明了一种机器,这种机器成了现代机器人的鼻祖。这是一种破译敌方通讯的系统。后来,图灵用整个一生去幻想制造出一种会学习、有智能的机器。而在1945年10月的普林斯顿,另一位著名的数字家冯·奈曼却设计了一个被称为“人工大脑”的东西。他和自己的学生都是心理学和神经学的狂热迷恋者,为了制造人类行为的数学模拟机,他们遭受了多次失败,最后失去了制造“人工智能”可能性的信心。早期的计算装置过于笨重,部件尺寸太大,使得冯·奈曼无法解决如何用这些部件来代替极小极小的神经细胞这样一个难题,因为当时人类的大脑被看作是某种相互联系的神经元编织成的东西,所以就可以把它想象成某种计算装置,其中循环的不是能量,而是信息。科学家们想到,如果接受这样的对比的话,为什么不能发明出一种使信息通过以后产生智能的系统呢?
于是他们提出了人工思维的各种理论。比如,物理学家马克便提出了企图使机器人用二进位或二进位逻辑元件进行思维的方法。这个方法被大家认为是非常简便的方法。1956年科学家们召开了第一届大型研讨会,许多专家学者主张采用“人工智能”这个术语作为研究对象的名称。两位不出名的研究者——内维尔和西蒙提出了不同凡响的设想。他们研究了两个人借助于信号装置和按钮系统进行交际的方式。这个系统要把这两个人的行为分解为一系列简单动作和逻辑动作。因为在这两个研究者的工作地点装有两台大型计算机,所以他们俩常把自己的试验从脚到头倒着进行消遣取乐:把简单的逻辑规则输入计算机,使它养成进行复杂推理的能力。这真是一个天才的想法;计算机程序不仅进行工作,而且靠它帮助,发现了一个新定理,这个定理证明完全出乎意料之外,而且比以前所有的证明还要优美得多。内维尔和西蒙发现了一个奠定性的原则,即赋予机器人智能用不着非得弄懂人类大脑不可。需要研究的不是我们的大脑是怎样工作,而是它做些什么;需要分析人的行为,研究人的行为获得知识的过程,而不需要探究神经元网络的理论。简单地讲,应着重的是心理学,而不是生理学。
从此,研究者便开始沿着上述方向前进了。不过,他们还一直在争论这样的问题:用什么方式使计算机“思维”。
有一派研究者以逻辑学为研究点,试图把推理过程分为一系列的逻辑判断。计算机从一个判断进到另一个判断,得出合乎逻辑的结论。象众所周知的三段论一样:“所有的动物都会死掉;小刺唱是动物,因此,小刺猖也会死掉。”计算机能否获得幼童一样的智力水平呢?关于这个问题,科学家们有两种相反的见解。伯克利的哲学教师德赖弗斯带头激烈反对“人工智能派”。他说人工智能派的理论是炼金术。他认为,任何时候也无法将人的思维进行程序设计,因为有一个最简单不过的道理:人是连同自己的肉体一起来认识世界的,人不仅仅由智能构成。
他进一步举例:计算机也许懂得饭店是什么意思,但它绝不会懂得得客人是否用脚吃饭,不懂得服务小姐是飞到桌边,还是爬到脚边;总之,计算机永远也不会有足够的知识来认识世界。但麻省理工学院的研究员明斯基却不同意德赖弗斯的观点,他认为机器人的智能是无限的。他对“人工智能”的解释是:这是一门科学,它使机器去做这样一种事情,如果这种事情由人来做的话,就会被认为是有智力的行为。明斯基同时是一位物理学家、数学家,还对心理学、社会学、神经学都有所研究。他指出,人工智能是心理学的一个新门类,这个门类用实验的方法,以计算机为手段模拟人类思维的本性。他认为自己所研究的计算机,是一门全新的科学;当然机器并不是人,它永远没有人的那种快乐或是痛苦的情感体验,只是热衷于掌握纯粹的知识。举个例子来说吧,人可以给计算机输入“水”的概念:水是一种液体,表面是平的;如果从一个容器倒入另一个容器里,其数量不变;水可以从有洞的容器里漏出来,能弄湿衣服,等等。但是,它获得有关水的最一般的信息之后,就尽力回答一个很重要的问题:“如果将盛满水的玻璃杯倾斜,那会怎样呢?”计算机在它的荧光屏上显示出了一只倾斜到水平位置的玻璃杯,尽管计算机知道引力定律,但它还是固执地在荧光屏上显示:玻璃杯歪倒了,可液体就是不外流。计算机永远不会从痛苦的、但却是有益的经验中体验到那种衣服被弄湿的人所感受到的不快心情。
所以有一个名叫申克的心理学家正领导一批学者从事这个令人感兴趣的课题的研究:让计算机学会阅读和概括读物内容,回答有关问题;让计算机学会几种人类语言,并互相翻译;让计算机学会对话、学习论证艺术、背单词……
与人对话
美国耶鲁大学曾经设计了一台这样的计算机:它的存储器里没有保存预先准备好的固定说法,它自行编制答话,会论证,会“思考”,某种程度上有点像人。靠着心理学和信息论,科学家为自己提出了一个令世人惊异不已的课题:把人的思维方式和行为研究清楚,然后去人工模拟它。
谈到“人工智能”这个词的时候,我们马上会把它跟一些非真实的东西联在一起。这个词的出现,令许多人提心吊胆:机器人和人一样了,那人类将何去何从!有的人在拼命捍卫着人类自身的最后一个堡垒,使其免遭机器人的伤害、侵犯。问题之所以复杂还在于这个词至今还没有形成统一的定义。明斯基说:“这是一门科学,它使机器人去做这样一种事情,这种事情如果由人去做的话,就会被认为是有智能的行为。”这类俏皮的定义用处不大,有时简直会把研究者引到实用形式主义的沼泽中去。另一个叫图灵的研究者提出了人工智能的测试方法:如果人类猜不出计算机跟他谈话时将表述何种内容——不知道它要说什么,那么,这台计算机已经达到了人的智能水平。他的这一番高论曾经引起了轰动,给学术界添了不少忙乱。为了排除计算机言语问题,这样的对话最好是利用电传机进行。对于许多控制专家来说,为达到图灵所说的水平,进行了大量的工作。数不清的各种各样的电子交谈者纷纷问世。
60年代末,美国控制论专家、麻省理工学院教师魏森鲍姆编成了几个程序,其主要目的是满足图灵的测试条件——把吹毛求疵的技术专家搞糊涂。这种做法的基础是似是而非的对话。在进行这种对话时,交谈者只是看起来像是在交谈。“交谈者”实际上不去考虑交谈对方所说的意思,而是把听到的东西作些并不复杂的形式上的改变,组成自己的答话。请看:
研究者说:“朋友建议我到您这儿来,他说这多少可使我快乐些。”
计算机吃惊地问道:“您的朋友建议您到这儿来?”
研究者说:“他说我总是郁郁不乐。”
计算机说:“您郁郁不乐,我很遗憾。”
详尽研究了无聊空洞的沙龙对话之后,魏森鲍姆发明了他那富有魅力的
“机器人女士”。他发现他的某些同胞能在毫无兴趣的情况下应付对方谈话,而且他们的对话仍能很好地进行下去。这个机器人女士继承了这一能力,能在问话中找到关键词语,然后组成一些公式化的令人感到恰当的答案。看得出,这位“女士”是有些智能。但实际上,她的智能有限,只是善于伪装罢了。“女士”的头脑十分简单,在人说出来的话语中,一些固定的关键词语迫使它产生反应,提出一些固定的语句来。比如,当人说“你不知道某某”时,“女士”便会答道:“为什么您认为我不知道呢?”她能说会道,但只不过是一个沙龙里闲聊的能手罢了。
科尔比在斯坦福大学编制了另一种计算机程序,它与上述“女士”不同。它的任务是帮助刚刚开始工作的精神病医生获得某些同重病患者交谈的经验。这个程序模拟的是患迫害狂的病人。程序中存储了一定的履历情况:佩里,28岁,未婚,在邮局工作;他极其脆弱,对涉及他的外貌、教育和信仰等所有问题都敏感;他的爱好是看电影和赛马;有一次,他竟朝赛马场赌注登记员猛扑过去,因为那个人没付给他赢得的彩金;从此,他便开始惧怕黑社会的报复。交谈中,佩里的情绪经常变化。如果谈话主持人经常地触及到佩里的“痛处”,佩里便开始激动,出现妄想狂症状。下面是他们的对话:
医生:“您怕黑社会吗?”
佩里:“黑手党是最可怕的暴徒。”
医生:“您跟黑手党有什么联系吗?”
佩里:“您没看到吗,他们知道我。”
医生:“他们怎么会知道你?”
佩里:“他们在监视我。”
医生:“为什么?”
佩里:“他们想罗织罪名把我打入监狱。”
医生:“他们为什么要害您?”
佩里:“他们想置我于死地。”
医生:“为什么呢?”
佩里:“我掌握着黑手党的罪证。”
一群精神病医生被安排通过电传机跟一个真病人和佩里同时进行交谈,虽然他们知道其中一个交谈者是计算机,但猜不出究竟哪个是计算机。这样,图灵测试法便开始发生作用了。后来发生了更加有趣的事,先前魏森鲍姆制作了一个模拟精神病医生医治某些神经功能失调症的机器人;后来产生了用这个机器人来治佩里的想法,这是它们之间的对话:
医生:“您好,请说说您哪儿不舒服?”
佩里:“我有时生别人的气。”
医生:“我不太理解您说的意思。”
佩里:“您应该注意听些。”
医生:“请继续说吧。”
佩里:“我曾经去过贝—梅多乌斯赛马场。”
医生:“您去干什么?”
佩里:“我去赛马了。”
医生:“您还想讨论什么?”
佩里:“我对赛马感兴趣。”
医生:“您为什么要说这些呢?”
佩里:“那里赛马赌博时捣鬼。”
医生:“我不太明白您的意思。”
佩里:“您真是个令人讨厌的人!”
医生:“您喜欢把我看作是个真正令人讨厌的人吗?”
佩里:“我听腻了。”
医生:“为什么?”
佩里:“再见!”
医生:“认识您十分高兴。您应交付399美元25美分。”
这就是它们的对话,交谈得不错,尽管医生有些“瞎蒙”。程序员准备逐步完善“佩里”的程序,以便年轻的医生们能在对话过程中“治愈”这个人造病人。到那时,大学生们便可以通过跟计算机交谈来学习,免去面对真正的精神病人时因医术不熟练造成的痛苦。
教会机器人去抓住这样或那样的实质更为重要。跟计算机谈话有两种类型:有限的交谈和有限的理解。在有限的交谈中,机器人“理解”它所交谈的全部内容,不过只是涉及到确定话题的情形下,比方说,下棋或摆积木。在有限的理解时,可以同它随意交谈,但是它却远远不能全部理解你的话。魏森鲍姆编制的机器人“女士”这个程序正属于此类。“女士”只能表面上理解事件和现象。不过,随着控制对话理论和实践的发展,机器人的言语变得越来越能表达意思了。图灵测试法开始经常性地生效了。
美国的一家电子计算机公司的副董事长,阴差阳错,接受了一次图灵标准测试。从此,这个标准的地位开始下降了。因为控制专家们由此发现,它也不是检验计算机智能极限的最佳标准。
最佳标准是什么呢?怎样的智能水平才够称得上是真正的“智能”机器人呢?这又成了摆在智能科学家面前的一个新问题。
机器人教给你
计算机事业的发展是建立在许多科学研究者“异想天开”的主观设想和辛勤劳动的客观实践的基础之上的。前面已经说过,一些学者在研制控制对话原理,做出了不少贡献。此时,另一些实践家和实用主义者则努力将机器人的这种新能力套在科技进步的大车上,他们决心让机器人具备具体的领域中的某些知识。
我们知道,计算机所获得的全部信息因素被一个相互依赖的复杂系统联系在一起。计算机比起逻辑推理来,更经常地采用类比和判断的方法,它将这些要素进行归类、合并和综合,渐渐地发展了自己的“思维”能力。现在我们来回顾一下机器人在这个发展过程中的一些历史性事件。
最初一批这样的计算机诞生于50年代末。它们证明了约40个定理,并且能解答象“建造儿童金字塔”一类的简单小问题。到60年代,人们已经能够同计算机谈论天气之类的话题了,因为这些计算机了解气象学,并具备正确造句所必需的句法知识。比如,如果对它说:“我不喜欢夏天下雨。”它会彬彬有礼地回答:“是的,不过夏天并不经常下雨。”此外,还有一个叫“棒球”的程序能解答与本年度比赛有关的所有问题:比赛地点、比分、参赛队的人员情况。而“谈谈”程序,它已经开始对交谈者的家庭关系感兴趣了,尽管它确实对此一无所知。只是到了1965年,机器人“先生”才开始更多地注意词义,而不仅是单词在句中的排列顺序。计算机“学生”也是这种类型的,像一个学习成绩优秀的学生,能解答一次方程,能用流利的英语叙述解方程的顺序。
输入计算机中的知识专业化程度越高,计算机掌握它们的可能性就越大。现在,有些计算机已成了真正的“技术顾问”。比如,它们已经在协助专家们去确定哪个地层矿产丰富;协助专家们作出有关传染病的诊断。要制造出这样的“专家”来,必须把人——专家的知识,传授给它们。然而,不管令人多么难以置信,主要困难仍在于怎样把这些知识从人的大脑中“全掏”出来。比如,医生作出诊断时,根据经验,遵守一些规则。这些规则,他几乎是在下意识地和机械地加以运用的。研究者们花费了好多时间去采访医生和其他专家,以便弄清楚他们思维过程所固有的基本规律。只要能将他们思维的全部过程还原,那么,再把它复制于计算机程序中,这相对来说就不复杂了。从1965年开始,计算机中的第一个“专家”便由法伊根鲍姆在斯坦福制成了。它一出生,就自告奋勇地帮助化学家确定物质的分子结构;另一个技术顾问“探矿者”,工作起来更是严谨。它详细地研究地质图和土壤样图,以便确定存在的矿床。它居然在华盛顿州发现了一座蕴藏丰富的钼矿。
而计算机“医生”,它的程序编制于70年代。它在得知诊断结果和主要症状后,能对传染病作出诊断。最精彩的是,如果应用人要求它解释作出这样诊断的理由的话,那么它任何时候都能说明作出这种诊断的理由是这个,而不是另一个。匹兹堡大学的一位计算机专家波乌普尔和内科专家迈尔斯还设计了计算机“科达”的程序,这个计算机在其存储器中存储着比一个医生在任何情况下所记住的更多的病症。它可以把事实、评定和判断结合起来作高难的诊断。计算机竟然学会了诊断?对的,不信,请看下面的实例:
有一天,人们给这台计算机输入了一个中年人的详细病情。当时,这个中年人脸色难看之极,呼吸困难,被救护车送到了医院。迈尔斯初诊为心脏病发作。而计算机注意到了该病人的病情——胸廓不感到疼痛,以前发作心脏病时,血压正常,病历中有关于糖尿病的记载,计算机先考虑了十多种疾病的症状,否定了这些假设的疾病。然后,在荧光屏上显示出主要诊断结果,几分钟后,计算机得出确诊:病人是心脏病发作。而医生要作出同样的确诊则需要几天的时间。在某些复杂和异常情况下,它作出的确诊比私人医生的确诊更为正确、更为细心。所以迈尔斯医生认为,计算机几乎总是愿意同有足够时间的医学专家研究患者的每一种病症。例如,进行过附加测试以后,
“科达”就可以成为医生们的普通参谋,它甚至可以降低医疗费,因为根据计算机提出的问题,医生指定病人去化验的次数将会减少。
现在这样的“专家”队伍已经扩大了。长此下去,它们定将儿孙满堂。例如,正在研制的电子计算机,会翻译,会辨别书面语和口语,会指出错误,会学习,会改正错误。总之,未来的“专家系统”所涉足的领域将越来越广泛,从天上到地下,从古代到现代——真正做到“天上知三分,地上全知道”(虽有点夸张,但符合它发展的方向和人们的愿望)。
December 17, 2007 – 12:15 am
人工智能的定义是
Artificial Intelligence (AI) is the study of how to make computers do things at which, at the moment, people are better
人工智能的专家们都在多什么?为什么没有更好的定义?
人工应该好理解。智能需要做什么,做到什么地步。怎样才算智能
有学习能力算不算?智能应该基于统计还是基于学习?
为什么有学者认为人工智能不可能实现?:Artificial Intelligence Is Lost in the Woods
实现人工智能的前提是什么?智能的准确定义是什么?