如何将具有元数 6 的谓词拆分为具有元数 2 的多个谓词?

问题描述

我对 clingo 和 ASP 非常陌生。任何指针将不胜感激!

我正在尝试为调度问题编写程序。我将得到的输入是:

person(id,employee_type,max_workload,prevIoUs_workload,payment). 

我想将其拆分为多个谓词,例如:

employee_type(person_id,type)
max_workload(person_id,workload)

等等。俗话说。

我可以很容易地将employee_type定义为:

{emp_type(EID,(f;c)}:-emp(EID). 

哪里f - full time ; c- contractor.

但在工作量、付款的情况下,唯一的条件是这将是一个正整数。 我如何定义这些谓词?

根据工作量、薪酬和员工类型的值,我有多个硬约束和软约束。

谢谢!

解决方法

想通了。将单个谓词拆分为多个谓词:

emp_type(EID,ET) :- person(EID,ET,_,_).
max_workload(EID,MW) :- person(EID,MW,_).