在线互动式ups:互动式小说(IF) 人工智能(AI)以及互动小说式交谈排列模型



作者:Jorn Barger([email protected]) 1994年9月26日 

译者:Amiyami([email protected]



  看了些外国东西感觉中国落后不止是、 2十年……中国并非没有好思想和文字只是人们已经习惯于沉默……要看好思想和文字就去看李慎的先生风雨苍黄 5十年;要看好思想和文字在中国遭遇就去看www.sixiang.net变迁;要学习怎样在这种环境中生存就要去看风的谷……题外话题外话有粪青倾向了:) 

  这篇文章主要是通过对互动小说实现方式研究来考察种模拟现实可能性文章有较强学术味道也就意味着知识背景很深厚——换句话说不要小看了这些观点我在文章中提到新闻组上确实看到了他们努力成果如果读者对译文不满意(水平太差……)可以通过 border=0>http://www.robotwisdom.com/ai/design.html( border=0>http://www.robotwisdom.com/ai)直接看原文转载此文请先取得译者同意 



  摘要:种尚待讨论观点认为互动小说需要个内容丰富能够知道怎样做出仿真式反应包括对人类行为模拟智能对象库支持Doug LenatCyc工程已经从传统人工智能角度触及了这个问题但对于互动小说来说这种对象库可能仅仅意味着搜集特定形式文本——而且在互联网上个新邮件列表正致力于建造这样个文本库如果这个库能够将所有最有趣情节线索连接起来那么计算机功能将变为以机敏、同步安排同玩家进行交谈展开尽可能多有趣情节在的前些论题中(IED 7.4)Chris Crawford讨论了若干最基本互动小说结构(topologies)——并证明了其中每种都有着致命缺陷最基本互动性要求玩家进行选择故事会因此分化变为树状结构(topologies)但Chris证明故事树要么必须用某种非常有限方式形成封闭结构(fold back on themselves)要么它们大部分分支都被迫进行平衡并导致生硬结束(have most of their branches trimmed to (violent)dead-ends)如果以上情况都没有发生则故事结构必须进行指数式扩张……因此些糟糕例子中高额预算并未能产生相应效果而是造就了既过于简单化又不吸引人游戏在对遥远未来幻想中计算机能够提供个近乎无限虚拟现实世界人物、物体都能够模拟出真实生活中最小细节人们能够步入狄根斯或是托尔斯泰小说世界完全自由地同里面人物进行互动……但是……怎样设计方案才能使这种形式互动小说变为现实?当然正确步是告诉计算机最基本互动规则同时这也是对传统AI挑战 

  在这篇文章中我将首先对 AI世界中最有可能实现“真实智能(truly elligent)”个项目:Cyc工程进行介绍说明然后我会指出Cyc模式是如何和传统文字冒险游戏(traditional text-adventure)交迭(overlap)我还要讨论种富有潜力同时能更为简单地建立个互动小说专用“Cyc”策略——用种被称为“完全文本(meta-story)”结构同时还会提供些例子来证明这种结构能够按照人们直觉思维方式将知识组织起来(capture knowledge in an uitive way)最后我将要探索种新互动小说范例——互动小说式交谈排列模型(confabulating-arranger model) 



基本认识:Cyc工程 

  游戏设计师们觉得近 3十年学术性AI研究产生实用成果很少学者们所研究问题领域太狭隘而且采用结构对于实时游戏(realtime gameplay)来说太慢迫于需要游戏界不得不发明自己AI风格 

  过去十年个非常野心勃勃计划(令人惊讶地低调)正在奥斯丁、得克萨斯实施试图组织起人类常识所有内容Cyc(取自百科全书英文名enCYClopedia部分)工程是提供种能够阅读报纸明白其内容发现和常识不符的处就像我们读者样能干 

  就其已经达到程度而言至少在理论上Cyc工程对维持个虚拟世界中内在联系(ernal consistency)非常有用由Doug Lenat领导Cyc小组正在试图将人们理解力(human understanding)分解为数以千计被称作“微理论(micro-throries)”东西比如疾病食物制备交流合作行为并尝试将它们用逻辑符号翻译成为基本规则当他们需要说“如果某人窒息了那么他不能呼吸”时候他们会这么表达: 



(LogImplication 

  (LogAnd 

    (allInstancesOf $AIL Asphyxiation) 

    (bodilyInvolved $AIL $AGT)) 

  (holdsIn $AIL 

    (LogNot (behaviorCapable $AGT Breathing bodilyInvolved)))) 

where $AIL and $AGT are the variables for ailment and agent, 

LogAnd, LogNot, and LogImplication are simple logical connectives and "holdsIn" s the context within which this 'axiom' holds. 

(译者:我给作者发信确认这段话意思以下是他回复: 

behaviorCapable: is the person capable of the behavior? 

$AGT:agent=person 

breathing=the behavior here is ‘breathing’ 

bodilyInvolved= I forget why they need this-- apparently some behaviors don't involve the body? 

Together they say ‘the person can not breathe’) 



  根据Cyc模型如果游戏需要知道在某个特定地点发生了什么比如某人将个精巧花瓶摔在了地上——会提交个给Cyc查询信息数秒钟后Cyc会返回个消息声称花瓶掉在了坚硬地面上摔得粉碎 



  不幸如果你在短时间内重复进行这种行为数次(multiply that plausible retrieval-time times)那便需要成千乃至上百万演算来保证个互动小说仿真性因此我们得出结论:Cyc无法足够运行速度来支持互动小说 

  可能Cyc最糟糕问题还是在于——和些大型工程区别Cyc不是采取自顶向下逐步细化思路方法建立更确切Cyc采取了相当冒险策略将细节性缺乏已知全面性了解小段个累积起来…而后将所有东西汇合而成个“核心知识库”对互动小说而言让这个库变得足够精炼是个最大难题 

  所以就其希望收录知识而言Cyc提供了个很好互动小说理论起点虽然并不十分适合存在实时运行限制情况我们确实知道某种层级实时互动小说是可能——Zork和Hitchhiker’s Guide(相关资料请查阅 border=0>http://www.game-over.net/retro/april99/infocom/)是最好证明但是能否建立个互动小说引擎将些Cyc里面东西包含进去(让引擎功能变得更强)? 



文字冒险游戏开发语言 

  文字冒险游戏特别是80年代早期Infocom游戏流行促使些人去设计文字游戏开发专用语言其中些能够在Internet上免费获得rec.arts.-fiction新闻组给这些开发文字冒险游戏设计师提供了个交流、成长地方(这个新闻组在ftp.gmd.de /-archive/有文件夹) 

  Michael J.Roberts设计TADS(文字冒险游戏开发系统)可能是最流行开发环境在TADS上开发游戏能够在各种硬件平台上运行TADS提供了个合适预定义对象类(pred object-types)种都至少包含了级有关它们行为智能设置举个例子罐子和车“知道”放在它们里面东西可以随着它们而移动而且在它们被打开前是看不见个例子是角色会“知道”饥饿如果他们不吃东西最后会死掉 

  TADS是面向对象其对象包括了大多数“文本元素(story elements)” 



 openable: container 

  contentsReachable = { ( self.isopen ); } 

  contentsVisible = { ( self.isopen ); } 

  isopenable = true 

  ldesc = 

   {
    caps; self.thedesc; 

     ( self.isopen ) 

     { " is open. "

     pass ldesc;} 

     " is closed. "; } 

[etc] 

(这是TADS般结构看不懂也无所谓) 



TADS对象层级(object-hierarchy)牢牢建立在语言实用学基础上例如: 

Thing 

  Item: vehicle, surface, lightsource, key, food, container, clothing 

  FixedItem: switch, dial, button, decoration, actor, chair 

Room 

东西(thing,有人想说服我用“存在”这个词) 

  物品(Item):车水面光源钥匙食物容器衣服 

  固定物品(FixedItem):开关转盘按钮装饰演员(actor,我想是npc)椅子 

房间 

相比较而言Cyc提供了个比较高但忽略实效且不完整对象层级 



Thing 

  Intangible 

  IndividualObject 

    Event 

    Stuff 

     Process 

      SomethingExisting 

       TangibleObject 

东西 

  无形 

  个体对象 

    事件 

    素材 

     步骤 

      存在某样东西 

       可以触到物体 



智慧问答邮件列表 

  如果个类似于TADS知识库能够逐渐扩充达到Cyc程度应该是向更好互动小说迈出了大步考虑到这rec.arts.-fiction中些人建立了个邮件列表探索种公共领域(public-do)互动小说用Cyc可能性 

  邮件列表——智慧问答(Wisdom FAQ)——由互联网上经常使用FAQs(经常会问到问题)命名试图使用最易理解方式浓缩最有用信息——包括任何主题智慧问答可以被看作个(非常宏大)经常被问到问题镜像包容世界上所有智慧所有主题……刚开始时候当然只包括那些对互动小说最有用信息(需要订阅请给[email protected]发送请求文件可以在ftp.mcs.commcsnet users/jorn/wisdom中找到如果需要email给你请务必告知你邮箱次能够接受邮件大小) 

  邮件列表所聚集人有两个任务:首先累积“文本元素”或公理;其次也是更加艰难任务:使用标准方式发布搜集信息第 2个任务更加技术性显得不那么有趣因而会由个“子邮件列表”来完成 

  列举文本元素任务不那么技术性因此智慧问答欢迎不擅长技术热心者——知道点整理总结故事线索诀窍或者是擅长编织复杂情节…等等 



  每个对象都可说是个故事(文本)…不是吗? 

  最明显组织文本元素思路方法是根据对象所在层级进行组织让对象根据这种规则组织起来并不是很难某种能够让你涌现出无数灵感策略如下: 

* Where does this object come from? 

对象来自哪里? 

* How does a person come o relationship with it? 

个人如何和其发生联系? 



* How might the person use the object? 

人们如何使用这个对象? 

* How might they change it? 

人们如何对其进行改变? 

* How might they be changed by it? 

它会(对人对世界)有什么影响? 

* How might their relationship with it end? 

这种联系如何结束? 

* How might it cease to exist? 

怎样会让这个对象消失? 



因此而形成方便于组织这些问题答案思路方法叫做“完全文本(meta-story)”: 

  食物完全文本:人们照料个菜园或是农场养殖动物种植农作物以供食用或是出售他们在恰到好处时候收获食物然后或是卖或是贮藏或是制作或是吃或是提供给朋友和家人如果制作得当人们食欲得到满足他们就会高兴食物经过他们消化最终排泄出来如果他们得不到足够食物他们会变得消瘦乃至死掉制作食物人可能在其中放毒来暗算食客放毒者可能需要掩饰毒物味道也许他们(放毒)窍门技巧很差以至于食物吃起来很糟糕 

  瓶子完全文本:个人在坩埚中加热沙子然后将空气用根管子吹入其中直到它变成瓶子瓶子冷却后他们用它来盛装液体然后用软木塞或是瓶帽塞住瓶口防止液体外泄或是蒸发他们也可以把瓶子浸入液体中来装满它把塞子拿掉就可以把液体倒出来两个或更多人会互相传递瓶子来分享里面液体如果他们把瓶子扔到了坚硬东西上瓶子可能会碎掉液体会泄露出来碎玻璃可能割伤不小心碰到它碎片可以导致爆胎个裸足人踩在上面也会被割伤碎片可以作为聚光镜来集中阳光引致着火或者是放大些细小东西(有干净液体在内瓶子同样可以作为聚光镜)人们可以用瓶子砸到个人头上导致其失去知觉也可以用来演奏“瓶颈吉他(bottlenect guitar)”也可以将瓶子像用擀面杖样地用来摊平面团(等等) 

  所以个加入了智慧问答邮件列表(Wisdom-list)项目人需要累积类似于儿童用百科全书这类“完全文本”并将它们阐述到规则所需要层次仅仅是积累智能对象并不必定意味着互动小说作者可以更轻松简单地说个游戏对象而言存在越多被预定义了行为越难于预见所有可能情况……实际上我们越在这方面深入整个基于谜题互动小说想法就越发显得缺乏吸引力… 



互动小说和“心理对象(psychology objects)” 

  Cyc已经离描述人类戏剧艺术任务越来越近它声称已经建立了个可行有关感情和动机工作模式智慧问答邮件列表没可能达到这除非它直面对文学情节(literary plots)(相对于对象)进行编码问题 

  George Polti曾作出过有关文学情节经典分析:“ 3十 6种戏剧性情境”Polti分析了文学上众多经典故事情节声称如下情境为其最基本构成:祈愿(Supplication)释放(Deliverance)报复(Revenge)血亲复仇(Vengeance by Family upon Family)追击(Pursuit)残忍或是不幸牺牲品(Victim of Cruelty or Misfortune)灾难(Disaster)反抗(Revolt)大胆事业(Daring Enterprise)诱拐(Abduction)谜(Enigma)收获(Obtaining)家族仇恨(Familial Hatred)家族竞赛(Familial Rivalry)危险通奸(Murderous Adultery)疯狂(Madness)致命轻率(Fatal Imprudence)无意间为爱而犯罪(Involuntary Crimes of Love)同族不知情杀害(Kinsman Kills Unrecognised Kinsman)为理想自我牺牲(Self Sacrice for an Ideal)为家族自我牺牲(Self Sacrice for Kindred)激情而全部牺牲(All Sacriced for Passion)为爱人而牺牲(Sacrice of Loved Ones)阶层间竞争(Rivalry Between Superior and Inferior)通奸(Adultery)为爱而犯罪(Crimes of Love)发现爱人并不清白(Discovery of Dishonor of a Loved One)障碍(Obstacles to Love)爱上了敌人(An Enemy Loved)野心(Ambition)和神冲突(Conflict with a God)误会而致嫉妒(Mistaken Jealousy)不完善判决(Faulty Judgement)懊悔(Remorse)最后复苏(Recovery of a Lost One)失去爱人(Loss of Loved Ones) 

  上文所列只有很少会出现在建构“完全文本”过程中最重要文学情节“对象”是心理上比如感情和动机(相对于般“对象”而言)尽管“完全文本”只需要累积文本元素就可以工作得很好——就算选择个相当无理起点(例如催眠)——如果你觉得故事中东西能令你满意话 



  催眠完全文本:偶然地人们发现他们可以通过催眠来控制其他人所以他们催眠了别人来取得不属于自己金钱、权力、健康、自尊受害者甚至不知道在他们身上发生了什么最后情况变得如此的糟以至于他们对于了解事件根源已经绝望了然而总会有个人看到冰山可能会被迷惑但又会再次发现并了解到真相然后尝试着告诉别人——不出意外话会被误解为疯子被攻击但结局是所有人都了解到了真相并将压迫他们人打倒 



  结论就是如果富于文本结构直觉那么在任何主题上都可以进行充分发挥 



反向推导偶然事件 

  在那些希望通过些“容易规则”来导出大量有趣故事人工生命理论家(articial-le)看来通过“偶然事件(emergent behavior)”原则“完全文本”正在试图消解他们劳动成果依靠种“作弊”思路方法——你提出个你希望“突然发生(emerge)”故事然后进行分析并试图用反向工程来解析出其中简单规则进行再创造 



  如Maslow需求层级(hierarchy of needs)(生理安全归属和爱尊重认知感性自我实现)般简单东西看起来似乎可以以的作为系列上文提到“容易规则”起点但用完全文本进行分析并揭示其内在(inobvious)模式(至少从数学观点上看)的后这些东西把我们引向了偶然事件 

  生理需求完全文本:经常人们有对食物和饮料渴望他们会把这些东西放在附近可以保证卫生地方他们制备食物和饮料烹调切割混合调味使得享用过程变得更愉快又或者他们指望别人能够为他们代劳经常群住在人会同坐在个有碟子、银器或是玻璃器皿桌子旁边吃东西的后必须有人打扫干净有时候他们在饭馆吃东西或者是在旅行中车上他们可能拿着水罐喝水(可能用有营养、刺激或是令人发醉东西调味)或者是停在个自动贩卖机、喷泉或是咖啡机前面如果个人每日所摄入卡路里少于他每日所消耗他们会减重如果他们摄入得比较多他们会增肥如果他们减重过多或者是没能喝足够他们会死掉 

  水和废物靠尿消化后废物靠大便排泄出去 

  安全需求完全文本:人们会感到不安全他们不喜欢这样当有不被信任人或动物在身边或是他们家不够可靠时候他们会觉得不安全或许他们在白天会被迫把家安全放在边(去上班)或许是自然界危险例如悬崖峭壁洞穴流沙大量、冷或是速度过快等等或许保养很差工程(poorly tained technology)也是危险来源人们改变他们环境或是他们行为来使危险消失从而得到安全 

  归属和爱需求完全文本:人们会孤单他们在其他公司中寻找表现得富有吸引力以便受欢迎……或者他们表现得有权有势让别人害怕拒绝他们……或者他们表现得受伤害以便获得同情 

  获得尊重需求完全文本:人们会觉得别人完全不尊重或是敬仰他然后他们试图做些令人敬佩事情并确信有人知道这件事或者他们会撒谎做了些令人敬佩事情 

  认知需求完全文本:人们需要知道些事情可能仅仅是好奇他们寻找可供阅读书籍或者是寻找可供学习老师问他们问题他们会观察些现象深入地进行研究或许还会做实验如果他们发现些新东西他们可能会发表他们发现 

  认同需求完全文本:在个无聊或者是丑陋环境中人们会觉得压抑他们创作、再要求或是寻找能令他们愉快东西如果他们记录了创作过程那么这个创作行为在此的后会被别人再重复或许他们会记录下他们创造然后就能再体会那种快乐也许这种快乐持续段时间后就会开始令人厌倦 

  自我实现完全文本:个人有了他所需要所有东西但并不满足——他们扪心自问寻找他们心最需要是什么然后奉行这个指引… 



  模拟现实(SimNormal)(译者:作者声称他出于对Normal和Illinois尊敬而取了这个名字他在信中确认了这句话意思:There's a real town in Illinois called 'Normal' which sounds funny in English, as  the town is very ordinary. So 'SimNormal' means a 

  completely ordinary town.确实有座叫做“Normal”小城在伊利诺伊州这个名字听起来很搞笑好像是说这个城市曾经很正常似所以“Simnormal”意思就是个普通小城镇) 

  反观智慧问答雄心有可能会导致其陷入如此大量文本泥沼中而失去对起点判断——个实际实施互动小说也有可能发生这种事种保证完全文本“和真实亲密接触”思路方法是假想它们正演示在个计算机屏幕上就像在King’s Quest(国王密使)中如果你文本对这些实现技术而言过于抽象那么还需要进步地考虑来充分细化我喜欢想象种和模拟城市类似环境在那里很多小人走着他们日常走完全是种机械风格没有突发事件再看次上面归属完全文本很明显你需要根据特定需求来尽可能细化以便最终在个类似于模拟现实(SimNormal)环境中实现 



  偶然相识(The casual-acquaance)完全文本:某人经他人介绍或是自我介绍亦或是经常走同条路而认识了另个人相遇时候他们会轻轻点头互相致意稍微聊会天气新闻闲话娱乐方面东西如果没有什么不愉快他们会逐渐打开心扉更加相信对方 



  最简单编码方式莫过于给每个人个亲密级别(imacy-level)0意味着对方是完全陌生但每次他们看到这人亲密级别就会加假设达到了5即变成偶然相识模式会互相问候方面如果陌生人的间以某种形式互相介绍他们亲密级别也可以达到5随着这个数字增长他们问候时间会变长如果他们不忙话会停下来聊天(应该有个聊天动画设计为循环播放直到聊天结束为止)发现共同兴趣可能引致亲密级别迅速提高发现不相容地方或者是很长时间没能见面可能导致他们亲密级别下降 



  最好朋友(The best-friend)完全文本:人们开始深入了解对方乐于同他在起(或者仅仅是出于种突然紧密联系)他们把时间安排在起干事情煲电话粥他们告诉彼此私人性质难处并试图互相帮助这些交流能让他们感觉更好有时他们会互相攻击然后和解或就此决裂或许他们中个离开了(gets an S.O.译者:我不知道这是什么意思……谁能告诉我?)这样会导致他们分离或许仅仅是起时不再有那么多乐趣他们决定分开 

  人们可能会有个和他关系最亲密名单觉得无聊或心绪不宁时候他们会从这些人中寻求帮助某甲安慰某乙故事可能很简单——时间过去某乙平静(反而某甲可能会觉得很糟——如果是这样那么他们的间友谊肯定出了问题)发生冲突会有个限度依彼此个性而定同时也要考虑他们是否在争夺稀缺资源 





  同志(pals集团开个玩笑呵呵)完全文本:人们有个或更多最好朋友他们形成了个集团而且源源不断地有人加入进来——无论是收到邀请或仅仅是看到便跟随如果新人不受欢迎他们会被要求离开他们星期至少会见几次面或许两个想成为领袖人中间存在着权力斗争或许他们会个接个地离开由其他人取代他们位置 



  把群自由研究人集合到计划比仅有两个人情况复杂得多得多他们中任何个人都可能邀请对方——需要个“彼此相处完全文本”来解决这个问题 



  同居完全文本:某人搬进了个地方和个或更多人同住共享空间般来说室友扮演了某种程度上朋友角色会倾听对方每日故事些室友比其他人更加爱整洁这可能导致冲突当账单到达时候他们可能会进行不均衡分配并因此而导致关系紧张其中个可能最负责而签署了支票等等每个人都可能有个或更多令人讨厌考验他人耐性地方或许他们会个接个地离开被其他人取代抑或他们全都走了 



  合作者完全文本:某人在某个地方得到了某个工作同事中些成为朋友其他人可能是熟人些则成为了敌人就算在他们争斗时候他们也需要在起工作离开或是调离是种潜在结果他们敌人可能会耍些手段使他们在老板看来很糟糕 



互动小说式对话排列模型 

  如果我们继续向这方面研究互动小说会变成怎样?怎样才能给玩家个不确定自由空间同时又有足够控制力让他们始终沉浸在有趣故事中?如果计算机“知道”所有最有趣戏剧性原因(dramas in literature)那么有种策略能够连续、圆滑地修正场景后面虚拟世界——仅仅是张开尽可能多故事线 

  游戏可能以个在他住在公寓内人开始不错早晨他正在散步旦出了门他可能被邻居们看见从而发生富有戏剧性故事..不过没有种戏剧性需要预先演算而且基于玩家选择计算机会在现实性允许范围内持续生成新可能性如果玩家选择不跟上任何“线头”那么也不会有任何问题…总会有若干待探索选项在等待着玩家 

  就这样过去如同未来样不确定而且没有边界限制——只有玩家听过看过说过做过才是限制计算机在自动提供新可能性而且是最有趣可能——“交谈中真实”(confabulating reality)借用个精神病学上术语就这点而言互动小说式对话排列模型可能最接近我们大脑在梦中工作模式……
Tags: 

延伸阅读

最新评论

发表评论