众包软件开发:使用PDDL人工智能规划的任务分配

摘要

在众包软件开发(CSD)中,任务发布在一个基于 络的CSD平台上,CSD员工可以竞争任务并赢得奖励。任务搜索和分配是CSD环境的重要方面,然而,影响CSD工作人员分配任务质量和可靠性的问题还有很多,包括所需知识、参与度大、时间复杂和激励动机等。为了吸引合适的人完成正确的任务,行动计划的执行将有助于CSD平台以及CSD工作人员实现与其任务的最佳匹配。

本研究在人工智能(AI)规划中,利用CSD竞争环境中的不同情况,将任务分配方法正式化。这项研究的结果表明,当条件不明确时,分配任务有许多挑战,特别是在竞争环境中。我们的主要关注点是评估人工智能自动化计划,以提供最佳的解决方案,使CSD员工与他们的个性类型相匹配。

关键词

人工智能、众包、个性、规划语言、软件开发、任务

一、说明

众包软件开发(CSD)的开放式调用格式涉及三种类型的角色:请求者(即项目执行者)、平台(即服务提供者)和CS开发人员(即编码和测试人员)。经研究表明,CSD面临着各种问题,例如评估来自开发人员的数千个提交的任务、匹配CS开发人员和任务等等。此外,CSD同时也处理与人类相关的问题。

本研究将运用人工智能的经典规划技术,协助CSD平台和CS开发者根据他们的个性类型匹配,合理地分配和选择任务。通过使用该技术,本研究不仅提供了减少搜索和匹配任务负担的最佳解决方案,而且提高了提供高质量交付成果的效率。

二、研究方法

本研究的重点是通过模拟CSD开发者和任务来寻找以下关键研究问题的可能结果:

(研究问题1)是否可以制定吸引和分配任务的计划,并将其分配给符合CSD任务的任务和个性关系标准的CSD开发者?

(研究问题2)有没有可能制定计划来减轻平台和CSD开发者搜索开放任务的负担,优化CSD开发者的分配和参与?

1、规划的实施

本研究使用人工智能规划系统的规划语言PDDL。在PDDL的第一个模型中,定义了域解释,然后定义了表示情况的问题。在CSD任务分配或排序问题案例中,域描述应该具有定义的对象、谓词和动作,这些对象、谓词和动作必须与任务和CSD开发人员相关。

2、谓词和对象域的解释

当请求者希望通过开放调用格式解决CSD开发人员发布在平台上的任务时,开发人员必须具备解决该任务的要求,同样,任务发布需要为解决方案提供基础。平台是一个代理,初始状态是平台上的任务,目标是将任务分配给符合特定需求的请求者。为了改进任务分配计划,对众包软件开发问题进行了若干预谋要素的分离。

3、领域行动定义

为了生成一个智能的任务匹配计划,需要在算法中定义一些操作。

?匹配:通过考虑个性匹配,尝试匹配CSD开发人员。

?分配:如果任务是根据他/她的个性类型发布的,则将任务分配给匹配的个性。

?提交:将CSD开发者提交的任务标记为已提交。

?审查:提交审查和评估的任务后,进行奖励。

?奖励:如果提交的任务赢得比赛,则支付奖励。

4、问题定义

图1描述了在本研究所呈现的匹配情况下,针对个性和CSD任务的任务需求所建立的背景,包括时间和金钱利益。CSD平台能够匹配CSD开发人员,这些开发人员最适合任务的开发和解决。

图1 CSD元素的映射

5、人工智能计划的生成

本节描述任务和个性类型与不同上下文中的谓词相关联的三种情况。主要目标是改变奖励(R)和时间复杂性(T)这两个变量。为了反映任务匹配领域中的一些固定和正常情况,每个配置都会根据经典规划方法的优缺点生成不同的结果。

情景1:该情景旨在说明一种简单的成功方式,即每个任务都在CSD平台上发布,至少有一个符合标准的匹配人格可用。在CSD上下文中,这种情况只是通过一种关系进行匹配,即在竞争中有足够多的CSD开发人员可用于匹配所有任务条件;系统中的变量不需要调整。对于生成的计划,具有每个任务匹配变量的CSD开发人员是首选的。

情景2:在这种情况下,没有匹配的个性类型可用于注册人群中的单个任务。还提到,与任务和奖励匹配所需的特殊技能也很高,但由于时间复杂,没有CSD开发人员愿意注册自己。

对于这种情况,没有生成任何计划。由于任务分配的目标是分配任务,因此由于时间复杂度因素的影响,不可能找到适合任务的匹配。在分析CSD群组中没有匹配的任务集的请求者时,算法没有生成任何计划。在这种情况下,为了成功实现目标,本研究建议根据情况调整变量,以更好地匹配任务和变量。此外,任务的复杂性得到了缓解。

情景3:这种情况的目的是,在任务与前一种情况不匹配时调整时间复杂性。任务提交时间重置,以吸引更多CSD开发者参与竞争。在这种情况下,计划就是这样产生的。该算法的特点允许根据不同的情况改变变量,例如,增加货币奖励和减少时间复杂性。有人还可以增加时间复杂性因素,减少奖励激励。如果变量具有灵活性,并且至少有一个匹配可用,并且匹配任务和个性关系,则将生成计划。

三、结果和讨论

(研究问题1)是否有可能制定吸引和分配任务给符合任务和CSD任务个性关系标准的CSD开发人员的计划?

当每个任务的需求与至少一个CSD开发人员匹配时,该算法生成计划。还提到,当没有与任务匹配的需求时,算法不会在这种情况下生成计划。很明显,人工智能计划技术总是在寻找一个符合所有要求或至少一个条件的CSD员工,以匹配任务和个性关系,以确保提交的交付质量。

(研究问题2)有没有可能生成计划来减轻平台和CSD开发者搜索开放任务、优化CSD开发者分配和参与的负担?

在竞争环境中,仅考虑经典的规划方法,该算法的结果表明,当优化任何变量时,生成规划是不可能的。无论其可行性是否合适,都会发生这种情况。该方法表明,该算法具有足够的灵活性,能够在不同的环境下对多种配置进行测试,以便与任务类型和个性类型进行最佳匹配,从而在整个研究过程中确定了一个新的研究问题。结果计划是否有助于优化请求者所需解决方案的质量进度?通过设置情景和不同的变量,该算法可以生成更好的计划,如上面的情景3所讨论的。变量的要求应该是灵活的,以达到优化的结果。将合适的任务分配给合适的CSD开发者,根据他/她的个性类型,在众包软件开发中获得利益,探索更多的人工智能规划技术,目前处于初始状态。

四、结论

本研究的主要目的是评估PDDL规划,以提供一种关系,使CSD开发人员与个性和任务相匹配。此外,它还提供了一个高质量的提交,并减少了平台以及CSD开发人员的负担,以匹配任务和CSD开发人员。从结果来看,由于计划员必须对任务和个性类型进行预先分类,因此自动化计划具有显著的影响。还指出,规划算法具有允许变量变化的能力,并提供了更多和适当的匹配。

该规划算法的局限性在于,在CSD任务与开发人员匹配的不灵活条件下,不会生成规划。因此,必须根据情况调整变量,以获得最佳结果。

致谢:

此文由南京大学软件学院2019级硕士王若竹翻译转述。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年4月4日
下一篇 2019年4月5日

相关推荐