V2EX 06月23日 03:46
[程序员] 米家极客版(系统/编程语言)图灵完备吗?
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入分析了米家极客版的功能特性,探讨其是否具备图灵完备性。米家极客版支持多种数学函数、指令、流程控制和逻辑运算,并拥有无限变量和与物联网设备的交互能力。文章详细介绍了其定时、循环、变量操作等方面的实现方式,并讨论了如何通过变通方法解决循环计数问题。此外,还分析了位运算、数组支持、设备通信等关键因素,最终尝试评估其在计算能力上的潜力。

💡 米家极客版支持丰富的数学运算和函数,包括绝对值、幂、对数等,这为其提供了基本的数值处理能力。

⚙️ 该设备具备多种指令和流程控制功能,例如定时、时间段、延迟等,以及当-如果-就的条件触发机制,这使得它能够根据事件和状态做出反应。

🔄 米家极客版支持条件循环,尽管不支持直接指定循环次数,但可以通过其他方式实现类似功能,例如使用变量计数。

🔢 设备拥有无限变量,虽然无法在程序运行时动态创建,但变量数量充足,这为复杂的逻辑运算提供了基础。

🔌 米家极客版能够操作物联网设备,虽然操作延迟较高,但提供了与外部世界交互的可能性,可以间接扩展其功能。

🤔 对于位运算,可以通过自定义状态的布尔值来实现与、或、非逻辑,这为构建更复杂的逻辑电路提供了可能。

米家极客版图灵完备吗?

米家极客版说明:

支持的函数:绝对值,幂,对数,三角函数,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.位运算作为图灵完备的条件和与或非门的理论的异同?

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

米家极客版 图灵完备 智能家居 编程
相关文章