python专家系统

experta的Python项目详细描述


pypiversiontestsDocumentation Statuscodecov.io

expert a是一个python库,用于构建受强烈启发的专家系统 通过CLIPS

fromrandomimportchoicefromexpertaimport*classLight(Fact):"""Info about the traffic light."""passclassRobotCrossStreet(KnowledgeEngine):@Rule(Light(color='green'))defgreen_light(self):print("Walk")@Rule(Light(color='red'))defred_light(self):print("Don't walk")@Rule(AS.light<<Light(color=L('yellow')|L('blinking-yellow')))defcautious(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()Becautiousbecauselightisblinking-yellow

从pyknow迁移

experta是一个pyknow叉子。只需替换您的 代码/示例到experta,所有的工作都应该相同。

示例

你可以在GitHub上找到更多的例子。

待办事项

更改日志

1.9.1

  • 解决3.规则不应与已经收回的事实一起调用

1.9.0

  • 放弃Python3.4支持。
  • 使用setup.cfg保存所有包元数据

1.8.0-1.8.2

  • 更名为Experta。

1.7.0

  • 实现了模板系统。
  • 将警告替换为观察者消息
  • 修复了冻结对象的冻结()
  • 修复了使用解冻对象的unfreeze()。
  • 通过reset()kwargs参数化deffacts。

1.6.0

  • 提高了整体性能。

1.5.0

  • 在tox.ini中添加了python版本3.7。
  • 猴子和香蕉的例子。
  • 修正了这个错误,数值索引参数以一种奇怪的方式重复出现在1.4.0中。
  • 仅传递定义的参数,而不传递kwargs。

1.4.0

  • 复制后对整数事实键进行排序。
  • 作为事实的方法
  • 冻结和解冻方法文档。
  • 在pyknow.utils中解冻方法。
  • 剪辑中的斑马示例。

1.3.0

  • pyknow.operator模块
  • 嵌套匹配。
  • 将“Sistemas Expertos en Python Con Pyknow-PyCones 2017”添加到文档中 文件夹。

1.2.0

  • 冻结事实值作为解决问题9的默认行为。
  • 添加了pyknow.utils.anyof以缓解问题7。
  • 如果在declare()之后修改了事实值,则引发runtimeerror。
  • 添加了MATCH和AS对象

1.1.1

  • 去除p域约束的borg优化。
  • 在节点排序中使用签入的哈希值始终 生成网络的相同alpha部分

1.1.0

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

1.0.1

  • AND或规则中的OR子句的DNF实现错误

1.0.0

  • rete匹配算法。
  • 更好的规则装饰系统。
  • 事实就是字典。
  • 文件。

<;1.0.0

  • 不稳定的API。
  • 匹配算法错误
  • 性能不佳
  • 请不要用这个。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将可变分数从一个活动传递到另一个活动   java solr是一个可以在tomcat上的spring应用程序的同一个实例上运行的web应用程序吗?   JAVANet对象交换,而不是基于Web的   java这是MySQL使用MAX函数的正确方法吗?   在ArrayList上重写Java实现比较器   java安卓:从JNI调用调用shell命令   java获取引用对象的对象列表   容器列表Java   java多次从同一URL读取数据,而不是第二次获取数据   java Windows Azure:删除代理邮件时出错   Java:在PC上编译包时出错   java IntelliJ无法识别maven插件   java无法使用相同的id在数据库中重新创建Google数据存储密钥   java如何使用Thymleaf实现这一点?   将Java转换为C#   java从外部clojar导入/使用资源   当列表<Object>为空时,java返回null错误:[return.type.compatible]   java使用动态变量生成jlabel   java Kafka在多节点集群中将主题存储在何处?   java输入类型=编号不起作用