小编use*_*789的帖子

一个prolog程序优化绿色削减和红色切割

我有一个prolog程序.但现在我对prolog不是很熟悉.所以从这里寻求帮助.

以下Prolog程序确定了保险费汽车保险.保险费取决于车辆的马力和驾驶员的年龄.

calculateCarInsurance(PS,Insurance) :-
   PS < 60 , Insurance = 100.
calculateCarInsurance(PS,Insurance) :-
   PS >= 60 , PS < 100 , Insurance = 200.
calculateCarInsurance(PS,Insurance) :-
   PS >= 100 , Insurance = 300.
isInRiskyGroup(Age) :- Age < 25.
calculateCarInsurance(PS,Age,_) :- Age < 18 , fail.
calculateCarInsurance(PS,Age,Insurance) :-
   Age >= 18 , isInRiskyGroup(Age) ,
   calculateCarInsurance(PS,I2) ,
   Insurance is I2 * 2.
calculateCarInsurance(PS,Age,Insurance) :-
   not(isInRiskyGroup(Age)) ,
   calculateCarInsurance(PS,Insurance).
Run Code Online (Sandbox Code Playgroud)

现在需要a)用Green Cuts优化程序.b)通过删除不需要的谓词,将绿色更改为红色削减.程序的行为应该是相同的.

我已经理解了prolog程序,但可以通过优化绿色削减来解决.谢谢,任何人都可以用细节解释a,b.谢谢

optimization prolog

3
推荐指数
1
解决办法
247
查看次数

标签 统计

optimization ×1

prolog ×1