当前位置: 首页 > news >正文

Pyke学习系列(pyke基础执行)(一)

from pyke import knowledge_engine
from pyke import goaldef main():# 创建一个知识引擎,并加载规则engine = knowledge_engine.engine(__file__)# 使用规则进行推理engine.activate('fc_related')engine.get_kb('family').dump_specific_facts()#engine.get_kb('family').dump_universal_facts()# engine.add_universal_fact('family', 'son_of', ('bruce', 'thomas'))# print(engine.assert_('family', 'father_son', ('thomas', 'bruce')))# engine.assert_('family', 'son_of', ('fred', 'thomas'))# results = engine.prove_1_goal('fc_related.father_son($father, $son, ())')# results = engine.prove_1_goal('fc_related.father_son($father, $son,  ())',son='bruce')# results = engine.prove_1_goal('fc_related.father_son($father, $son)', father='thomas')# results = engine.prove_1_goal('fc_related.father_son($father, david_b)')# results = engine.prove_goal('fc_related.father_son($father,$son,  ())')# 打印推理结果# print(results)"""with engine.prove_goal('fc_related.father_son(thomas, $son)') as gen:for vars, plan in gen:print(vars['son'])"""my_goal = goal.compile('fc_related.father_son($father, $son)')father_name = 'arthur2'with my_goal.prove(engine, father=father_name) as gen:for vars, plan in gen:print(vars['son'])engine.reset()print("#end#")if __name__ == '__main__':main()

此外还需要创建并加载一个事实库(family.kfb文件)

son_of(bruce, thomas)
son_of(fred_fa, thomas)
son_of(tim, thomas)
son_of(arthur3, arthur2)
son_of(ed2, arthur2)
son_of(david_b2, arthur2)
son_of(md_thomas, bruce)
son_of(david_fa, bruce)

以及一个规则库(fc_related.krb文件)

direct_father_sonuse father_son($father, $son)whenfamily.son_of($son, $father)

http://www.mrgr.cn/news/48090.html

相关文章:

  • Promise.all 并发发起多个请求
  • 接口自动化测试框架的搭建
  • 【全网首发】台湾省模型数据“去水印“说明(3Dtiles和osgb格式),全台湾省的模型数据,全域无水印AI处理,支持所有模型格式
  • 蓝桥杯物联网开发板硬件组成
  • 中国农业科学院深圳农业基因组研究所合成生物学研究中心-随笔06
  • Ubuntu下C语言操作kafka示例
  • Spring Boot 日志打印配置详解
  • 【C语言】自定义类型:联合体和枚举
  • C++编程:利用ARM硬件加速CRC32计算
  • vue基础语法的用法(API组合式风格)
  • maven
  • 小白萌新 JSAR 开发者工具之初体验——好用!
  • 《市场营销学》PPT课件.ppt
  • SAP S/4HANA 迁移:IT 高管实用指南
  • 探索未知,惊喜连连 —— 盲盒小程序开发文案
  • 【低代码】前端低代码开发日记2_遇到的问题(2)变量绑定
  • [单master节点k8s部署]34.ingress 反向代理(一)
  • 提升 Python 包下载速度的利器:cnpip
  • Datawhale 组队学习 文生图 Prompt攻防 task01
  • 解释Flask框架中的session和request对象
  • 模型预测控制工具包——ACADO:通过Cmake构建自己的优化问题
  • lnmp - RBAC方案设计与实现
  • 使用阿里云盘将服务器上的文件上传/下载到云盘/服务器
  • MySQL数据库详细学习要点
  • 纯干货!详解Java并发之线程中断机制
  • Docker理念