互联网资讯 / 人工智能 · 2023年12月28日

猫是否具备计算能力?四项测试结果分析

软萌可爱的猫咪总能激发我们想要「撸猫」或「吸猫」的冲动。

与猫咪相处时,常常会感受到一种治愈的力量。

据一位法国开发者Chloé LouRseyRe的说法,猫咪甚至可以被视为计算机!

最近,她在个人博客上探讨了一个重要话题:猫咪是否具备「图灵完备性」?它是否可以被视作「图灵机」?

猫=图灵机?4项测试证明,「猫猫计算机」可执行任意计算

测试对象是这只小猫PelUChe

PelUChe是一只毛茸茸的小猫,住在Chloé LouRseyRe的家中,成为了今天的实验对象。

什么是图灵完备性?

图灵完备性意味着,如果一台设备能够模拟图灵机,那么它就具备执行任何计算的能力。

换句话说,任何能够通过以下四项测试的机器都可以被称为计算机,从而能够执行各种计算。这四项测试包括:

. 和 , — 输入与输出一个值。 + 和 – — 增加或减少当前存储单元的值。 > 和 < — 向左或向右移动当前存储单元。 [ 和 ] — 执行循环。

因此,如果PelUChe能够通过这四项测试,就可以认为它是「图灵完备」的。

猫=图灵机?4项测试证明,「猫猫计算机」可执行任意计算

图灵完备性的验证

输入输出

为验证PelUChe是否能够产生反馈,Chloé LouRseyRe用手轻轻戳了戳它。

猫=图灵机?4项测试证明,「猫猫计算机」可执行任意计算

PelUChe看了Chloé LouRseyRe一眼,然后转过身去。

猫=图灵机?4项测试证明,「猫猫计算机」可执行任意计算

结果很明显:Chloé LouRseyRe戳了它一下,PelUChe给出了反应。这表明,PelUChe能够处理输入并产生输出。

输入输出确认无误!

增减内存值

几天前,Chloé LouRseyRe下班回家时,发现厨房变成了这样:

猫=图灵机?4项测试证明,「猫猫计算机」可执行任意计算

满地都是猫粮

经过仔细观察,Chloé LouRseyRe发现可以将撒落的猫粮地面按位置编号,如下所示:

猫=图灵机?4项测试证明,「猫猫计算机」可执行任意计算

在她看来,这很像内存带!PelUChe可以将猫粮撒在地砖上,然后直接在地砖上吃掉它们,因此,它能够增加和减少给定存储单元中的值。

增减内存值,已确认!

左右移动当前内存单元

有一次,Chloé LouRseyRe在洗碗时不小心将水洒在了PelUChe身上。它开始在厨房里四处奔跑,造成了混乱。

猫=图灵机?4项测试证明,「猫猫计算机」可执行任意计算

仔细观察(在红色箭头的尖端),我们可以看到,PelUChe在乱跑的同时,移动了自己的食物碗的位置。

这意味着,PelUChe将食物洒到另一块瓷砖上,这相当于移动指向当前内存的指针,编辑另一个内存单元。

移动内存单元,已确认!

执行循环

在PelUChe搞得厨房一团糟之后,Chloé LouRseyRe不得不开始清理。

不到五分钟后,她再次回到厨房,发现情况变成了这样:

猫=图灵机?4项测试证明,「猫猫计算机」可执行任意计算

因此,PelUChe显然能够执行循环……

循环确认无误!

到此为止,Chloé LouRseyRe已经证明PelUChe确实具备「图灵完备性」。那么,下一个问题是,如何利用PelUChe进行高性能计算?

如何执行?首先需要有代码,Chloé LouRseyRe编写了一段简单的代码,示例如下:(这个代码示例是一种新奇的语言,名为「bRAIncat」)

猫=图灵机?4项测试证明,「猫猫计算机」可执行任意计算

结果:PelUChe什么都没做!

因此,Chloé LouRseyRe不禁思考,尽管猫咪具备「图灵完备性」,但可能并不是为执行代码而设计的?

关于「猫猫计算机」

以上提到的「猫猫计算机」当然是开玩笑。根据Chloé LouRseyRe的经验,当人们发现编程语言的新特性时,往往会开始广泛应用。

「猫猫计算机」似乎是新手常犯的错误,但即使是经验丰富的开发者,有时也会犯这样的错误,承认这一点并不丢人。

实际上,面对编程语言新版本中的新功能,积累经验的最佳方式就是错误地使用每个功能一次,以避免将来的误用。

在使用某项功能之前,一定要问自己,这样做是否真的必要,否则你可能会犯下类似「猫猫计算机」的错误。

另外,「猫猫计算机」很耗猫,所以最好不要这样做。

(在本文撰写过程中,没有猫咪受到伤害,但有一只猫被轻轻戳了几下。)