我有n个特工,每个特工都有k个策略。假设代理为{X1,X2,... Xn},对于一个代理Xm,我们有策略{Xm_1,Xm_2,... Xm_k}。一些策略可能与另一个策略冲突。我有一个已知的函数f(Xn_i,Xm_j),其中输入是来自不同代理的两种策略,输出是布尔值,true表示它们有冲突。现在,我的问题是设计一种算法,以便为每个代理找到最佳的策略分配,以使冲突次数最少。我的朋友告诉我使用遗传算法来解决它。我想知道是否有任何有效的“精确”算法来找到零冲突分配(如果可能)?请给我一些与此问题相关的提示或关键词,谢谢!
说明: 这里的“分配”意味着每个座席必须从其可能的策略集中选择一种策略。例如,如果n == 3并且K == 2,这意味着我们有3个代理,并且每个代理需要从其两种可能的策略中选择一个,因此解决方案空间为2 ^ 3分配,我们需要找到最少冲突策略分配。
答案 0 :(得分:1)
在每个代理程序只有两种策略的特殊情况下,此问题的最小化版本等效于maximum 2-satisfiability,这对NP来说很困难。但是,确定是否存在无冲突分配是多项式时间。
为了确定座席有三种或三种以上策略时是否存在无冲突分配,此问题将对图进行3色着色的NP难题归结为一个问题。