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

猫能像图灵机一样进行计算?4个测试显示「猫猫计算机」具备计算能力

软萌可爱的猫咪,总会唤起我们想要「撸猫」或者「吸猫」的冲动。

和猫咪待在一块,还真有种治愈的感觉。

而且,按照一位法国开发者Chloé LouRseyRe的说法,猫咪甚至可以当计算机用!

近日,在她的个人博客上讨论了一个很重要的话题:猫是不是「图灵完备」的?它是「图灵机」吗?

猫能像图灵机一样进行计算?4个测试显示「猫猫计算机」具备计算能力

测试对象就是这只小猫PelUChe

PelUChe是一只毛茸茸的小猫,就住在Chloé LouRseyRe家里。它就是今天的测试对象。

什么是图灵完备?

图灵完备性的概念是,如果某台设备可以模拟图灵机,那么它就可以执行任何类型的计算。

也就是说,任何能够通过以下4项测试的机器都是一台计算机(因此可以执行任何类型的计算)。这4项测试是:

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

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

猫能像图灵机一样进行计算?4个测试显示「猫猫计算机」具备计算能力

图灵完备性的证明

输入输出

首先,为了验证能不能得到反馈,Chloé LouRseyRe用手戳了戳 PelUChe。

猫能像图灵机一样进行计算?4个测试显示「猫猫计算机」具备计算能力

它看了Chloé LouRseyRe一眼,然后才转过身。

猫能像图灵机一样进行计算?4个测试显示「猫猫计算机」具备计算能力

所以是这样的:Chloé LouRseyRe戳了它一下,然后得到了一个反应。结论很明确,PelUChe可以处理输入,并给出输出。

输入、输出已确认!

增减内存值

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

猫能像图灵机一样进行计算?4个测试显示「猫猫计算机」具备计算能力

到处都是猫粮

但后来Chloé LouRseyRe仔细观察了一下,发现可以把撒上猫粮的地板按位置进行编号,就像下面这样:

猫能像图灵机一样进行计算?4个测试显示「猫猫计算机」具备计算能力

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

增减内存值,已确认!

左右移动当前内存单元

还有一次,Chloé LouRseyRe在洗碗时不小心把一些水洒在了 PelUChe 身上。它开始在厨房里到处乱跑,弄得一团糟。

猫能像图灵机一样进行计算?4个测试显示「猫猫计算机」具备计算能力

但是如果仔细观察(在红色箭头的尖端),不难注意到,PelUChe一边乱跑,一边把自己装食物的碗移动了位置。

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

移动内存单元,已确认!

执行循环

在厨房被PelUChe搞的一团乱之后,很明显,Chloé LouRseyRe不得不清理打扫。

然后不到五分钟后,Chloé LouRseyRe回到厨房,又变成这样了:

猫能像图灵机一样进行计算?4个测试显示「猫猫计算机」具备计算能力

所以,PelUChe绝对可以执行循环……

循环已确认!

到这里为止,Chloé LouRseyRe已经证明了PelUChe确实是「图灵完备」的。那么下一个问题是,如何使用PelUChe来执行高性能计算任务?

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

猫能像图灵机一样进行计算?4个测试显示「猫猫计算机」具备计算能力

结果:PelUChe什么都不做!

所以最后,Chloé LouRseyRe不禁想,虽然猫是「图灵完备」的,但可能不是为了执行代码而设计的?

关于「猫猫计算机」

上面的「猫猫计算机」当然都是说笑话。根据Chloé LouRseyRe的经验,当有人发现一种语言的新特征时,就开始到处使用。

「猫猫计算机」似乎是一个新手会犯的错误,但即使是最有经验的开发人员,有时也会犯新手错误,承认这一点没什么难为情的。

实际上,在面对编程语言的全新版本中的新功能时,积累经验的最好办法,就是把每个功能错误地使用一次,以避免今后的误用。

在使用某项功能之前,一定要先问问自己,这样做实际上是否有必要,否则你也可能犯下像「猫猫计算机」这样的错误。

另外,猫猫计算机很费猫,所以不要这样做。

(此文的写作过程中,没有猫猫受到伤害,但有一只猫被轻轻地戳过几下。)