In kidney exchange programs, multiple patient-donor pairs each of whom are otherwise incompatible, exchange their donors to receive compatible kidneys. The Kidney Exchange problem is typically modelled as a directed graph where every vertex is either an altruistic donor or a pair of patient and donor; directed edges are added from a donor to its compatible patients. The computational task is to find if there exists a collection of disjoint cycles and paths starting from altruistic donor vertices of length at most l_c and l_p respectively that covers at least some specific number t of non-altruistic vertices (patients). We study parameterized algorithms for the kidney exchange problem in this paper. Specifically, we design FPT algorithms parameterized by each of the following parameters: (1) the number of patients who receive kidney, (2) treewidth of the input graph + max{l_p, l_c}, and (3) the number of vertex types in the input graph when l_p <= l_c. We also present interesting algorithmic and hardness results on the kernelization complexity of the problem. Finally, we present an approximation algorithm for an important special case of Kidney Exchange.
翻译:在肾脏交换方案中,多对病人和捐赠者彼此互不兼容,相互交换其捐赠者以获得互不相容的肾脏。肾脏交换问题典型的模型是,每个脊椎都是利他性捐赠者或一对病人和捐赠者的一种定向图表;直接边缘是从捐赠者添加到其兼容的病人的。计算的任务是,找到是否存在一个脱节周期和路径的集合,从利他性捐赠者长的脊椎开始,其长度最多为l_c和l_p,其中至少包括某些特定数目的无酒精性脊椎(病人)。我们研究了本文中肾脏交换问题的参数化算法。具体地说,我们设计了按以下参数参数参数参数参数参数参数参数参数的FPT算法:(1) 接受肾的病人人数,(2) 输入图的树with + max{l_p, l_c}和(3) 输入图中的顶端螺型类型数量,当 l__c。我们还展示了重要的基质交换复杂度分析方法的特殊案例。