小编Mar*_*ark的帖子

选择最佳组件的最佳方法是什么?

我正在构建一个专家系统,在向用户询问一些问题以了解他的需求之后应该能够组装一台计算机!我的问题是选择最好的处理器,最好的RAM,最好的VGA ecc ecc向用户显示一个配置!
组件存储如下:

configuration(P, M, R, C, A, V, S, D, H, Dvd, Price_range) :-
processor(P, Proc_price, Price_range),
motherboard(M, Motherboard_price, Price_range),
ram(R, Ram_price, Price_range),
case(C, Case_price, Price_range),
ali(A, Ali_price, Price_range),
video_card(V, Vga_price, Price_range),
ssd(S, Ssd_price, Price_range),
monitor(D, Monitor_price, Price_range),
dvd(Dvd, Dvd_price, Price_range),
hdd(H, Hdd_price, Price_range).
Price is Proc_price + Motherboard_price + Ram_price + Case_price + Ali_price + Vga_price + Ssd_price + Dvd_price + Monitor_price + Hdd_price.
Run Code Online (Sandbox Code Playgroud)

我不是要求你为我这样做,我只是提出一些建议来做到这一点,我可能不得不为每个组件添加一些元素,也许还有一些关系,但我现在陷入了僵局.

编辑:

我已经定义了配置谓词,但是通过这种方式我可以使用forall/ 来定义所有可能的配置findall,但是我需要生成最好的配置,所以我可能需要为每个组件定义一个选择谓词.

你谈到了一个分数,我可以为每个组件设置一个分数,这意味着组件如何适合用户.

我在组件之间添加了一些关系,我应该在定义配置时使用它们.关于这些关系,我不确定是否必须像其他组件一样存储它们,或者我必须断言它们,例如通过检查bot组件是否具有相同的套接字.

compatibility(motherboard, processor)
compatibility(motherboard, …
Run Code Online (Sandbox Code Playgroud)

prolog dcg

2
推荐指数
1
解决办法
84
查看次数

标签 统计

dcg ×1

prolog ×1