Mycroft

分布式逻辑语言
授权协议 BSD
开发语言 Python Lua SHELL
所属分类 程序开发、 脚本编程语言
软件类型 开源软件
地区 不详
投 递 者 简成仁
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

什么是Mycroft?

Mycroft是一种逻辑语言,其语法类似于PROLOG。此外,它还支持透明的分布式计算和复合真值。

为什么不只使用PROLOG?

部分出于历史原因,PROLOG相当慢(与其他语言针对许多类问题实施的解决方案相比,最坏情况和平均情况的时间复杂度都很高)。它在单个线程中对逻辑树执行深度优先搜索。无法使用自动备注,因为确定的“纯序言”谓词可以与不确定的谓词(例如I / O和随机数生成)自由混合。隐式并行性的实现很复杂,因为程序假设分支将按顺序运行-意味着任何隐式并行PROLOG需要能够中断和回滚那些不会在纯线性执行模型中运行的分支以保持标准。Mycroft表示谓词是否是确定的。它记住确定谓词的结果,这意味着确定谓词将在第二次运行时立即完成。它记住确定性谓词的中间结果,这意味着即使不确定性谓词依赖于确定性谓词,在第二次运行时其运行速度也会更快。此外,可以将一组Mycroft实例形成一个群集,其中,所有确定谓词的结果都将分配给所有实例,评估谓词的工作可以分布在各个实例之间。

Mycroft与PROLOG有何不同 ?

Mycroft并不执行真正的统一-这意味着 ?- set(X, hello), print(X).   与...不同

?- print(X), set(X, hello).

取而代之的是,Mycroft对谓词中的标识符强制执行功能样式的值单值分配。

由于使用了复合真值,Mycroft隐式支持开放世界的假设-换句话说,无法解析为true的查询被解析为某些非true值,而不一定是false,并且无法解析为所有值都被评估为未知(真值| 0>,也称为NC或“无置信度”)。这意味着您不能用尽力证明-没有与PROLOG内置'/ +'直接对应的Mycroft。Mycroft不会尝试扩展变量的可能值。这与差异#1和#2有关-我们无法扩展到整个Herbrand宇宙,因为我们假设宇宙是开放的,因此我们无法进行真正的统一,因为可以替换的原子集是无界的。这既是肯定的-您不会遇到试图为所有整数评估谓词的偶然无限循环-既是肯定的-您不能隐式地使用此系统进行发现,而是必须生成您所需要的原子集对自己感兴趣并对其进行迭代。

  • 不熟悉语音唤醒的人看此文前 可以先了解一下语音唤醒的一些基本情况发展现状,评价标准等,以免偏颇。 最近做了一个windows下的语音唤醒功能。一些情况记录如下: 之前想过使用百度或科大讯飞的唤醒功能,但百度的目前不支持windows,讯飞使用的是c++.. 后来搜到windows下可以使用mycroft-precise做语音唤醒功能 就拿来试试了。  1, 首先奇怪的是,知乎网友说 windows

  • 语音辅助技术非常流行。 目前已经有25亿台这样的设备在使用中,到2023年,这一数字有望翻三番,达到80亿台。尽管主流语音辅助技术存在隐私和安全漏洞 ,但这种增长似乎还是势不可挡。 其中之一是“打开窗口”漏洞,例如,恶意人员在打开的窗户旁边行走并大喊:“嘿,打开门!” 并获得进入房屋的权限。 研究人员还为Alexa和Google识别了数千个假阳性唤醒词 ,这是注入恶意命令的潜在攻击媒介。 有些人冒

  • 祝贺我们的获奖者蒂姆·艾森豪威尔。 订阅我们的邮件列表,以获取有关我们未来所有赠品的通知。 对于以隐私为中心的语音助手制造商Mycroft AI来说,这是重要的一年。 该公司上个月宣布了一种新型号Mark II ,并将继续构建其开源平台。 为了庆祝,我们赠送了Mycroft Mark 1 ,它是Raspberry Pi和基于Arduino的设备,可以启动所有功能。 Mark 1的一长串功能一直在增

 相关资料
  • 对于任何一个有意义的应用来说,将所有的更新逻辑都放入到单个 reducer 函数中都将会让程序变得不可维护。虽然说对于一个函数应该有多长没有准确的规定,但一般来讲,函数应该比较短,并且只做一件特定的事。因此,把很长的,同时负责很多事的代码拆分成容易理解的小片段是一个很好的编程方式。 因为 Redux reducer 也仅仅是一个函数,上面的概念也适用。你可以将 reducer 中的一些逻辑拆分出去

  • 主要内容:语法,示例,创建回归模型逻辑回归是一种回归模型,其响应变量(因变量)具有分类值,如或。 它实际上是根据与预测变量相关的数学方程,来衡量二进制响应的概率作为响应变量的值。 逻辑回归的一般数学方程为 - 以下是使用的参数的描述 - y - 是响应变量。 x - 是预测变量。 a 和 b 是数字常数的系数。 用于创建回归模型的函数是函数。 语法 用于计算逻辑回归的函数的基本语法是 - 以下是使用的参数的描述 - formula

  • 主要内容:逻辑运算的结果,优先级现在假设有这样一种情况,我们的软件比较特殊,要求使用者必须成年,并且成绩大于等于60,该怎么办呢? 或许你会想到使用嵌套的 if 语句,类似下面这样的代码: 这种方法虽然能够行得通,但不够简洁和专业,我们可以将其压缩为一条 if else 语句: 是一个新的运算符,称为 逻辑运算符,表示 和 两个条件必须同时成立才能执行 if 后面的代码,否则就执行 else 后面的代码。 在高中数学中,我们就学

  • 语句和逻辑结构 #include <stdio.h> #include <stdlib.h> #include <Windows.h> //01.杂乱知识点: // 1.内存分配函数malloc(); // (1).分配单位:字节 // (2).分配方式: // 鲸吞+慢咽 // 2.内存分配注意事项: // 32位的单个进程一口气对多开辟2G

  • 本文向大家介绍oracle逻辑结构分析,包括了oracle逻辑结构分析的使用技巧和注意事项,需要的朋友参考一下 oracle的逻辑结构包括表空间(tablespace),段(segment),区(extent),数据块(data block) oracle数据库在逻辑上是由多个表间组成的,表空间中存储的对象叫段,比如数据段,索引段,和回退段。段由区组成,区是磁盘分配的最小单位。段的增大是通过增加区

  • 有人知道为什么这个循环总是针对不同于1或0的值,以及如何避免在输入字符时出现无休止的循环吗? }