论文部分内容阅读
想要一片森林?那就请认真想象一下吧
工作学习累了,来一局电脑游戏调节一下如何?这里有一款名字叫Adventure(冒险)的游戏,内容是在迷宫中寻找宝藏。小心,迷宫中还有不少危险的生物!听上去挺有意思。
运行游戏,屏幕上显示了一段文字:
YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND DOWN A GULLY.(你站在路的尽头,那里有一座小砖房。你周围是一片森林。一条小溪从建筑物中流出,涌入一条沟壑。)
不过你并不能在屏幕上看到任何图像,一段文字描述就是所能见到的一切,好在游戏提示你可以做某些动作,比如随便走走、捡捡东西什么的,于是你输入:go south。
然后屏幕显示出一段文字:
YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A ROCKY BED.(你进到覆盖森林的山谷里,身旁的溪水拍打着岩床。)
还是没有任何图像,实际上,因为游戏软件运行在一台古老的微机上,限于硬件配置,游戏设计者一开始就没有打算显示图像,玩家在游戏中遇到的所有一切,都只能用文字来描绘,无论寻宝打怪都全靠想象,尽管如此,在20世纪70年代游戏发布后,还是吸引了不少玩家。到20世纪80年代初,随着微型计算机配置的提高,Adventure游戏的后续版本终于有了少量的图画,比如色彩单一的树林(如图1),这些图片会配合文字在适当的时候出现。
可以看出,游戏设计者努力在计算机中的世界和现实世界两者间建立起一种对应,图画也好,满是字母符号的地图也好,这些都是设计者心中形象的显现,但玩家看到的仅仅是表面现象。观察游戏程序的代码(如图2),能够揭示何以玩家能从一个地方“去”到另一个地方:初始状态时,总共有五个可以前往的去处,每个去处都对应着某个动作,当玩家角色跳转到另一个场景后,又会有新的数据,规定着再下一步可以前往的去处。用这样的方法,许许多多的场景就连接成了一个网络状的迷宫。哪怕游戏确实有趣,那片森林也只不过是静态的图片,缺少生长的气息。
虚幻森林中的真实
人们在观看完某部电影后可能会发出这样的评价:“啊,这个情节实在是太假了。”仔细想想,评价本身有意思的地方是,其实电影剧情本身就是虚构的,换句话说,那本来就是假的,既然观众评价电影拍得假,那问题是:什么是真的?类似的,计算机游戏也是虚幻的创造物,但只要有乐此不彼的玩家沉溺其中,就必须承认,虚幻之中存在着某种真切的感觉,比如,获得游戏奖赏时头脑多巴胺的分泌是真实的。有意思的是,通常头脑不会很在意那些所谓的奖赏究竟是真实还是虚幻的。
想象一下,假设世界上从来没有诞生各种图形界面操作系统,微型计算机的主要功能就是用来玩游戏,随着游戏场景越来越精致,角色行为越来越复杂,人们早晚会意识到,还可以拿这个游戏当作辅助工作的工具,比如把喜爱的书(可能以竹简的形式呈现)存放进某个小木屋,将重要的计划写进备忘录(或许是刻写在潮湿的泥板上,然后让太阳晒干),在洞穴大厅里召开联网的会议等。当然,从工作效率的角度看,一片森林有些过于“真实”了,发送信息要先前往鸽棚?储存一篇文档前先要跨越溪流?想象一下如何在图3所示的场景中开辟一个工作环境。
绝大部分图形界面操作系统从一开始虚幻的就是某个工作台的场景,例如,早期的Mac系统里(如图4),可以找到纸笔、书籍、文件夹、垃圾桶等各种和日常工作相对应的元素。
实际工作中的物品被对应为简約的图标,但却给人一种真实感,从某种意义上说,这个图形界面操作系统是现代人类的虚幻森林。不过,假如某一天人们能复活某个封存在冰层中千年的原始人类,一开始,他大概更习惯使用虚幻森林来干活和生活。
值得一提的是,如图5所示,大部分操作系统的文件管理方式的确与“树”有关,无论是用命令行的“CD”进入目录,还是鼠标双击文件夹,都是从树状数据结构的某一结点,跳转到另一个结点。
这个小小工作台里有很多帮助人们进行计算的工具——计算器、电子表格、数据库,本质上说,包括文本编辑器、游戏等每一个软件都是一种计算装置。某个能熟练使用计算机的人大概会由衷赞叹当代科技的强大,然而他大概很少会想到,自己每天打交道的计算机操作系统和软件,只不过是功能受到限制的一个虚幻工作台,这个虚幻工作台可能是一个虚幻小木屋的一部分,而这个虚幻小木屋则是一片巨大虚幻森林的一部分。不少人以为这个小书桌或者小木屋是整个世界,却忘记了小木屋外还有整片森林。就像孩童拿到一个指南针,却只是反复晃动指南针表盘,愉快地看着指针一次又一次回到固定的方向。
“虚幻森林”里的“虚幻森林”
即便是一个小小的工作台,也能为使用者提供强大的助力,帮助其对庞大真实世界进行合理的想象和推断。接下来的例子并不会用到多么高端的工具,只用记事本或电子表格,就能体验到计算的奇妙。
生物学家Aristid Lindermayer注意到,树木的生长其实是一种迭代过程,这种迭代可以抽象成一种符号重写过程,比如,同时把符号中的A变成AB,把B变成BA,只要制定不同的替换规则,便能得到不同形状的“树”,这就是L-System。
随着变化不停重复下去,字符串会越来越复杂,“ABBABAAB”之后是“ABBABAABBAABABBA”,然后越来越长。
如果规则本身稍微复杂一些,用纸笔实施演算就极其烦琐,比如以下规则,注意,对于某个符号串,两个规则要同时起作用,这就是所谓的并行重写: 替换规则一:B-->BB
替换规则二:A->B[A]A
假设初始时仅有一个A,则前几步符号替换情况如下:
第四步:BBBBBBBB[BBBB
[BB[B[A]A]B[A]A]BB[B[A]A]B[A]A]BBBB[BB[B[A]A]B[A]A]BB[B[A]A]B[A]A
第三步:BBBB[BB[B[A]A]B[A]A]BB[B[A]A]B[A]A
第二步:BB[B[A]A]B[A]A
第一步:B[A]A
初始时:A
这个替换过程甚至都不需要用到专门的程序,用记事本就能实现。要想用记事本的查找替换功能实现符号串的演化,关键是怎么实现不同替换规则同时生效。
如果感觉记事本的查找替换不怎么自动化,那么也可以利用电子表格,实现方法有很多,比如,在第一列单元格中填入“@A”,在第二列中填入下面这个公式:
“=MID(E1,2,LEN(E1))
工作学习累了,来一局电脑游戏调节一下如何?这里有一款名字叫Adventure(冒险)的游戏,内容是在迷宫中寻找宝藏。小心,迷宫中还有不少危险的生物!听上去挺有意思。
运行游戏,屏幕上显示了一段文字:
YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND DOWN A GULLY.(你站在路的尽头,那里有一座小砖房。你周围是一片森林。一条小溪从建筑物中流出,涌入一条沟壑。)
不过你并不能在屏幕上看到任何图像,一段文字描述就是所能见到的一切,好在游戏提示你可以做某些动作,比如随便走走、捡捡东西什么的,于是你输入:go south。
然后屏幕显示出一段文字:
YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A ROCKY BED.(你进到覆盖森林的山谷里,身旁的溪水拍打着岩床。)
还是没有任何图像,实际上,因为游戏软件运行在一台古老的微机上,限于硬件配置,游戏设计者一开始就没有打算显示图像,玩家在游戏中遇到的所有一切,都只能用文字来描绘,无论寻宝打怪都全靠想象,尽管如此,在20世纪70年代游戏发布后,还是吸引了不少玩家。到20世纪80年代初,随着微型计算机配置的提高,Adventure游戏的后续版本终于有了少量的图画,比如色彩单一的树林(如图1),这些图片会配合文字在适当的时候出现。
可以看出,游戏设计者努力在计算机中的世界和现实世界两者间建立起一种对应,图画也好,满是字母符号的地图也好,这些都是设计者心中形象的显现,但玩家看到的仅仅是表面现象。观察游戏程序的代码(如图2),能够揭示何以玩家能从一个地方“去”到另一个地方:初始状态时,总共有五个可以前往的去处,每个去处都对应着某个动作,当玩家角色跳转到另一个场景后,又会有新的数据,规定着再下一步可以前往的去处。用这样的方法,许许多多的场景就连接成了一个网络状的迷宫。哪怕游戏确实有趣,那片森林也只不过是静态的图片,缺少生长的气息。
虚幻森林中的真实
人们在观看完某部电影后可能会发出这样的评价:“啊,这个情节实在是太假了。”仔细想想,评价本身有意思的地方是,其实电影剧情本身就是虚构的,换句话说,那本来就是假的,既然观众评价电影拍得假,那问题是:什么是真的?类似的,计算机游戏也是虚幻的创造物,但只要有乐此不彼的玩家沉溺其中,就必须承认,虚幻之中存在着某种真切的感觉,比如,获得游戏奖赏时头脑多巴胺的分泌是真实的。有意思的是,通常头脑不会很在意那些所谓的奖赏究竟是真实还是虚幻的。
想象一下,假设世界上从来没有诞生各种图形界面操作系统,微型计算机的主要功能就是用来玩游戏,随着游戏场景越来越精致,角色行为越来越复杂,人们早晚会意识到,还可以拿这个游戏当作辅助工作的工具,比如把喜爱的书(可能以竹简的形式呈现)存放进某个小木屋,将重要的计划写进备忘录(或许是刻写在潮湿的泥板上,然后让太阳晒干),在洞穴大厅里召开联网的会议等。当然,从工作效率的角度看,一片森林有些过于“真实”了,发送信息要先前往鸽棚?储存一篇文档前先要跨越溪流?想象一下如何在图3所示的场景中开辟一个工作环境。
绝大部分图形界面操作系统从一开始虚幻的就是某个工作台的场景,例如,早期的Mac系统里(如图4),可以找到纸笔、书籍、文件夹、垃圾桶等各种和日常工作相对应的元素。
实际工作中的物品被对应为简約的图标,但却给人一种真实感,从某种意义上说,这个图形界面操作系统是现代人类的虚幻森林。不过,假如某一天人们能复活某个封存在冰层中千年的原始人类,一开始,他大概更习惯使用虚幻森林来干活和生活。
值得一提的是,如图5所示,大部分操作系统的文件管理方式的确与“树”有关,无论是用命令行的“CD”进入目录,还是鼠标双击文件夹,都是从树状数据结构的某一结点,跳转到另一个结点。
这个小小工作台里有很多帮助人们进行计算的工具——计算器、电子表格、数据库,本质上说,包括文本编辑器、游戏等每一个软件都是一种计算装置。某个能熟练使用计算机的人大概会由衷赞叹当代科技的强大,然而他大概很少会想到,自己每天打交道的计算机操作系统和软件,只不过是功能受到限制的一个虚幻工作台,这个虚幻工作台可能是一个虚幻小木屋的一部分,而这个虚幻小木屋则是一片巨大虚幻森林的一部分。不少人以为这个小书桌或者小木屋是整个世界,却忘记了小木屋外还有整片森林。就像孩童拿到一个指南针,却只是反复晃动指南针表盘,愉快地看着指针一次又一次回到固定的方向。
“虚幻森林”里的“虚幻森林”
即便是一个小小的工作台,也能为使用者提供强大的助力,帮助其对庞大真实世界进行合理的想象和推断。接下来的例子并不会用到多么高端的工具,只用记事本或电子表格,就能体验到计算的奇妙。
生物学家Aristid Lindermayer注意到,树木的生长其实是一种迭代过程,这种迭代可以抽象成一种符号重写过程,比如,同时把符号中的A变成AB,把B变成BA,只要制定不同的替换规则,便能得到不同形状的“树”,这就是L-System。
随着变化不停重复下去,字符串会越来越复杂,“ABBABAAB”之后是“ABBABAABBAABABBA”,然后越来越长。
如果规则本身稍微复杂一些,用纸笔实施演算就极其烦琐,比如以下规则,注意,对于某个符号串,两个规则要同时起作用,这就是所谓的并行重写: 替换规则一:B-->BB
替换规则二:A->B[A]A
假设初始时仅有一个A,则前几步符号替换情况如下:
第四步:BBBBBBBB[BBBB
[BB[B[A]A]B[A]A]BB[B[A]A]B[A]A]BBBB[BB[B[A]A]B[A]A]BB[B[A]A]B[A]A
第三步:BBBB[BB[B[A]A]B[A]A]BB[B[A]A]B[A]A
第二步:BB[B[A]A]B[A]A
第一步:B[A]A
初始时:A
这个替换过程甚至都不需要用到专门的程序,用记事本就能实现。要想用记事本的查找替换功能实现符号串的演化,关键是怎么实现不同替换规则同时生效。
如果感觉记事本的查找替换不怎么自动化,那么也可以利用电子表格,实现方法有很多,比如,在第一列单元格中填入“@A”,在第二列中填入下面这个公式:
“=MID(E1,2,LEN(E1))