Eresye制作的专家系统(玩具演示用)

Erlang麾下有一群“大将”,其中一员便是Eresye,专司“专家系统引擎”。

Eresye统帅一支轻骑兵,装备精良,武艺高强。

Eresye导出的内建函数,仅仅10个左右,能以极快速度搭建起专家系统的框架,并凭借Rete算法的优势,使系统高速运行。

最近,领教了Eresye的强大威力,得把感受记下来。一来作个总结,二来想看看是不是真弄明白了。一直以为,明白的标志,一是能把复杂的问题简单说清,二是要白纸黑字用笔来说。

用Eresye做了个专家系统模型,虽然十分简陋,属于玩具演示类,没有实用价值,但从中可见Eresye的工作原理和强大功能。

这个系统模拟著作权专家,对作品是否享有著作权,给出咨询判断。系统由推理机、知识库、推理规则构成。推理机是Eresye内建的,拿来用便可;知识库是断言式的事实集合,源自中国《著作权法》的条文规定;推理规则,用以根据事实知识和用户的回答,得出结论。

这里说的,没有学术理论。编程这事儿,其实无需太多理论,除非要唬人吓已。说编程的事儿,最好直接用程序代码。下面是玩具源码。

%

% c_f_2.erl

%

-module (c_f_2).

-export ([start/0,

determine_legal/2,

        determine_applicable1/4,

determine_applicable2/4,

determine_applicable3/4,

        determine_works1/4,

determine_works2/4,

determine_works3/4,

determine_works4/4,

determine_works5/4,

determine_works6/4,

no_copyright/2

]).

ask_yn (Prompt) ->

  P = Prompt ++"( y / n ): ",

  [Response | _] = io:get_line (P),

  case Response of

    $y -> true;

    _ -> false

  end.

%%%%%%% 知识(事实)库

add_works(Engine) ->

  eresye:assert(Engine,{works,1,"音乐、戏剧、曲艺、舞蹈、杂技艺术作品"}),

  eresye:assert(Engine,{works,2,"美术、建筑作品"}),

  eresye:assert(Engine,{works,3,"摄影作品"}),

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值