Skip to main content

Python 专家系统

项目描述

皮皮 版本 测试 文件状态 编解码器.io

Experta 是一个 Python 库,用于构建受CLIPS强烈启发的专家系统。

from random import choice
from experta import *


class Light(Fact):
    """Info about the traffic light."""
    pass


class RobotCrossStreet(KnowledgeEngine):
    @Rule(Light(color='green'))
    def green_light(self):
        print("Walk")

    @Rule(Light(color='red'))
    def red_light(self):
        print("Don't walk")

    @Rule(AS.light << Light(color=L('yellow') | L('blinking-yellow')))
    def cautious(self, light):
        print("Be cautious because light is", light["color"])
>>> engine = RobotCrossStreet()
>>> engine.reset()
>>> engine.declare(Light(color=choice(['green', 'yellow', 'blinking-yellow', 'red'])))
>>> engine.run()
Be cautious because light is blinking-yellow

从 Pyknow 迁移

Experta 是一个 Pyknow 分支。只需将代码/示例中的任何pyknow引用替换为专家,一切都应该正常工作。

例子

您可以在GitHub 上找到更多示例。

去做

变更日志

1.9.4

  • 已解决 #10。DepthStrategy 中的角落案例,其中议程的第一次激活没有被删除。

1.9.3

  • 解决了与 #7 一起引入的 #11,它在不同条件下导致相同的行为。

1.9.2

  • 已解决 #7。在某些情况下,最后一次激活在进入议程后立即被删除。

1.9.1

  • 解决了#3。不应使用已撤回的事实调用规则。

1.9.0

  • 放弃 Python 3.4 支持。

  • 使用 setup.cfg 保存所有包元数据。

1.8.0-1.8.2

  • 更名为 Experta。

1.7.0

  • 实现了模板系统。

  • 用观察者消息替换警告。

  • 修复了冻结对象的 freeze()。

  • 修复了未冻结对象的 unfreeze()。

  • 通过 reset() kwargs 参数化 DefFacts。

1.6.0

  • 提高了整体性能。

1.5.0

  • 将 Python 3.7 版添加到 tox.ini。

  • 猴子和香蕉的例子。

  • 修复了错误,数字索引 args 以1.4.0中引入的奇怪方式重复。

  • 在没有 kwargs 的情况下仅传递定义的 args。

1.4.0

  • 制作副本后订购整数事实键。

  • 事实的 as_dict 方法。

  • 冻结和解冻方法文档。

  • pyknow.utils 中的解冻方法。

  • Clips 中的 Zebra 示例。

1.3.0

  • pyknow.operator模块。

  • 嵌套匹配。

  • 在 docs 文件夹中添加了 Talk 'Sistemas Expertos en Python con PyKnow - PyConES 2017'。

1.2.0

  • 冻结事实值作为解决问题 #9 的默认行为。

  • 添加了 pyknow.utils.anyof以缓解问题 #7。

  • 如果在 declare() 之后修改了事实值,则引发 RuntimeError。

  • 添加了 MATCH 和 AS 对象。

1.1.1

  • 删除 P 场约束的博格优化。

  • 在节点的排序中使用检查的哈希值始终生成网络的相同 alpha 部分。

1.1.0

  • 在谓词字段约束 (P()) 中允许任何类型的可调用。

1.0.1

  • AND or Rule 中 OR 子句的 DNF 执行错误。

1.0.0

  • RETE匹配算法。

  • 更好的规则装饰器系统。

  • 事实就是字典。

  • 文档。

<1.0.0

  • 不稳定的 API。

  • 错误的匹配算法。

  • 表现不佳

  • 请不要使用这个。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

Experta-1.9.4.tar.gz (26.4 kB 查看哈希

已上传 source

内置分布

Experta-1.9.4-py3-none-any.whl (35.6 kB 查看哈希

已上传 py3