亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件眾包工人能力動(dòng)態(tài)度量算法

        2019-01-07 12:25:42余敦輝張萬山
        計(jì)算機(jī)應(yīng)用 2018年12期
        關(guān)鍵詞:度量復(fù)雜度工人

        余敦輝,王 意,張萬山

        (1.湖北大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,武漢 430062; 2.湖北省教育信息化工程技術(shù)中心,武漢 430062)(*通信作者電子郵箱wangyi365@foxmail.com)

        0 引言

        隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,軟件眾包[1]應(yīng)用不斷增長(zhǎng),大量的軟件眾包開發(fā)平臺(tái)(例如Topcoder、Kaggle等)被使用,這些平臺(tái)大多采用在線競(jìng)爭(zhēng)機(jī)制尋找優(yōu)秀工人完成軟件眾包開發(fā)任務(wù)[2]。毋庸置疑,軟件眾包工人能力度量是任務(wù)合理分配的一個(gè)關(guān)鍵因素,但現(xiàn)有的很多平臺(tái)對(duì)工人能力度量研究不夠深入,缺乏對(duì)工人已完成任務(wù)的類型、任務(wù)復(fù)雜度、任務(wù)質(zhì)量、研發(fā)時(shí)間、工人擅長(zhǎng)技能的綜合考慮。對(duì)此,科學(xué)度量軟件眾包工人的能力,是眾包平臺(tái)亟待的一項(xiàng)具有價(jià)值和挑戰(zhàn)意義的工作。

        當(dāng)前,學(xué)術(shù)界對(duì)于軟件眾包工人能力的度量也展開了積極的研究,文獻(xiàn)[3]提出一種面向眾包的基于信譽(yù)值的激勵(lì)機(jī)制,完成眾包工人信譽(yù)值的度量,實(shí)現(xiàn)對(duì)眾包工人的工作能力的衡量,但對(duì)任務(wù)完成質(zhì)量考慮不足;文獻(xiàn)[4]提出一種基于活躍度的眾包工作者信譽(yù)模型,從眾包工人活躍度和歷史信譽(yù)值的角度計(jì)算基于活躍度的工人信譽(yù)值,以衡量工人的工作能力,但缺乏對(duì)任務(wù)復(fù)雜度和工人完成任務(wù)時(shí)間的考慮;文獻(xiàn)[5]基于任務(wù)的客觀難度,實(shí)現(xiàn)工人完成任務(wù)的能力評(píng)估,但缺乏對(duì)任務(wù)類型、任務(wù)開發(fā)時(shí)效的考慮;文獻(xiàn)[6]提出一種基于用戶可靠性的眾包系統(tǒng)任務(wù)分配機(jī)制,利用完成不同類型任務(wù)的可靠性不同,實(shí)現(xiàn)工人能力的度量,但并未考慮任務(wù)復(fù)雜度對(duì)工人能力度量值的影響;文獻(xiàn)[7]提出基于滑動(dòng)任務(wù)窗的眾包質(zhì)量評(píng)估算法,引入專業(yè)準(zhǔn)確率的概念,對(duì)眾包工人能力進(jìn)行度量,但任務(wù)類型、任務(wù)復(fù)雜度對(duì)工人能力度量也有實(shí)際影響;文獻(xiàn)[8]提出一種考慮技能提升的軟件眾包開發(fā)者推薦算法,使用負(fù)指數(shù)學(xué)習(xí)曲線模型預(yù)測(cè)開發(fā)人員技能變化,但并未考慮工人靜態(tài)屬性也會(huì)對(duì)能力度量結(jié)果產(chǎn)生一定影響;文獻(xiàn)[9]提出一種自適應(yīng)的軟件眾包任務(wù)-工人匹配算法,借助可擴(kuò)展的元模型來描述工人技能水平,但缺乏對(duì)任務(wù)技能權(quán)重的考慮;文獻(xiàn)[10]提出一種用于預(yù)測(cè)眾包工人績(jī)效的能力需求方法,使用貝葉斯網(wǎng)絡(luò)模擬不同狀態(tài)的工人能力,雖然考慮了工人各方面能力,但缺乏對(duì)任務(wù)本身特性的考慮;文獻(xiàn)[11]提出基于模糊層次分析法的社交編程網(wǎng)站開發(fā)者度量方法,通過構(gòu)建開發(fā)者度量模型對(duì)開發(fā)者能力具體量化,但欠缺對(duì)工人開發(fā)能力的變化的考慮;文獻(xiàn)[12]提出跨軟件社區(qū)的開發(fā)人員能力自動(dòng)建模方法,借助對(duì)社區(qū)問答(Community Question and Answer, CQA)站點(diǎn)和開源軟件(Open Source Software, OSS)社區(qū)中的異構(gòu)信息挖掘,實(shí)現(xiàn)開發(fā)者的編程能力的建模和評(píng)估,但忽略了工人對(duì)于不同類型的開發(fā)任務(wù)其能力度量值不同所產(chǎn)生的影響。由于任務(wù)類型、任務(wù)復(fù)雜度、任務(wù)完成質(zhì)量、工人擅長(zhǎng)技能等眾多因素都會(huì)影響工人能力高低的判斷,上述研究沒有綜合考慮多方面因素,因此評(píng)估得到的工人能力高低往往不準(zhǔn)確。

        為了解決上述問題,本文提出了一種軟件眾包工人能力動(dòng)態(tài)度量算法(Ability Dynamic Measurement algorithm, ADM),該算法綜合考慮了工人的靜態(tài)技能屬性、已完成任務(wù)的類型、任務(wù)復(fù)雜度、任務(wù)質(zhì)量、任務(wù)開發(fā)時(shí)效、任務(wù)技能覆蓋率、時(shí)間因子等影響工人開發(fā)能力度量的多方面因素,并將這些影響因素進(jìn)行了量化;并且ADM能適用于所有代碼行數(shù)10萬行以下的中小規(guī)模軟件眾包開發(fā)任務(wù),與所使用的軟件開發(fā)語(yǔ)言及任務(wù)性質(zhì)無關(guān)。

        1 軟件眾包工人能力動(dòng)態(tài)度量算法模型

        1.1 問題描述

        ADM算法研究的是基于工人歷史完成的所有軟件眾包任務(wù)預(yù)測(cè)工人對(duì)于待分配任務(wù)的開發(fā)能力。針對(duì)該算法提出如下相關(guān)概念定義:

        定義1 軟件眾包任務(wù)。設(shè)某工人歷史完成的任務(wù)的集合為T={T1,T2,…,Tm},其中,T1,T2,…,Tm表示按照完成時(shí)間先后順序排列的m個(gè)任務(wù)。對(duì)于某個(gè)歷史任務(wù)Tp∈T,用四元組Tp={D,com,qua,eft}來描述,其中:D表示任務(wù)描述信息,包含任務(wù)開發(fā)目標(biāo)、應(yīng)用領(lǐng)域、技能要求、開發(fā)期限等;com表示任務(wù)復(fù)雜度;qua表示任務(wù)完成質(zhì)量;eft表示任務(wù)開發(fā)時(shí)效。用TN表示一個(gè)待分配的軟件眾包任務(wù)。

        用ski表示工人對(duì)于待分配任務(wù)的靜態(tài)技能覆蓋率,ski′表示工人對(duì)于待分配任務(wù)的任務(wù)技能覆蓋率。軟件眾包任務(wù)的開發(fā)技能包括開發(fā)語(yǔ)言、開發(fā)框架、專業(yè)技術(shù)、開發(fā)類型等。任務(wù)技能本身具有技能權(quán)重。

        1.2 基于靜態(tài)技能覆蓋率的能力初始值計(jì)算

        對(duì)于新加入眾包平臺(tái)的工人,還沒有歷史完成任務(wù)記錄,此時(shí),在評(píng)估眾包工人對(duì)于待分配任務(wù)的開發(fā)能力時(shí),則根據(jù)工人在平臺(tái)上注冊(cè)的信息,計(jì)算工人對(duì)于待分配任務(wù)的能力初始值。

        抽取眾包工人在平臺(tái)上注冊(cè)的信息F,包含擅長(zhǎng)的開發(fā)技能、項(xiàng)目經(jīng)驗(yàn)。擅長(zhǎng)的開發(fā)技能和項(xiàng)目經(jīng)驗(yàn)分別對(duì)應(yīng)的權(quán)重為w1和w2,滿足條件:①w1+w2=1;②w1>w2(認(rèn)為工人填寫的擅長(zhǎng)的開發(fā)技能比項(xiàng)目經(jīng)驗(yàn)中包含的技能權(quán)重大)。

        將skiN中的技能si與F0中的所有技能依次進(jìn)行比對(duì),如果si與fv比對(duì)成功(si在F0中存在即為比對(duì)成功),此時(shí)令wh=ws,i及wh′=wf,v,每比對(duì)成功一次h加1,h=1,2,…,q,q表示比對(duì)成功的個(gè)數(shù),由此得到工人對(duì)于待分配任務(wù)TN的靜態(tài)技能覆蓋率為:

        (1)

        將ski作為工人U對(duì)于待分配任務(wù)的初始能力值A(chǔ)0,即A0=ski。

        1.3 基于單個(gè)歷史完成任務(wù)的開發(fā)能力計(jì)算

        眾包工人的開發(fā)能力決定其所勝任的任務(wù)難度,影響任務(wù)的最終完成質(zhì)量,同時(shí)也影響任務(wù)的開發(fā)時(shí)效。

        1.3.1 任務(wù)復(fù)雜度計(jì)算

        工人完成的任務(wù)難度越大,則工人能力越強(qiáng)。軟件眾包任務(wù)的難度用任務(wù)復(fù)雜度表示,基于眾包工人完成任務(wù)后提交的代碼進(jìn)行分析,采用類的方法復(fù)雜度(Method Complexity of per Class, MCC)進(jìn)行度量,參照文獻(xiàn)[13-15]所述軟件復(fù)雜度計(jì)算方法計(jì)算而來。

        設(shè)工人完成的任務(wù)Tp包含的類的集合為C={c1,c2,…,cx},x表示類的個(gè)數(shù),類ci(i=1,2,…,x)包含的方法的集合為Mi={mi,1,mi,2,…,mi,y},y表示方法的個(gè)數(shù),方法mi, j(j=1,2,…,y)對(duì)應(yīng)的復(fù)雜度為mcci, j,復(fù)雜度mcci, j采用McCabe度量方法計(jì)算,計(jì)算式為:

        mcci,j=N(mi, j)+1

        其中N(mi,j)表示方法mi, j中包含的判定節(jié)點(diǎn)數(shù)。

        參考開源的Eclipse插件Metris工具所給出的判定節(jié)點(diǎn)的范圍,將判定節(jié)點(diǎn)確定為:if、for、while、do、case、catch、&&、||、:?(三目運(yùn)算符)。由此得到任務(wù)Tp的類的方法復(fù)雜度為:

        (2)

        將其歸一化,得到任務(wù)Tp的復(fù)雜度為:

        (3)

        圖1 任務(wù)復(fù)雜度計(jì)算函數(shù)曲線Fig.1 Calculation function curve of task complexity

        1.3.2 任務(wù)完成質(zhì)量計(jì)算

        工人完成的軟件眾包任務(wù)獲得的評(píng)價(jià)越高,則任務(wù)完成質(zhì)量越高。任務(wù)完成質(zhì)量越高,則工人能力越強(qiáng)。任務(wù)完成質(zhì)量高低可以由任務(wù)發(fā)布方對(duì)工人提交的任務(wù)結(jié)果的評(píng)價(jià)和用戶使用軟件后反饋的評(píng)價(jià)作為度量依據(jù)。

        任務(wù)發(fā)布方對(duì)工人提交的任務(wù)結(jié)果的評(píng)價(jià)采用多數(shù)表決(Majority Voting, MV)機(jī)制進(jìn)行打分,是站在軟件功能、性能的角度進(jìn)行的評(píng)價(jià)。設(shè)對(duì)任務(wù)Tp的質(zhì)量評(píng)價(jià)為e1,e1∈[0,1],e1值越大,說明工人完成任務(wù)Tp的質(zhì)量越高,反之則說明質(zhì)量越低。

        由于已將軟件項(xiàng)目分解為多個(gè)開發(fā)模塊任務(wù),用戶對(duì)包含任務(wù)Tp的軟件的評(píng)價(jià)即為用戶對(duì)任務(wù)Tp的評(píng)價(jià),是站在用戶體驗(yàn)的角度進(jìn)行的評(píng)價(jià)。設(shè)參與任務(wù)Tp評(píng)價(jià)的用戶數(shù)為num,用戶i對(duì)任務(wù)Tp評(píng)價(jià)為pi,pi∈[0,1],則用戶對(duì)任務(wù)Tp的平均評(píng)分為:

        (4)

        由此得到任務(wù)Tp的完成質(zhì)量為:

        qua=μ·e1+(1-μ)·e2

        (5)

        其中:μ表示質(zhì)量評(píng)價(jià)系數(shù),由于任務(wù)發(fā)布方相對(duì)于用戶更能準(zhǔn)確評(píng)價(jià)任務(wù)完成質(zhì)量,因此所占比重大,所以設(shè)置μ∈(0.5,1)。在實(shí)際應(yīng)用中,取μ=0.7較為合理。

        1.3.3 任務(wù)開發(fā)時(shí)效計(jì)算

        對(duì)于任務(wù)Tp,在任務(wù)發(fā)布方給定的開發(fā)期限內(nèi),工人實(shí)際開發(fā)時(shí)間越短,則開發(fā)時(shí)效越高。開發(fā)時(shí)效越高,則工人能力越強(qiáng)。設(shè)任務(wù)開發(fā)期限為t1,工人實(shí)際完成時(shí)間為t2(以天為單位計(jì)算),基于任務(wù)開發(fā)期限和工人實(shí)際完成時(shí)間,引入反正切歸一化函數(shù)[4]并修正,得到任務(wù)開發(fā)時(shí)效為:

        (6)

        任務(wù)開發(fā)時(shí)效計(jì)算函數(shù)曲線如圖2所示(此時(shí)假設(shè)t1=15)。從圖2可以看出,當(dāng)t2=t1時(shí),任務(wù)開發(fā)時(shí)效eft=0.5;當(dāng)t2值接近t1時(shí),eft變化速率增大;當(dāng)t2值遠(yuǎn)離t1時(shí),eft變化速率減小。

        圖2 任務(wù)開發(fā)時(shí)效計(jì)算函數(shù)曲線Fig.2 Calculation function curve of task development time efficiency

        1.3.4 開發(fā)能力綜合計(jì)算

        基于眾包工人U歷史完成的單個(gè)任務(wù)Tp,由任務(wù)復(fù)雜度com、任務(wù)完成質(zhì)量qua、任務(wù)開發(fā)時(shí)效eft,得到工人完成任務(wù)Tp的開發(fā)能力度量公式為:

        (7)

        其中φ表示能力度量系數(shù),由于任務(wù)完成質(zhì)量相對(duì)于任務(wù)開發(fā)時(shí)效更能體現(xiàn)工人開發(fā)能力,因此所占比重大,所以設(shè)置φ∈(0.5,1)。實(shí)驗(yàn)結(jié)果表明,當(dāng)φ=0.7時(shí)效果最佳。

        工人近期完成的軟件眾包任務(wù)更能真實(shí)地反映工人當(dāng)前開發(fā)能力,假如工人一段時(shí)間內(nèi)沒有任務(wù)完成記錄,則認(rèn)為該工人開發(fā)能力會(huì)有所下降。因此,引入時(shí)間因子t,t表示工人歷史完成的任務(wù)Tp距離當(dāng)前時(shí)間的時(shí)間間隔(以月為單位計(jì)算,不滿一個(gè)月按0計(jì)算)。定義工人完成任務(wù)Tp的開發(fā)能力隨時(shí)間衰減的函數(shù)為:

        (8)

        計(jì)算開發(fā)能力隨時(shí)間衰減只針對(duì)工人最后完成的單個(gè)歷史任務(wù),并且滿足條件Ap>0,即t<1/λ。其中λ表示能力衰減系數(shù),λ∈(0,0.1),以此激勵(lì)工人持續(xù)完成軟件眾包開發(fā)任務(wù)。實(shí)驗(yàn)結(jié)果表明,當(dāng)λ=0.03時(shí)效果最佳。

        1.4 基于所有歷史完成任務(wù)的能力度量值動(dòng)態(tài)更新

        基于工人歷史完成的所有任務(wù)的集合T,得到工人開發(fā)能力動(dòng)態(tài)更新公式為:

        (9)

        其中:p=0表示該工人歷史完成任務(wù)集合T為?;ε表示能力更新系數(shù),由于工人所有歷史任務(wù)完成情況相對(duì)于當(dāng)前任務(wù)完成情況更能體現(xiàn)工人開發(fā)能力,因此所占比重大,所以設(shè)置ε∈(0.5,1)。實(shí)驗(yàn)結(jié)果表明,當(dāng)ε=0.8時(shí)效果最佳。

        1.5 基于歷史任務(wù)技能覆蓋率的開發(fā)能力計(jì)算

        當(dāng)工人歷史完成的所有任務(wù)對(duì)于待分配任務(wù)TN的技能覆蓋率越高,則工人更擅長(zhǎng)完成任務(wù)TN,此時(shí),認(rèn)為工人對(duì)于任務(wù)TN的開發(fā)能力也越高。

        1.5.1 歷史任務(wù)技能覆蓋率計(jì)算

        對(duì)于工人歷史完成的所有任務(wù)的集合T,從每個(gè)任務(wù)的任務(wù)描述D中提取出相關(guān)的開發(fā)技能,得到每個(gè)任務(wù)包含的技能集合,以及每個(gè)技能對(duì)應(yīng)的技能權(quán)重。對(duì)所有歷史任務(wù)包含的技能進(jìn)行分類,相同的技能分為一類,由不同類的技能組成新的技能集合。將相同類中所有技能對(duì)應(yīng)的技能權(quán)重相加求和,將求得的和除以m(m表示集合T中任務(wù)的個(gè)數(shù))得到該類技能對(duì)應(yīng)的新的技能權(quán)重。新的技能集合以及新的技能權(quán)重描述如下。

        與1.2節(jié)中計(jì)算靜態(tài)技能覆蓋率方法相同,將待分配任務(wù)TN的技能集合skiN中的技能與歷史任務(wù)技能集合skiT中的所有技能依次進(jìn)行比對(duì),計(jì)算得到工人對(duì)于待分配任務(wù)TN的任務(wù)技能覆蓋率為ski′。

        1.5.2 開發(fā)能力最終計(jì)算

        基于歷史任務(wù)技能覆蓋率ski′,得到工人對(duì)于待分配任務(wù)TN的開發(fā)能力為:

        (10)

        綜上可知,工人想要提升能力度量值并且獲得待分配任務(wù),則需要持續(xù)高質(zhì)量、高時(shí)效的完成復(fù)雜度較高的且擅長(zhǎng)技能相似的開發(fā)任務(wù),從而對(duì)眾包工人產(chǎn)生激勵(lì)作用。

        2 ADM算法

        2.1 ADM算法具體實(shí)現(xiàn)

        ADM算法的輸入為某眾包工人U、該工人歷史完成的所有軟件眾包任務(wù)集合T和待分配任務(wù)TN,計(jì)算出眾包工人U對(duì)于待分配任務(wù)TN的動(dòng)態(tài)開發(fā)能力AT,N,并將AT,N作為輸出返回給眾包平臺(tái)。

        ADM算法的具體執(zhí)行過程如算法1所示。

        算法1 能力動(dòng)態(tài)度量算法ADM。

        輸入 眾包工人U,工人歷史完成的所有軟件眾包任務(wù)集合T,待分配任務(wù)TN。

        輸出 工人動(dòng)態(tài)開發(fā)能力度量值A(chǔ)T,N。

        基于靜態(tài)技能覆蓋率ski計(jì)算工人初始能力值A(chǔ)0;

        ifT≠?;

        將T中的任務(wù)按照完成的時(shí)間先后順序進(jìn)行排序;

        for (每個(gè)任務(wù)Tp∈T)

        通過McCabe度量方法計(jì)算任務(wù)復(fù)雜度com;

        綜合任務(wù)發(fā)布者和用戶的打分計(jì)算任務(wù)完成質(zhì)量qua;

        通過任務(wù)開發(fā)期限和工人實(shí)際開發(fā)時(shí)間計(jì)算任務(wù)開發(fā)時(shí)效

        eft;

        基于時(shí)間因子t,計(jì)算工人完成任務(wù)Tp隨時(shí)間衰減的開發(fā)能

        力Ap;

        基于工人歷史完成的所有任務(wù),按照任務(wù)完成的時(shí)間先后順

        end for;

        通過任務(wù)技能權(quán)重計(jì)算歷史任務(wù)技能覆蓋率ski′;

        基于ski′計(jì)算工人對(duì)于待分配任務(wù)TN的開發(fā)能力AT,N;

        end if;

        returnAT,N。

        根據(jù)上述算法,計(jì)算出工人對(duì)于待分配任務(wù)的開發(fā)能力,眾包平臺(tái)可以基于工人開發(fā)能力合理分配任務(wù)。

        2.2 算法復(fù)雜度分析

        ADM算法復(fù)雜度主要由兩部分構(gòu)成:1)基于靜態(tài)技能覆蓋率計(jì)算中,時(shí)間復(fù)雜度主要由技能歸類和技能比對(duì)時(shí)產(chǎn)生,由工人注冊(cè)信息包含的技能個(gè)數(shù)n1與待分配任務(wù)包含的技能個(gè)數(shù)n2決定,為O(n1·n2)。2)基于歷史任務(wù)技能覆蓋率計(jì)算中,時(shí)間復(fù)雜度主要由技能歸類和技能比對(duì)時(shí)產(chǎn)生,由所有歷史任務(wù)包含的技能個(gè)數(shù)n3與待分配任務(wù)包含的技能個(gè)數(shù)n2決定,為O(n2·n3)。由此得到ADM算法復(fù)雜度的量級(jí)為O((n1+n3)·n2)。

        3 實(shí)驗(yàn)結(jié)果與分析

        為了驗(yàn)證本文所提出的ADM算法的合理性與有效性,從開源中國(guó)眾包平臺(tái)上抓取了1 000個(gè)眾包工人、6 000個(gè)歷史完成的軟件眾包開發(fā)任務(wù)和500個(gè)待分配任務(wù),將其作為實(shí)驗(yàn)數(shù)據(jù)集。抓取的任務(wù)包括移動(dòng)應(yīng)用、H5應(yīng)用、微信應(yīng)用、企業(yè)應(yīng)用、Web應(yīng)用、工具應(yīng)用、桌面應(yīng)用、嵌入式應(yīng)用、游戲開發(fā)等類型。對(duì)抓取的數(shù)據(jù)進(jìn)行預(yù)處理后,任務(wù)信息包括開發(fā)技能及對(duì)應(yīng)的技能權(quán)重、開發(fā)期限、工人實(shí)際開發(fā)時(shí)間(天)、完成任務(wù)時(shí)距離當(dāng)前時(shí)間間隔(月)、任務(wù)發(fā)布方和用戶對(duì)任務(wù)質(zhì)量的評(píng)分,工人信息包括擅長(zhǎng)的開發(fā)技能及對(duì)應(yīng)的技能熟練程度、多個(gè)項(xiàng)目經(jīng)驗(yàn)。

        3.1 相關(guān)參數(shù)的確定

        基于數(shù)據(jù)集中選取的1 000個(gè)眾包工人,將每個(gè)工人歷史完成的軟件眾包任務(wù)按照任務(wù)完成時(shí)間先后順序排序。

        對(duì)于每個(gè)工人歷史完成的每個(gè)任務(wù):①計(jì)算任務(wù)完成質(zhì)量qua,將qua作為工人完成此任務(wù)的實(shí)際開發(fā)能力值,記為A′;②計(jì)算工人在此任務(wù)之前完成的所有任務(wù)對(duì)于此任務(wù)的預(yù)測(cè)能力值,記為A;③計(jì)算預(yù)測(cè)能力值與實(shí)際開發(fā)能力值之間的吻合度,記為fg=1-|(A-A′)/A′|。對(duì)于每個(gè)工人歷史完成所有任務(wù),計(jì)算吻合度平均值。進(jìn)行如下驗(yàn)證實(shí)驗(yàn):

        1)能力衰減系數(shù)λ與吻合度平均值之間的關(guān)系。

        在λ分別取值為0.01,0.02,…,0.09時(shí),計(jì)算得到系數(shù)λ與吻合度平均值之間的關(guān)系,結(jié)果如圖3(a)所示。

        2)能力更新系數(shù)ε與吻合度平均值之間的關(guān)系。

        在ε分別取值為0.55,0.60,…,0.95時(shí),計(jì)算得到系數(shù)ε與吻合度平均值之間的關(guān)系如圖3(b)所示。

        3)能力度量系數(shù)φ與吻合度平均值之間的關(guān)系。

        在φ分別取值為0.55,0.60,…,0.95時(shí),計(jì)算得到系數(shù)φ與吻合度平均值之間的關(guān)系如圖3(c)所示。

        由圖3(a)可知,當(dāng)能力衰減系數(shù)λ=0.03時(shí),工人預(yù)測(cè)能力值與實(shí)際開發(fā)能力值之間的吻合度平均值最高,達(dá)到87.2%;由圖3(b)可知,當(dāng)能力更新系數(shù)ε=0.8時(shí),吻合度

        平均值最高,達(dá)到88.6%;由圖3(c)可知,當(dāng)能力度量系數(shù)φ=0.7時(shí),吻合度平均值最高,達(dá)到86.8%。

        3.2 合理性驗(yàn)證

        為驗(yàn)證眾包工人每次完成任務(wù)后能力度量值變化情況,首先計(jì)算工人完成單個(gè)任務(wù)的能力值,然后計(jì)算工人完成此任務(wù)后動(dòng)態(tài)更新的能力值,得到工人能力度量值動(dòng)態(tài)更新過程如圖4所示。

        由圖4可知,當(dāng)工人完成單個(gè)任務(wù)的能力值高于前一次動(dòng)態(tài)更新的能力值時(shí),工人的能力值增加,反之能力值下降;并且隨著完成任務(wù)個(gè)數(shù)的增加,工人的能力值也在緩慢地增加或減少,不會(huì)因?yàn)橐淮?、兩次較好或者較差地完成開發(fā)任務(wù)而對(duì)工人能力度量值有較大影響。

        隨著工人完成任務(wù)數(shù)量的增加,歷史任務(wù)包含的開發(fā)技能會(huì)增多,歷史任務(wù)技能覆蓋率就會(huì)增加,工人熟悉的技能增多,任務(wù)完成質(zhì)量會(huì)提高、開發(fā)時(shí)效會(huì)加快,能力度量值會(huì)增大,工人能力增強(qiáng),可能會(huì)請(qǐng)求難度更高的任務(wù)。但工人有時(shí)完成任務(wù)情況不好,能力度量值也會(huì)有所波動(dòng)。

        3.3 有效性驗(yàn)證

        將ADM與文獻(xiàn)[6]中的用戶可靠性度量算法(User Reliability Measurement algorithm, URM)進(jìn)行對(duì)比實(shí)驗(yàn)。URM根據(jù)用戶完成任務(wù)的質(zhì)量評(píng)價(jià)更新用戶可靠性,計(jì)算式為:

        1)歷史任務(wù)時(shí)間周期對(duì)算法效果的影響。

        設(shè)定時(shí)間因子t=0,計(jì)算1 000個(gè)眾包工人能力吻合度平均值,在每輪計(jì)算中依次使時(shí)間因子t增加1,得到時(shí)間因子t與能力吻合度之間的關(guān)系如圖5所示。

        由圖5可知,URM隨著時(shí)間因子t的增加,能力吻合度會(huì)逐漸降低,根據(jù)URM計(jì)算的工人能力預(yù)測(cè)值只考慮任務(wù)完成質(zhì)量,將工人之前完成任務(wù)的情況用于衡量工人完成下一個(gè)任務(wù)的預(yù)測(cè)能力值,而實(shí)際上工人完成的任務(wù)距離當(dāng)前時(shí)間越遠(yuǎn),工人實(shí)際開發(fā)能力值會(huì)有所下降,完成下一個(gè)任務(wù)的質(zhì)量可能會(huì)降低,因此能力預(yù)測(cè)值與實(shí)際開發(fā)能力值之間的誤差會(huì)增大,吻合度會(huì)降低。

        圖5 時(shí)間因子t與能力吻合度之間的關(guān)系Fig. 5 Relationship between time factor t and coincidence degree of ability

        ADM隨著時(shí)間因子t的增加,能力吻合度基本保持在85%附近,因?yàn)樵谀芰Χ攘窟^程中考慮了時(shí)間因子t對(duì)工人能力度量值的影響,能力預(yù)測(cè)值與實(shí)際開發(fā)能力值之間的誤差會(huì)比較小,因此能力吻合度并不受時(shí)間因子t的影響。當(dāng)t≥1/λ時(shí),工人能力不再衰減,所以ADM在時(shí)間周期1/λ內(nèi)有效。

        2)歷史任務(wù)數(shù)量對(duì)算法效果的影響。

        計(jì)算工人每完成一個(gè)任務(wù)對(duì)于下一個(gè)任務(wù)的預(yù)測(cè)能力值。得到歷史任務(wù)數(shù)量與能力吻合度之間的關(guān)系如圖6所示。

        圖6 歷史任務(wù)數(shù)量與能力吻合度之間的關(guān)系Fig. 6 Relationship between number of historical tasks and coincidence degree of ability

        由圖6可知,URM隨著歷史完成任務(wù)數(shù)量的增加,能力吻合度快速上升,逐漸趨于穩(wěn)定,保持在82%附近。ADM隨著歷史完成任務(wù)數(shù)量的增加,能力吻合度起初會(huì)逐漸緩慢地增加,最高達(dá)到90.5%,然后保持在89%附近。

        在URM中,考慮了任務(wù)類型和任務(wù)完成質(zhì)量,在ADM中,考慮了任務(wù)技能和任務(wù)完成質(zhì)量等多因素。隨著歷史任務(wù)數(shù)量的增加,兩種算法工人完成任務(wù)會(huì)更熟練,任務(wù)完成質(zhì)量會(huì)提高,計(jì)算的預(yù)測(cè)能力值會(huì)更符合實(shí)際能力值,因此吻合度會(huì)上升。

        歷史任務(wù)數(shù)量對(duì)ADM效果的影響比較小,因?yàn)槊總€(gè)工人對(duì)于待分配任務(wù)的預(yù)測(cè)能力值都是基于歷史任務(wù)完成情況以及技能覆蓋率來計(jì)算的。在歷史任務(wù)數(shù)量不足的情況下,同樣能較準(zhǔn)確地計(jì)算出不同工人對(duì)于同一個(gè)待分配任務(wù)的預(yù)測(cè)能力值,能有效地將不同工人的開發(fā)能力區(qū)別開來,因此,眾包平臺(tái)可以基于工人開發(fā)能力合理分配任務(wù)。

        4 結(jié)語(yǔ)

        本文針對(duì)軟件眾包平臺(tái)中的工人能力度量算法進(jìn)行研究,綜合考慮了工人靜態(tài)技能屬性、任務(wù)類型、任務(wù)復(fù)雜度、任務(wù)質(zhì)量、任務(wù)開發(fā)時(shí)效、任務(wù)技能覆蓋率等影響工人開發(fā)能力度量的多方面因素,并將這些影響因素進(jìn)行了量化,從而提出了一種軟件眾包工人能力動(dòng)態(tài)度量算法(ADM),實(shí)現(xiàn)了工人能力的度量和動(dòng)態(tài)更新,以激勵(lì)工人持續(xù)高質(zhì)量、高時(shí)效地完成軟件眾包任務(wù)。該算法主要解決了已有研究中存在的工人能力考慮不足而導(dǎo)致分配給工人的任務(wù)完成質(zhì)量低下的問題。仿真實(shí)驗(yàn)結(jié)果驗(yàn)證了所提算法的合理性與有效性,為后續(xù)研究基于工人的能力度量值進(jìn)行多任務(wù)-多工人分配提供了理論依據(jù)。

        猜你喜歡
        度量復(fù)雜度工人
        有趣的度量
        為了不吃預(yù)制菜,打工人有多努力
        模糊度量空間的強(qiáng)嵌入
        迷向表示分為6個(gè)不可約直和的旗流形上不變愛因斯坦度量
        一種低復(fù)雜度的慣性/GNSS矢量深組合方法
        求圖上廣探樹的時(shí)間復(fù)雜度
        地質(zhì)異常的奇異性度量與隱伏源致礦異常識(shí)別
        某雷達(dá)導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進(jìn)
        調(diào)配工人
        讀寫算(下)(2015年11期)2015-11-07 07:21:09
        基層關(guān)工人的夢(mèng)
        国产内射999视频一区| 免费看草逼操爽视频网站| 女优av一区二区在线观看| 亚洲国产精品无码一线岛国| 日本真人做人试看60分钟| 最新国产乱人伦偷精品免费网站| 三级国产女主播在线观看| 国产av一区二区三区国产福利| 91久久国产香蕉熟女线看| 精品国产天堂综合一区在线 | 久久精品国产9久久综合| 精品人妻少妇一区二区中文字幕| 日本一区二区三区啪啪| 日本免费影片一区二区| 精品人妻码一区二区三区剧情| 十八禁在线观看视频播放免费 | 亚洲日韩av无码| 乱中年女人伦av| 美腿丝袜一区二区三区| 国产免费成人自拍视频| 中国孕妇变态孕交xxxx| 国产乱子伦农村叉叉叉| 精品国产福利久久久| 在线观看人成网站深夜免费| 开心久久综合婷婷九月| 久久精品国产亚洲7777| 亚洲中文字幕无码mv| 69堂在线无码视频2020| 天堂一区二区三区精品| 一边摸一边抽搐一进一出口述| 国产精品无码久久久久| 久久国产影视免费精品| 日韩精品一区二区三区免费观影| 国产农村妇女精品一区| 亚洲色欲色欲大片www无码| 亚州精品无码人妻久久| 国产人妖一区二区av| 久久精品人搡人妻人少妇 | 精品女厕偷拍视频一区二区| 麻豆蜜桃av蜜臀av色欲av| 亚洲一区av无码少妇电影|