当前所在位置: 首页 > 资讯

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

2021-12-08 【 字体:

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

【导读】近日,一位法国开发者Chloé Lourseyre在她的个人博客上提出了「猫猫计算机」的概念。由此,她提出了一个天马行空的想法:猫是不是「图灵完备」的?它是「图灵机」吗?

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

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

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

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

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

 测试对象就是这只小猫Peluche 

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

什么是图灵完备?

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

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

.和, —— 输入和输出一个值。

+ 和 - —— 增加和减少当前存储单元中包含的值。(图灵机有一个「存储带」,上面有「存储单元」。机器总是指向一个存储单元,也就是上面提到的「当前」存储单元。)

> 和 < —— 向左或向右移动当前存储单元。

[和] —— 执行循环。 

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

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

图灵完备性的证明

输入输出

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

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

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

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

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

输入、输出已确认! 

增减内存值

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

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

到处都是猫粮…… 

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

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

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

增减内存值,已确认! 

左右移动当前内存单元

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

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

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

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

移动内存单元,已确认! 

执行循环

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

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

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

所以,Peluche绝对可以执行循环...... 

循环已确认! 

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

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

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

结果:Peluche什么都不做!

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

关于「猫猫计算机」

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

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

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

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

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

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

参考资料:

https://belaycpp.com/2021/11/24/is-my-cat-turing-complete/ 

https://en.wikipedia.org/wiki/Turing_completeness 

本文来自微信公众号“新智元”(ID:AI_era),编辑:David 小咸鱼,36氪经授权发布。

阅读全文
相关推荐

开公司前期最重要的三要素!!!

<strong>开公司前期最重要的三要素!!!</strong>
第一:不要直接用身份证直接注册公司!注册公司可以用两个东西,第一个叫身份证,第二...

阿里前端第一人AI创业首秀,要做全球内容创作者的GitHub,公司俩月估值过亿,5k人排队内测

<strong>阿里前端第一人AI创业首秀,要做全球内容创作者的GitHub,公司俩月估值过亿,5k人排队内测</strong>
这就是躬身入局AI大模型创业的玉伯,对2024年创业现状的真实体感。但这位昔日的...

设计一套成就系统,让生活像游戏一样好玩

<strong>设计一套成就系统,让生活像游戏一样好玩</strong>
大家好呀。2024年马上就要过去了,我们很快就要迎来2025年啦。如果在过去的一...

向版权流氓说再见,微信公众号上线AI配图功能

向版权流氓说再见,微信公众号上线AI配图功能
继网易Lofter、虎嗅、百度百家号之后,微信公众号也开始拥抱AI配图了。日前微...

教老外认花花草草,就能月入8000万?

教老外认花花草草,就能月入8000万?
出海收割老外这块,世超见过菜得抠脚的,也见过强得可怕的。但强得可怕还没什么人知道...

最招恨的“劣迹网红”:暴揍老头,年入5亿

<strong>最招恨的“劣迹网红”:暴揍老头,年入5亿</strong>
58岁的“铁人”泰森,重返拳台。在上周末鏖战8回合后,泰森吃到对手杰克·保罗共7...

抖音爆火的“拆盲盒”直播,是如何将昂贵的废品卖给消费者的?

<strong>抖音爆火的“拆盲盒”直播,是如何将昂贵的废品卖给消费者的?</strong>
抖音直播间掀起了一股“拆盲盒”热潮。最初,这股热潮主要集中在拆卡直播间。一盒10...

低至4元的柠檬水,凭什么赚钱?

<strong>低至4元的柠檬水,凭什么赚钱?</strong>
柠檬水快卷疯了。入夏后,不少新茶饮品牌都从柠檬开刀,要么降价,要么推新,动作频频...

2分钟找到契合你的小众市场

<strong>2分钟找到契合你的小众市场</strong>
编者按:互联网是个长尾市场,越来越长尾。不要试图取悦所有人,到头来你会一场空。相...

牙齿正畸这门生意,也到了出海时代

<strong>牙齿正畸这门生意,也到了出海时代</strong>
高瓴资本作为LP的时代天使,凭借本土先发优势,与国际巨头爱奇科技在国内隐形正畸市...