据美媒3月27日报道,尽管印加人从未打造出由硅芯片或铜线电路构成的世界,也未曾拥有现代高速硬件,这个从秘鲁高原崛起、实力强大的文明,未曾想象过智能手机、笔记本电脑等设备,甚至没有发展出书写系统。但他们拥有奇普——一种由绳索和绳结构成的、极为精巧的系统,用于记录数字信息,甚至可能远不止于此。几十年来,学者们一直在争论奇普究竟编码了什么。一种由数学家玛西娅·阿舍和罗伯特·阿舍提出的主流理论认为,绳结代表十进制数字系统,每个绳结对应一个数字。但这只是开始。
其他研究人员提出,奇普用于追踪人口普查数据、税收和库存。有人认为它们还兼作日历,记录天文周期。2017年,萨宾·海兰德的一项引人入胜的研究发现,奇普可能包含一种完整的音节文字——大约95个符号,其功能类似于古代玛雅或埃及文字,符号既表意又表音。每根绳索的颜色、每个绳结的方向,甚至绳索的捆绑方式,都可能蕴含着我们尚未破解的意义。
如今,一个研究团队认为,奇普的秘密可以为现代计算机提供借鉴。加拿大原住民大学的计算机科学家理查德·多塞尔曼在研究奇普时,发现了一个此前无人明确阐述的点:它是一种复杂的数据结构。这种结构是每台笔记本电脑上的电子表格、数据库和文件系统的基础框架。多塞尔曼及其合著者爱德华·杜利特尔和瓦蒂卡·塔亚尔并未试图破译历史奇普的含义,而是提出了一个不同的问题:奇普组织信息的方式能否作为现代软件运行?
答案最近发表在《计算机与信息科学》上,是肯定的。原因如下:奇普天然具有层次结构。垂饰绳从主绳分支出来,子绳又从垂饰绳分支,形成树状结构。可以将其视为台式电脑上嵌套文件夹的模拟版本。绳索还按组排列,将相关项目捆绑在一起,就像人口普查将家庭、社区和地区聚集在一起。每个组可以包含一根“顶绳”,自动计算下方绳结的总和,这种内置的累计功能会让任何会计都羡慕不已。最重要的是,这种排列部分无序:一根绳上的绳结遵循位值,但绳索本身可以以任何顺序出现,这使得插入新数据极为迅速。
多塞尔曼的团队将这些特性——层次结构、分组、求和、颜色(存储为RGBA值)和绳结方向(简单的真/假)——全部转化为用C++和Python编写的代码。他们甚至创建了一种全新的文件格式.qpu,与传统的.csv或文本文件截然不同。每个奇普文件都使用这个单一扩展名,无论它包含什么内容。内部,每行用竖线分隔(选择竖线是因为它看起来像一根绳索),包含四个部分:条目是绳索还是组、颜色、方向和绳结。缩进表示层次结构中的深度——这是平面文件根本无法做到的。
为了证明这一概念并非只是理论上的,该团队构建了三个可运行的应用程序:一个电子表格、一个文件系统和一个图像表示工具,全部由奇普数据驱动。性能实验表明,这种结构的无序特性使插入速度可与数组和链表媲美,当数据按层次结构排列时,其速度接近平衡树和哈希表。它还能线性扩展。
多塞尔曼写道:“奇普能够模拟许多现有的数据结构。它还具有其他地方通常没有的特性。内部求和的概念,以及绳索颜色和绳结方向,或许是奇普独有的。”甚至加密也自然地融入了这种设计。由于绳索和绳结可以在层次结构的每一级重新排列(置换),为安全而打乱数据就内置在结构中。“这项研究独特地提出通过重新排列元素来加密奇普数据,”多塞尔曼指出,“加密在数据结构的所有层级都得到考虑。”
当然,也存在权衡。在某些情况下,运行时间增加,存储需求增长。但存储成本低廉,硬件优化可以缩小差距。实验证实,奇普最适合处理层次数据,而非线性数据——仔细想想,这正是印加人管理有关人员、地点、物品和时间等分层信息时所需要的。
这或许是最深刻的启示。如果一种已有600年历史的绳结系统可以映射到一种多功能的现代数据结构上,能够处理电子表格、文件系统、加密和图像,那么印加人不仅仅是在记账。他们在运行一种信息技术,比第一个晶体管焊接出来早了几个世纪。对于一个没有Wi-Fi的文明来说,这已经相当了不起了。
(原文标题:The Inca May Have Invented the World’s First Computer System—600 Years Ago)