|
译林版迈克尔·克赖顿名作Prey(猎物)评析
——与Prey译者商榷
(本文系根据自己2006年在译林论坛的发贴整理而成。谨向提供《Prey》原著电子本的vera_cs网友致以衷心的谢意!此外,承蒙网友elingual对第9例分析中的错误予以指正,在此一并致谢!)
一、原文:
At MediaTronics I had run a program division, riding herd over a group of talented young computer programmers. At forty, I was too old to work as a programmer myself anymore; writing code is a young person’s job. So I managed the team, and it was a full-time job; like most Silicon Valley programmers, my team seemed to live in a perpetual crisis of crashed Porsches, infidelities, bad love affairs, parental hassles, and drug reactions, all superimposed on a forced-march work schedule with all-night marathons fueled by cases of Diet Coke and Sun chips.
《猎物》原译文(以下简称“原译”):
我在电子媒体公司担任程序设计部门的主管,手下是一帮才华横溢的年轻程序编制员。我在40岁就太老了,自己已经不能担任编写程序的工作了——那是年轻人干的事情。所以,我管理那个团队,那是一份全职工作。与硅谷的大多数程序编制员类似,我的团队似乎处于没完没了的危机当中;。。。。。。(P4页)
分析:
1。此译本中一律把计算机程序设计人员称为“程序编制员”,这种说法是不确切的。因为在计算机行业里,程序设计人员的通常称呼都是“程序员”、“程序设计员”或“程序师”,却从来没有什么“程序编制员”的说法。程序设计就是设计或者编写程序(而非“编制”程序),通俗地说就是写代码,它与把一堆现有材料做成产品(成品)的工作方式是不同的,它是一种纯粹的创造性的工作,是在系统需求任务书(计划或方案)的基础上,在计算机上用代码把这个系统的所有功能用程序实现出来的一种创造性的活动。显然,这种方式与“编制”的一般概念是不同的,而“程序编制员”的叫法只会让人想起那些编制报表的人员;
2。“it was a full-time job”被译成“那是一份全职工作”似乎有误,在这里似应改为“那是一个全天候的工作”。
二、原文:
But the work was exciting, in a cutting-edge field. We wrote what are called distributed parallel processing or agent-based programs. (P4页)
分析:
Agent-Based是个新词,在计算机业界尚无最终的确定译名,它属于人工智能的范畴,在大陆学院派中通常都是直呼其名,称其为“基于Agent的”(系统或程序),以此规避不确切的译文;在台湾地区则有把它译成“代理人基”(即“基于代理人的”)。相应地,把multi-agent称为“多Agent的”。不过在国内的人工智能科技竞赛项目中,已经有了把“agent-based” 称为“基于智能体的”译法,相应的把Multi-agent System称为“多智能体系统”。在这一点上《猎食》的译者译得很到位。
三、原文:
These programs model biological processes by creating virtual agents inside the computer and then letting the agents interact to solve real-world problems.
原译:
“···那种程序在计算机里面创造出虚拟的智能体,然后让它们产生互动,以便解决现实世界的问题,从而模拟了生物学过程。”(P4页)
分析:
原文中的“model sb. to do sth.”结构的含义是:模拟是手段,解决现实问题才是目的。
改译:
“···这类程序在计算机中生成虚拟的智能体,然后让它们相互作用,以此模拟生物的行为,来解决现实世界中的问题。”
四、原文:
Actually, it was my division’s source code—software for distributed processing. That was the code that had been stolen. We knew it was the same code, because the Easter eggs hadn’t been touched.
原译:
“实际上,那是我分管部门的源码——用于分布式并行处理程序的软件。那就是被盗的源码。我们知道它是同样的源码,因为没有谁动过那个叫复活节彩蛋的程序。”(P5页)
分析:
这里的译文可能因为限于译者的计算机水平,只好照字面直译,结果弄得含义有些模糊不清。原文中的破折号“——”并不表示其前后的东西是同一个,而仅表示破折号后面的内容是对其前面内容的说明,毕竟源码并不等于软件,软件是体,源码只是构成软件的元素(正如人由骨和肉组成,但我们却不能说骨和肉就是人)。
试更正为:
“实际上,那是我分管部门写的源码——用于分布式并行处理程序中的源码。就是这个源码被盗了。我们知道那就是我们的源码,因为其中的复活节彩蛋代码原封未动。”
五、原文:
“Yes. Xymos licensed some agent-based algorithms that your team wrote.”
“No, I didn’t know. Which algorithms?”
“To control a particle network.”
原译:
“是的。艾克西莫斯技术公司得到授权,使用了你领导的团队编写的一些基于智能体的演算法。”
“不,我不知道。哪一种演算法?”
“用于控制粒子网络的。” (P21页)
分析:
algorithm(s)在计算机术语中的正确译名是“算法”而非“演算法”。也许有人会说这有多大区别?当然有区别!这就好比你不能把经济师叫成算帐师一样,是同样的道理。此外,从字面意义上看,“演算法”给人的感觉是某种演算方法或者算式之类的东西,而在软件设计中,算法的含义却要广得多,它不仅包含了普通意义上的运算,更包括了逻辑推理、事物模拟与仿真、概念抽象、博弈运筹等等一切计算机能够处理的事务中待解决问题的方法。一句话,算法是程序设计的灵魂。显然,把算法译成“演算法”是错误的。
六、原文:
Certainly my team had written a number of programs to control swarms of agents. Those programs were modeled on behavior of bees. The programs had many useful characteristics. Because swarms were composed of many agents, the swarm could respond to the environment in a robust way. Faced with new and unexpected conditions, the swarm programs didn’t crash; they just sort of flowed around the obstacles, and kept going.
原译:
我可以确定,我的团队曾经编写了若干用于控制智能体集群的程序。那些程序是根据蜜蜂的行为来建立模式的。那些程序拥有许多有用的特征。因为集群是由许多智能体构成的,集群能够对环境作出有力反应。在面对新的、没有预计到的状态时,那些集群程序不会崩溃,它们只是绕过障碍,然后继续运行。(P21页倒数第4段)
分析:
此处的译文晦涩费解,很难让人明白就里。实际上,原文在这里主要是想强调:尽管单个个体适应环境的能力几乎为零,但一旦组成为一个群体,其适应能力就会大大增强,蜜蜂、蚂蚁就是这样的典范。可惜《猎物》的译者没有把这个道理向读者阐述清楚。
订正:
我的团队确实写过不少用于控制智能体集群的程序。那是一些用于模仿蜜蜂行为的程序,具有许多有用的特征。因为集群是由众多智能体组成的,所以它对环境的适应能力非常强。在新的、预想不到的情况发生时,集群程序并不会崩溃,它们在障碍面前只是略显迟钝,但却依然能够继续运行下去。
七、原文:
“We use them for structure,” she said. “The program makes the swarm structure.”
Of course. It was obvious that a single molecular camera was inadequate to register any sort of image. Therefore, the image must be a composite of millions of cameras, operating simultaneously. But the cameras would also have to be arranged in space in some orderly structure, probably a sphere. That was where the programming came in. But that in turn meant that Xymos must be generating the equivalent of—
原译:
“我们利用它们作为结构,”她说,“该程序形成了集群结构。”
当然。显而易见,单个的分子摄像头是不能形成任何图象的。因此,图象必须由数百万个同时工作的摄像头组成。但是,那些摄像头也可以在空间中按照某种有序的结构——可能是球形——进行排列。我们的编程就是在这一点上发挥作用的。但是,那反过来又意味着,艾克西莫斯技术公司一定在生成相当于——(P21页倒数第2、1段)
分析:
这里的译文同样让人摸不着头脑。我想原因在于译者并未完全明白原文的含义,于是只好逐字死译,使译文偏离了本意。这里的原文有二层意思:一是朱丽亚及其公司是根据智能体程序的设计原理制造出了真实世界中的智能体;二是摄像头集群是在程序控制下进行工作的。注意“in space”在这里的意思不是“在空间中”,而是“片刻间”。
更正:
“我们借用了程序的构架,”她说,“集群是按照程序的设计思想制造出来的。”
当然,很明显单个的分子摄像头并不适合记录任何图象,必须有数以百万计的摄像头同时工作才能把(那样一幅完整的)图象合成出来。但是,那些摄像头还必须能够在片刻间被排列组合成某种有序的结构,或许是球形的结构。这是通过程序控制来实现的。不过,那反过来又意味着,艾克西莫斯技术公司谅必是正在制造与此类似的——
八、原文:
“She’s taken a real interest in the technology, I can tell you. Also, they’re doing a lot of programming up there, too,” he said. “You know. Iterative cycles as they refine the manufacturing.”
原译:
“她对这项技术真的感兴趣,我可以告诉你。而且,他们还在那里搞了大量的程序设计工作,”他说,“你知道。他们在改进制造工艺过程中出现了迭代循环。”(P28页第4行)
更正:
“她对这项技术真的感兴趣,我可以告诉你。而且,他们还在那上面做了大量的编程工作,”他说,“你知道。他们利用迭代循环的方法来提纯制造工艺。”
九、原文:
In fact, assembling atoms to make a new molecule was closely analogous to compiling a computer program from individual lines of code. And computer code never compiled, the first time out. The programmers always had to go back and fix the lines. And even after it was compiled, a computer program never ever worked right the first time. Or the second time. Or the hundredth time. It had to be debugged, and debugged again, and again. And again.
原译:
实际上,装配原子来构成新分子与用单行代码编制计算机程序非常类似。计算机代码初次根本不能正常工作。程序编制员总是得回过头去整理那些单行代码。而且,即使在程序编好之后,一种计算机程序在第一次运行时都不可能正常工作,第二次运行、甚至第100次运行都有问题。必须反复排除程序中的错误,一次又一次地进行修改。(P29页倒数4行始)
分析:
首先,“用单行代码编制计算机程序”这种说法可以说闻所未闻,“整理那些单行代码”的说法既不符合实际情况,也与原文意义不符。
其次,编译与编程(programming,也就是程序设计)在概念上是有区别的。在程序设计过程中,编译是一道必不可少的工序。一个程序的设计过程大致是这样的:程序员首先进行代码设计(写代码),得到源代码文件(俗称源程序,因为它不能运行,所以它并不是真正意义上的程序),然后用编译器把源文件编译成目标文件,再通过一个链接程序把目标文件与它需要调用的各种功能的函数库链接起来,得到可执行的EXE文件,这才得到了我们通常意义上所说的程序。基于编译在程序设计中的重要地位,计算机专业中专门辟有一门《编译原理》的课程。
更正:
实际上,装配原子来构成新分子与把一行行的代码编译成一个计算机程序非常类似。对计算机代码的初次编译从来都是不会成功的。程序员总是得回过头去修改那些代码。而且,即使在编译通过之后,计算机程序在第一次运行时也不可能工作得很好,第二次运行、乃至第100次运行都有可能存在问题。需要对程序反复进行调试和排错,不断地修改和完善。
十、原文:
I always believed it would be the same with these manufactured molecules—they’d have to be debugged again and again before they worked right. And if Xymos wanted “flocks” of molecules working together, they’d also have to debug the way the molecules communicated with each other, however limited that communication was. Because once the molecules communicated, you had a primitive network. To organize it, you’d probably program a distributed net. Of the kind I had been developing at MediaTronics.
原译:
我一直认为,这种制造出来的分子也会出现类似的问题——必须反复排除错误之后,它们才能正常工作。因此,假如艾克西莫斯技术公司希望“成群结队的”分子一起产生作用,他们就得反复排除那些分子之间信息传输方式中的错误——无论那种传输是多么的有限。因为一旦分子开始互相传输信息,实际上就形成了一种原始网络。为了对它加以组合,可能就必须编制出一种分布式网络。那样的网络程序与我在电子媒体公司开发的类似。(P30页第2段)
更正:
我坚信这样的问题在那些人造分子中也会出现——在能够正常工作之前必须反复查找并剔除其中的缺陷。而且,假如艾克西莫斯技术公司希望“分子集群”能够一起协同工作,他们还必须改进分子之间的信息交换方式——无论那样的交换是多么地有限。因为一旦分子之间开始互相通信,你就有了一个原始的网络。至于其结构,你也许应把它设计成一个分布式的网络,也就是我在电子媒体公司开发的那种类型的网络。
十一、原文:
Eventually, programmers say the agents have beliefs about their environment, and that they are acting on those beliefs. That’s not literally true, of course, but it might as well be true. It looks that way.
原译:
···最后,程序编制员说,那些智能体对它们所在的环境产生信念,会按照那些信念去产生作用。当然,严格说来并不是这样的,但是,这种情景完全有可能是真的。它看起来是那样的。(P52页4段3行)
订正:
···最后,程序员们会说,那些智能体已经对它们所在的环境建立起了概念,并且会依照这些概念来行事。当然,严格说来并不是这样的,但是,这种情形有可能真的存在,因为它看上去就是那么回事。
十二、原文:
In evolutionary programs, those agents get killed off. They have no children. In other multi-agent programs, they just get bypassed, pushed to the periphery while the main thrust of agents moves on. Some programs have a “grim reaper” module that sifts them out from time to time, and pulls them off the board.
But the point is, they’re stuck in their own past. Sometimes they pull themselves together, and get back on track. Sometimes they don’t.
Thoughts like these made me very uneasy. I shifted in my chair, glanced at the clock. With a sense of relief, I saw it was time to go pick up the kids.
原译:
在逐步发展的程序中,那些智能体被消灭了。它们没有后代。在其它许多智能体程序中,智能体的主要倾向产生了作用,那些过时的东西只是被绕过,被推向边缘。有的程序拥有一种“严厉的收割者”模块,那样的模块定期将它们剔除出去,使它们脱离系统。
但是,现在的问题是,它们被困在它们自己的历史之中。有时候,它们集结起来,回到系统之中。有时候,它们不那样做。(P52页倒数第3、2段)
更正:
在改进的程序中,这一类智能体将被清除掉,不会有后代留下来。在其它一些多智能体程序中,这类智能体的存在将被忽视,只有那些起主导作用的智能体能发挥作用。有些程序带有一种称为“恐怖割刀”(grim reaper)的模块,它能够定期把那些(变异的)智能体从棋盘上剔除出去。
但是问题在于,它们被卡在自己过去的经历当中进退维谷。有时,它们能够恢复正常,迷途知返;有时它们又做不到。
注:grim reaper:这是一个生物学意义上的名词,指那些能够根据生物机体的需要、杀死某些机体细胞的基因,意即“细胞死神”。
十三、原文:
“Head of a team to design multi-agent systems for an insurance company that’s doing data mining. It’s an excellent opportunity, and—”
原译:
“一个研发多智能体系统的课题组主任职位,为开发数据的保险公司工作。这是一个非常好的机遇,而且——”(P65页倒数4、5行)
更正:
“担任一个多智能体系统研发小组的负责人,为一家保险公司从事数据挖掘工作。这是一个非常好的机遇,而且——”
注:数据挖掘(data mining):从海量数据中发掘和搜集潜在的有用信息,为用户提供决策依据的技术。
十四、原文:
“I don’t get it,” I said. “I’m perfectly positioned in a hot field, multi-agent distributed processing, and—”
“Hot?” she said, squinting at me. “Distributed processing’s not hot, Jack. It’s fucking radioactive. Everybody in the Valley figures that the breakthroughs in artificial life are going to come from distributed processing.”
“They are,” I said, nodding.
原译:
“我不明白”我说,“我在一个热门领域中拥有优势地位,多智能体分布式并行处理,而且——”
“热门?”她问,半眯着眼睛看着我,“分布式并行处理并不热,杰克。它具有令人讨厌的放射性。硅谷里的每个人认为,人工生命领域的突破性发展将来自分布式并行处理。”
“它们会出现的,”我点头赞同。 (P67页3—8行)
分析:
上面这段译文充满了矛盾,一会说分布式处理是热门(原文没有“并行”二字),一会又说不是,然后又说人工生命领域的突破性发展将来自分布式处理。此外,“令人讨厌的放射性”这种说法也让人摸不着头脑。其实,原文的意思是说:这个热门不仅仅是火热,而且是热得来成了个向其它领域到处辐射的放射源了。
更正:
“我不明白”我说,“我在一个热门领域中拥有优势地位,多智能体分布式处理,而且——”
“热门?”她斜着眼睛看着我说。“分布式处理不是热,杰克。该死的它是个辐射源。硅谷里的每个人都认为,人工生命领域内的重大突破将因分布式处理技术而促成。”
“的确如此,”我点头赞同。
十五、原文:
In the last few years, artificial life had replaced artificial intelligence as a long-term computing goal. The idea was to write programs that had the attributes of living creatures—the ability to adapt, cooperate, learn, adjust to change. Many of those qualities were especially important in robotics, and they were starting to be realized with distributed processing.
原译:
在过去几年中,人工生命已经取代了人工智能,一跃变为计算机业的长期奋斗目标。奋斗的理想是编写出具有生命特征的程序——那些程序能够改写,协作工作,学习新知识,适应出现的变化。许多这样的性质在机器人技术中尤其重要,它们已经借助分布式并行处理开始变为现实。(P67页第5段)
分析:
《猎物》的译者在这里错把idea(想法)看成了ideal(理想);adapt在这的意思是“自适应”而非“改写”。
订正:
在过去几年中,人工生命已经取代人工智能成了计算机领域里的一个长远研究课题。其设想是设计出具有生物属性的程序——这种程序能够自我调节,相互协作,学习新知识,适应出现的变化。这些特征在机器人技术中大多数都非常有用,而且已开始应用分布式处理技术来实现。
(待续)
|
|