Pyke integrates a form of Logic Programming into Python by providing a knowledge engine that can:
* Do both forward-chaining (data driven) and backward-chaining (goal directed) inferencing.
o Pyke may be embedded into any Python program.
* Automatically generate Python programs by assembling individual Python functions into complete call graphs.
o This is done through a unique design where the individual Python functions are attached to backward-chaining rules.
o Unlike other approaches to code reuse (e.g. Object-oriented programming, Zope adapters, generic functions), this allows the inference engine to ensure that all of the function's requirements are completely satisfied, by examining the entire call graph down to the leaves, before any of the functions are executed.
o This is an optional feature. You don't need to use it if you just want the inferencing capability by itself.
Pyke提供一个知识引擎将一种逻辑编程语言整合进Python中:
- 作前向链接(数据驱动的)和后向链接(指定目标)的推理。Pyke可以潜入到所有的Python程序中。
- 将单独的Python功能组合成完整的调用图,可以自动生成Python程序。
*通过一个专门的设计将单独的Python功能关联到后向链接规则中。
*不同于其他代码重用的方式(例如面向对象编程,Zope适配器,通用函数)。Pyke允许推理机通过在执行功能前检查整个调用图直到叶节点,来确保所有的功能需求是完全合适的。
*这是一个可选特性。如果你只想要它的推理能力,你不需要一定使用它
The Knowledge Engine Supports:
* Multiple fact bases, each with its own list of facts.
* Both forward-chaining rules and backward-chaining rules.
* Multiple rule bases, each with its own list of forward-chaining and/or backward-chaining rules.
* Rule base inheritance -- activating the derived rule base includes the rules from the parent rule base.
* The inference rules are compiled into Python functions, allowing Python code snippets to be used within the rules. This greatly enhances the expressiveness of the rules.
知识引擎支持:
- 多种事实基准,它自身的事实列表
- 前向链接规则和后向链接规则
- 多种规则基准,自身的前向 和/或 后向规则列表
- 规则基准继承-产生一个包含父规则基准所有规则的继承规则基准
- 推理规则编译到Python函数中,允许在规则中使用Python代码。这大大增强了规则的表现能力。
Automatic Program Generation:
* Calls the generated Python programs plans.
* Plans may be run multiple times without needing to rerun the inference rules.
* Plans may be pickled and cached to disk to be used by other programs or in later runs of the same program.
* Only one small Pyke module is required to run the plans.
程序自动生成:
- 调用生成的Python程序方案
- 无须再次执行推理规则,方案可以执行多次
- 方案可以包装并存储到硬盘上以供其他程序或者本身之后使用
- 仅需要一个小的Pyke模块运行这个方案
Potential Pyke Applications:
* Complicated decision making applications.
* The back-end (code generation and optimization) of compilers. Pyke is used as the back-end of its own compiler that translates rules into Python code.
* Automatic SQL statement generation.
* Automatic HTML generation and automatic HTML template processing.
* Automatic program builder to reuse a common set of functions for many different specific situations. This could also easily incorporate a new custom function into a much larger program, where the use of the custom function might influence the choice of other standard functions in other parts of the program.
* The control module for a web framework tool.
* A high-level planner to automatically distribute the modules of a large system over several computers in a distributed system to meet specific performance and capacity goals. This could be used to automatically scale the same system code from a small one program, one computer system to much larger distributed systems to meet a wide range of performance goals.
* Diagnosis systems, including automated customer service systems.
* Program or library customization for specific uses.
* In addition to being able to build programs, Pyke can instantiate, configure and interconnect a network of objects to meet a specific need or situation.
Pyke可能的应用:
- 形成应用时的复杂判定
- 编译器后端(代码生成和最优化)。Pyek用在它自身编译器的后端将规则翻译成Python代码。
- SQL语句自动生成。
- HTML自动生成,HTML模板自动处理。
- 对于多种不同情况时重用公共部分功能的自动程序建立。这也很容易将一个新的自定义功能加入到非常大的程序中,即使这个函数会影响到程序其他功能的选择。
- web框架的控制模块。
- 一个高等级的规划者,可以自动根据性能和容量指标将分布式系统中大程序的模块分配和其他计算机。这也可以用来从一个小程序中自动衡量相同的系统代码,对于巨大的分布式系统一个单独的计算机系统如何确定性能指标。
- 诊断系统,包括自动化客户服务系统。
- 对于特定使用的程序和库的自定制。
- 除了建立程序,Pyke还可以实例化,配置和连接目标网络来确定特定的需求和情况。
-----------------
硬是没看懂……
分享到:
相关推荐
rule = Rule('if condition is met, then do action', condition_func, action_func) ``` 3. **事实管理**:Pyke 提供了 API 来添加、修改和查询事实。你可以用 `assert_fact()` 添加新的事实,用 `retract_fact...
### 开源规则引擎Pyke研究报告知识点详述 #### 一、背景介绍 - **规则引擎起源与发展**:规则引擎的概念源自于基于规则的专家系统(Rule-Based Expert System, RBES)。这种系统是人工智能领域的一个重要分支,其...
Pyke:Python知识引擎 这是原始的镜像,可用作参考以及PyPI包的创建和维护。 一切归功于原始作者( 。 此存储库中的代码仅基于PyKE的Python 3版本,因为2020年不推荐使用Python2。因此,可能会删除与Python 2相关的...
离线安装包,测试可用。使用 pip install [完整包名] 进行安装
**Python Knowledge Engine (PyKE)** 是一个开源项目,专门用于构建知识工程系统。这个系统允许开发者使用Python语言来定义和处理知识表示,以及基于这些知识的推理规则。PyKE的独特之处在于它能够将正向和反向链接...
对pyke和pyclips引擎在功能特点、语法结构和性能表现上,做粗浅的对比。入门级、自制文档
资源来自pypi官网。 资源全名:pykechain-3.8.2-py2.py3-none-any.whl
《规则引擎:规则包导出详解》 规则引擎是一种软件系统,它允许业务专家和开发人员以声明式的方式定义业务规则,而无需深入编程细节。这些规则可以是条件语句、逻辑判断或复杂的业务流程,它们能够自动化执行特定...
### 使用 Drools 规则引擎实现业务逻辑 #### 引言 随着软件系统变得越来越复杂,管理和维护其中的业务逻辑也成为了开发过程中的一大挑战。传统的硬编码方式虽然能够实现业务需求,但在面对频繁变更的需求时显得...
但值得注意的是,PyClips不支持反向推理逻辑,因此在某些特定场景下,它的推理时间可能会稍长于Pyke(假设Pyke支持反向推理)。 - **正向推理逻辑**:PyClips支持在规则定义中动态添加或撤销事实。这种特性使得...
反向链接推理引擎###Description:推理引擎的实现,它将知识库和查询语句作为输入,并确定是否可以使用反向链接从知识库中给出的信息中推断出查询。 ###Input:知识库和名为 input.txt 的文本文件中的查询(要更新以...
这种木质材料形成了一层保护层,阻止了冰的融化,因此得名Pykrete,以提议者Geoffrey Pyke的名字命名。 当时的德国潜艇正在快速击沉盟军的补给船,英国急需物资。盟军考虑使用Pykrete建造船只,因为这种材质对潜艇...
基于pyknow的基于规则的系统先决条件吉特python 3.5+ jupyter笔记本下面介绍一些python软件包pyknow简介描述pyknow的主要功能之一是与python 3兼容并使用RETE算法。 pyknow还要用纯python实现。...
- **含义**:指注册该版本SecureCRT软件的用户姓名为“David Pyke”,括号内的数字可能是用户的唯一标识符。 #### 3. **Company**(公司) - **内容**:[0000]。 - **含义**:此处未填写具体公司名称,而是用“...
-更新2.18:添加了Pyke! 最后! 更新2.17:添加了Zoe(现在我将承认她的OP的存在),并添加了Kai'Sa。 更新了赵鑫的作品。 更新2.16:最终添加了Ornn。 我真的应该切换到API。 在添加冠军方面,我通常比Riot快。 ...
$ git clone https://github.com/pyke369/tcpsplice $ cd tcpsplice $ make 从那里,您可以立即使用二进制文件或构建Debian软件包以供以后部署(请参见下文)。 组态 去做 监控方式 打包 (需要devscripts包) 您...
要求sffmpeg要求: 兼容POSIX的系统(今天几乎是任何系统) 最新版的 的最新版本(3.6+) 和实用程序实用程序用法只需在shell提示符下键入以下命令: $ git clone https://github.com/pyke369/sffmpeg$ cd sffmpeg$ ...
当前应用中,基于规则引擎的系统有Python、PyKE和Prolog等,它们利用语言规范进行规则的定义和处理,甚至能处理语义网。 总结来说,数据挖掘技术的研究和应用在网络安全对策中发挥着至关重要的作用。通过对海量数据...
Pyke两位教授为教育目的编写的,它包含了丰富的函数,使得程序员可以方便地实现如输入输出、数学运算、内存管理等操作。该库特别适合初学者,因为它提供了清晰的接口和详尽的文档,有助于快速掌握汇编语言的基础...
Pyke和Cohen研究了单工厂多客户多时段的多目标模型;Chien研究了多工厂单产品的最大化生产和运输数量问题;Banerjee等建立了单一产品多层次供应链模型并提出了启发式算法;国内的田俊峰和杨梅则提出了基于单工厂、多...