米家极客版(系统/编程语言)图灵完备吗?

22 天前
 sxguka
米家极客版图灵完备吗?

米家极客版说明:

支持的函数:绝对值,幂,对数,三角函数,n 个数取最大值,取最小值,四舍五入,向下取整,向上取整,随机数,时间戳,自然常数 e ,圆周率,随机整数,字符拼接。

指令:定时,时间段,延迟,状态维持了一段时间(布尔值),如果两事件在 n 秒内先后发生,就执行 xx 。(具体时间设置均不支持变量,只能手动指定)

流程:当-如果-就(分为触发条件也就是设备主动上报为当,状态条件也就是极客版主动询问为如果,就代表触发条件或上一步流程触发后,满足状态条件就 x ,否则执行 y ),循环(每多久循环一次,开始循环条件,结束循环条件,不能直接指定循环次数),最多执行次数(开始,清零条件,每次干啥),达到指定次数时(和前者类似,但是是一个布尔值),设备模式切换。

逻辑:当 n 事件中任一发生,满足任意条件,满足全部条件,取反。

自定义状态:并不是真正的自定义。是一个布尔值。定义当 x 发生时,改为真。y 发生时,改为假。(是不是类似与非或?)

判断变量是否满足某条件(布尔值),数值运算,字符拼接。

变量:支持数值和文本,程序不能动态创建,但是数量认为是无限。

设备:当事件发生(设备上报),主动查询设备,操作 iot 设备(为简化问题,不考虑被操作 iot 设备的代码执行能力。此操作最多被认为能当寄存器使用)

循环的话支持条件循环,不支持循环次数。条件循环自然可以也可作为无限循环

变量数量无限,无法在程序运行时自动创建,但是操作 iot 设备,暂且认为 iot 设备支持动态创建,只是延迟很高。

系统应该是 64 位,中枢网关是 4G 闪存设备,如果不考虑多媒体的话,空间算是很大了。

请认真分析,实现方法。至少定时的问题,完全可以通过其他方法来变相解决。然后循环的计数也可以每次增加一个变量,最后用变量来判断。

1.位运算?
2.循环的话支持条件循环,不支持循环次数。条件循环自然可以也可作为无限循环
3.不支持数组,只能 n 个数比大小。
4.变量数量无限,无法在程序运行时自动创建,但是操作 iot 设备,暂且认为 iot 设备支持动态创建。
5.系统应该是 64 位,中枢网关是 4G 闪存设备,如果不考虑多媒体的话,空间算是很大了。
6.理论上可以和局域网内支持相应协议的设备通信,只是延迟很高。为了简化问题,假设不支持原生数组。认为机身内部可以存储无限多个变量。
7.and or xor 可以用自定义状态的布尔值来实现。

至于其他三个我也不太清楚,你可以再仔细的根据我说的变量运算以及逻辑运算来分析。

8.能否直接把剩下的那三个位运算做成表存起来?(指定某字符经过某运算等于某变量)

9.位运算作为图灵完备的条件和与或非门的理论的异同?
1081 次点击
所在节点    程序员
2 条回复
guyeu
22 天前
有循环就是图灵完备了,但图灵完备在实际场景下其实也没啥用,最终要实现什么效果还是要看硬件 API 的支持程度。
guyeu
22 天前
最终要实现什么效果 => 最终能实现什么效果

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1140315

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX