本發(fā)明涉及社交網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是指一種基于連續(xù)松弛的多角色社會活動(dòng)組織方法。
背景技術(shù):
近幾年來,隨著社交網(wǎng)絡(luò)的發(fā)展,以社會活動(dòng)為主的基于事件的社交網(wǎng)絡(luò)出現(xiàn)并飛速發(fā)展,使得社會活動(dòng)組織問題受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注?;谑录纳缃痪W(wǎng)絡(luò)給用戶提供了創(chuàng)建、發(fā)布和組織社會活動(dòng)的平臺。
社會活動(dòng)的成功舉辦需要滿足多方面的限制條件:活動(dòng)舉辦時(shí)間、地點(diǎn)、參與者人數(shù)和參與者角色等。由于通過社交網(wǎng)絡(luò)平臺報(bào)名參與活動(dòng)的候選參與者不能保證滿足社會活動(dòng)所有需求,因此活動(dòng)組織者需要依賴社交網(wǎng)絡(luò)平臺挑選合適的活動(dòng)參與者,使得在滿足社會活動(dòng)基本需求的前提下,最大化活動(dòng)參與者的意愿度。將此種幫助活動(dòng)組織者挑選合適參與者的問題稱為社會活動(dòng)組織問題。
現(xiàn)有技術(shù)中存在一些關(guān)于社會活動(dòng)組織問題的研究,其旨在滿足社會活動(dòng)參與人數(shù)的前提下,最大化活動(dòng)參與者的意愿度,但其均沒有考慮社會活動(dòng)中的角色需求。在實(shí)際生活中,部分社會活動(dòng)對于參與者的角色是有要求的(例如,一個(gè)技術(shù)會議,所需活動(dòng)參與者為來自幾個(gè)不同技術(shù)領(lǐng)域的專家,其中參與者所在技術(shù)領(lǐng)域即為參與者角色)。所以現(xiàn)有技術(shù)不能滿足實(shí)際應(yīng)用的需要。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提出一種基于連續(xù)松弛的多角色社會活動(dòng)組織方法,能夠幫助活動(dòng)組織者在候選的活動(dòng)參與者中挑選合適的活動(dòng)參與者,使得在滿足活動(dòng)人數(shù)、角色要求的同時(shí),最大化活動(dòng)參與者意愿度。
基于上述目的本發(fā)明提供的一種基于連續(xù)松弛的多角色社會活動(dòng)組織方法,包括:
將報(bào)名參與社會活動(dòng)的候選參與者及其關(guān)系抽象為社交網(wǎng)絡(luò);
根據(jù)所述社交網(wǎng)絡(luò)確定多角色社會活動(dòng)組織問題;
將所述多角色社會活動(dòng)組織問題轉(zhuǎn)化為無約束的連續(xù)問題,獲得目標(biāo)函數(shù);
求解所述目標(biāo)函數(shù)的近似解,獲得參與者集合;
根據(jù)所述參與者集合確定所述社會活動(dòng)的參與者。
在一些實(shí)施方式中,所述社交網(wǎng)絡(luò)表達(dá)為帶權(quán)無向圖g=(v,e);其中,v表示社交網(wǎng)絡(luò)中所有節(jié)點(diǎn)的集合,每個(gè)節(jié)點(diǎn)vi∈v代表一個(gè)候選參與者;e表示社交網(wǎng)絡(luò)中所有邊的集合,每條邊eij∈e上的邊權(quán)值τij代表兩個(gè)候選參與者vi與vj之間的社會關(guān)系程度;
節(jié)點(diǎn)vi包括點(diǎn)權(quán)值ηi和屬性值ri;其中,點(diǎn)權(quán)值ηi代表候選參與者vi對于所述社會活動(dòng)的興趣度,屬性值ri=ru∈r,表示活動(dòng)候選參與者vi的角色屬性為ru,且具有唯一的角色屬性。
在一些實(shí)施方式中,所述參與者集合為f,其表示為:由節(jié)點(diǎn)集合v中挑選出的k個(gè)節(jié)點(diǎn)。
在一些實(shí)施方式中,所述多角色社會活動(dòng)組織問題的表達(dá)式為:
s.t.|fu|=ku
dis(vi,vj)≤m
其中,參與者集合f中的節(jié)點(diǎn)屬性為ru的節(jié)點(diǎn)個(gè)數(shù)需為特定值ku,即|fu|=ku,節(jié)點(diǎn)個(gè)數(shù)需為特定值k,即|f|=k=k1+k2+…+ku+…+ku;參與者集合f的導(dǎo)出子圖中任意兩個(gè)節(jié)點(diǎn)的距離不能超過特定值m,即dis(vivj)≤m,其中兩個(gè)節(jié)點(diǎn)之間距離為最短路徑的長度。
在一些實(shí)施方式中,所述將所述多角色社會活動(dòng)組織問題轉(zhuǎn)化為無約束的連續(xù)問題,獲得目標(biāo)函數(shù)包括:
使用罰函數(shù)技術(shù)將所述多角色社會活動(dòng)組織問題轉(zhuǎn)化為無約束的離散問題,獲得待用目標(biāo)函數(shù);
其中,罰函數(shù)技術(shù)使用的懲罰因子為:
其中,當(dāng)參與者集合f中的所有節(jié)點(diǎn)滿足約束條件時(shí),懲罰因子pen(f)的值為零;當(dāng)參與者集合f中存在不滿足約束條件的節(jié)點(diǎn)時(shí),懲罰因子pen(f)的值為大于零的正值,其中不滿足約束條件的節(jié)點(diǎn)越多,pen(f)值越大;
相應(yīng)的,所述多角色社會活動(dòng)組織問題簡化表示為:
maxh(f)=max{vv(f)+2ee(f)}
s.t.|fu|=ku,
dis(vi,vj)≤m
其中,
所述待用目標(biāo)函數(shù)為:
max{vv(f)+2ee(f)-γpen(f)}
其中,參數(shù)
在一些實(shí)施方式中,所述將所述多角色社會活動(dòng)組織問題轉(zhuǎn)化為無約束的連續(xù)問題,獲得目標(biāo)函數(shù)包括:
基于所述待用目標(biāo)函數(shù),將所述無約束的離散問題轉(zhuǎn)化為所述無約束的連續(xù)問題,獲得所述目標(biāo)函數(shù);
其中,使用lovaszextensions擴(kuò)展將所述無約束的離散問題轉(zhuǎn)化為所述無約束的連續(xù)問題,具體包括:將參與者集合f的決策變量的值域由{0,1}n放松到[0,1]n,令
fi:={j∈v|fj≥fi}(f={0,1}n,|v|=n)
當(dāng)節(jié)點(diǎn)vj的值fj大于等于閾值fi時(shí),節(jié)點(diǎn)vj的狀態(tài)值為1,表示節(jié)點(diǎn)vj為符合要求的節(jié)點(diǎn);反之,節(jié)點(diǎn)的狀態(tài)值為0,表示節(jié)點(diǎn)不符合要求;
所述目標(biāo)函數(shù)為:
max{vvl(f)+2eel(f)-γpenl(f)}。
在一些實(shí)施方式中,所述將所述多角色社會活動(dòng)組織問題轉(zhuǎn)化為無約束的連續(xù)問題,獲得目標(biāo)函數(shù)包括:
使用rationdca算法求解所述目標(biāo)函數(shù)的近似解,獲得所述參與者集合。
從上面所述可以看出,本發(fā)明提供的基于連續(xù)松弛的多角色社會活動(dòng)組織方法,基于事件的社交網(wǎng)絡(luò)中當(dāng)報(bào)名的活動(dòng)參與者人數(shù)超出了活動(dòng)所能容納的人數(shù)時(shí)且活動(dòng)對于參與者有角色需求時(shí),幫助活動(dòng)組織者在候選的活動(dòng)參與者中挑選合適的活動(dòng)參與者,使得在滿足活動(dòng)人數(shù)、角色要求的同時(shí),最大化活動(dòng)參與者意愿度。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例的基于連續(xù)松弛的多角色社會活動(dòng)組織方法流程圖;
圖2為本發(fā)明實(shí)施例中的多角色的社會活動(dòng)組織實(shí)例示意圖;
圖3為本發(fā)明實(shí)施例中的多角色的社會活動(dòng)組織實(shí)例處理結(jié)果示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
本發(fā)明實(shí)施例提供了一種基于連續(xù)松弛的多角色社會活動(dòng)組織方法。參考圖1,為本發(fā)明實(shí)施例的基于連續(xù)松弛的多角色社會活動(dòng)組織方法流程圖。
所述基于連續(xù)松弛的多角色社會活動(dòng)組織方法,包括以下步驟:
步驟101、將報(bào)名參與社會活動(dòng)的候選參與者及其關(guān)系抽象為社交網(wǎng)絡(luò);
步驟102、根據(jù)所述社交網(wǎng)絡(luò)確定多角色社會活動(dòng)組織問題;
步驟103、將所述多角色社會活動(dòng)組織問題轉(zhuǎn)化為無約束的連續(xù)問題,獲得目標(biāo)函數(shù);
步驟104、求解所述目標(biāo)函數(shù)的近似解,獲得參與者集合;
步驟105、根據(jù)所述參與者集合確定所述社會活動(dòng)的參與者。
由上述實(shí)施例可見,本發(fā)明實(shí)施例的基于連續(xù)松弛的多角色社會活動(dòng)組織方法,基于事件的社交網(wǎng)絡(luò)中當(dāng)報(bào)名的活動(dòng)參與者人數(shù)超出了活動(dòng)所能容納的人數(shù)時(shí)且活動(dòng)對于參與者有角色需求時(shí),幫助活動(dòng)組織者在候選的活動(dòng)參與者中挑選合適的活動(dòng)參與者,使得在滿足活動(dòng)人數(shù)、角色要求的同時(shí),最大化活動(dòng)參與者意愿度。
下面通過一個(gè)具體的實(shí)施例進(jìn)一步說明本發(fā)明的基于連續(xù)松弛的多角色社會活動(dòng)組織方法。
本實(shí)施例中,首先建立多角色社會活動(dòng)的組織問題的形式化描述,其具體包括:
社交網(wǎng)絡(luò):本發(fā)明將報(bào)名參與活動(dòng)的候選參與者及其關(guān)系抽象為社交網(wǎng)絡(luò),標(biāo)記為帶權(quán)無向圖g=(v,e)。其中v表示社交網(wǎng)絡(luò)中所有節(jié)點(diǎn)的集合,每個(gè)節(jié)點(diǎn)vi∈v代表一個(gè)候選參與者,節(jié)點(diǎn)上的點(diǎn)權(quán)值ηi代表一個(gè)候選參與者(即節(jié)點(diǎn)vi)對于此活動(dòng)的興趣度,值越大表示對此活動(dòng)的興趣度越高,相反則越低。e表示社交網(wǎng)絡(luò)中所有邊的集合,每條邊eij∈e上的邊權(quán)值τij代表兩個(gè)候選參與者vi與vj之間的社會關(guān)系程度,值越大表示兩個(gè)候選參與者之間的關(guān)系越親密。
多角色:假設(shè)活動(dòng)需要u種角色的活動(dòng)參與者,r={r1,r2,…ru,…ru}表示所需的u種角色的集合。節(jié)點(diǎn)vi上的屬性值ri=ru∈r,表示活動(dòng)候選參與者vi的角色屬性為ru,且只有唯一的角色屬性。
多角色社會活動(dòng)組織問題:從節(jié)點(diǎn)集合v中挑選k個(gè)節(jié)點(diǎn)組成滿足下述條件的結(jié)果f(結(jié)果f,即參與者集合f,后均使用結(jié)果f表示)。1)f中的節(jié)點(diǎn)屬性為ru的節(jié)點(diǎn)個(gè)數(shù)需為特定值ku,即|fu|=ku,節(jié)點(diǎn)個(gè)數(shù)需為特定值k,即|f|=k=k1+k2+…+ku+…+ku;2)f的導(dǎo)出子圖中任意兩個(gè)節(jié)點(diǎn)的距離不能超過特定值m,即dis(vi,vj)≤m,其中兩個(gè)節(jié)點(diǎn)之間距離為最短路徑的長度;3)f相比于其他節(jié)點(diǎn)集合,其意愿度為最大,其中意愿度的衡量為節(jié)點(diǎn)上權(quán)重值與邊上的權(quán)重值之和,即
s.t.|fu|=ku
dis(vi,vj)≤m。
然后,本實(shí)施例通過基于連續(xù)松弛的多角色社會活動(dòng)組織算法(mrsao-cr)對上述的多角色社會活動(dòng)的組織問題進(jìn)行求解。具體的,多角色社會活動(dòng)組織問題(multi-rolesocialactivityorganization,mrsao)為有約束的離散的組合優(yōu)化問題。基于此,本發(fā)明設(shè)計(jì)了mrsao-cr算法將該問題轉(zhuǎn)化成無約束的連續(xù)問題,然后使用ratiodca算法對轉(zhuǎn)化后的問題進(jìn)行求解。
(1)有約束問題轉(zhuǎn)化成無約束問題
我們使用罰函數(shù)技術(shù)將問題mraso轉(zhuǎn)化成無約束問題。mraso的兩個(gè)約束條件為:1)每個(gè)角色的節(jié)點(diǎn)數(shù)量是一定的;2)兩個(gè)節(jié)點(diǎn)之間的距離不能超過m。所以設(shè)懲罰因子為:
其中,當(dāng)結(jié)果f中的所有節(jié)點(diǎn)滿足約束條件時(shí),懲罰因子pen(f)的值為零;當(dāng)結(jié)果f中存在不滿足約束條件的節(jié)點(diǎn)時(shí),懲罰因子pen(f)的值為大于零的正值,其中不滿足約束條件的節(jié)點(diǎn)越多,pen(f)值越大。
根據(jù)社交網(wǎng)絡(luò)的結(jié)構(gòu)特點(diǎn),公式(1)可簡寫為:
maxh(f)=max{vv(f)+2ee(f)}
s.t.|fu|=ku,
dis(vi,vj)≤m
其中,
問題mraso轉(zhuǎn)化成無約束問題后,待用目標(biāo)函數(shù)為:
max{vv(f)+2ee(f)-γpen(p)}
其中,參數(shù)
(2)離散問題放松成連續(xù)問題
因?yàn)檫B續(xù)問題求解比離散問題求解簡單,所以使用lovaszextensions擴(kuò)展將無約束的離散問題放松成無約束的連續(xù)問題。此時(shí)需要設(shè)置閾值。在此問題中離散問題放松成連續(xù)問題具體是指f的決策變量的值域由{0,1}n放松到[0,1]n,令
fi:={j∈v|fj≥fi}(f={0,1}n,|v|=n)
當(dāng)節(jié)點(diǎn)vj的值fj大于等于閾值fi時(shí),節(jié)點(diǎn)vj的狀態(tài)值為1,表示節(jié)點(diǎn)vj為符合要求的節(jié)點(diǎn);反之,節(jié)點(diǎn)的狀態(tài)值為0,表示節(jié)點(diǎn)不符合要求。
其中,lovaszextensions定義:令
問題mraso轉(zhuǎn)化成無約束連續(xù)問題后,目標(biāo)函數(shù)為:
max{vvl(f)+2eel(f)-γpenl(f)}。
令r是任意的集合函數(shù),
r的lovaszextensionsrl為正向同構(gòu)。
當(dāng)任意集合函數(shù)r可寫成r=r1-r2,其中,r1和r2具有子模性且
(3)無約束連續(xù)問題的求解
因?yàn)榧虾瘮?shù)的lovaszextensions擴(kuò)展可以用兩個(gè)凸函數(shù)的差來表示,則上述目標(biāo)函數(shù)可以用兩個(gè)凸函數(shù)的差來表示,且可整理成如下的目標(biāo)函數(shù)表達(dá)式:
其中,r1(f)、r2(f)、s1(f)和s2(f)為正向同構(gòu)的凸函數(shù)。上述的整理過程如下:
首先,目標(biāo)函數(shù)整理為:
因?yàn)?,s1(f)和s2(f)為正向同構(gòu)的凸函數(shù),且
r1(f)和r2(f)的表達(dá)式可以經(jīng)過一系列的數(shù)學(xué)轉(zhuǎn)化得到,過程如下:
繼續(xù)整理得到
pen(f)=pen1(f)-pen2(f)
所以,
最后使用rationdca算法來求解目標(biāo)函數(shù)的近似解,下面給出一個(gè)rationdca算法求解的偽代碼實(shí)現(xiàn):
算法的基本步驟為,首先輸入r1(f)、r2(f)、s1(f)、s2(f)和f0,然后使用rationdca返回目標(biāo)函數(shù)表達(dá)式的目標(biāo)函數(shù)值λl+1和fl+1。其中
本發(fā)明實(shí)施例中,所使用的用來驗(yàn)證算法可行性與有效性的數(shù)據(jù)集來源于dblp。數(shù)據(jù)集中的數(shù)據(jù)為論文信息和論文作者的信息。具體的,我們提取數(shù)據(jù)集中四個(gè)研究領(lǐng)域的數(shù)據(jù)來進(jìn)行試驗(yàn):數(shù)據(jù)庫(db),數(shù)據(jù)挖掘(dm),理論(t)和人工智能(ai)。對數(shù)據(jù)進(jìn)行預(yù)處理后,得到包括9264個(gè)節(jié)點(diǎn),152302個(gè)邊和4種角色(不同領(lǐng)域分別代表不同的角色)的社交網(wǎng)絡(luò)數(shù)據(jù)。其中,節(jié)點(diǎn)表示活動(dòng)候選參與者(作者),邊表示兩個(gè)候選參與者之間的關(guān)系(合著作者)。候選參與者(作者)所在的研究領(lǐng)域代表其(節(jié)點(diǎn))角色。節(jié)點(diǎn)上的點(diǎn)權(quán)值表示候選參與者對活動(dòng)的興趣度,對用戶對于活動(dòng)興趣度的分析,以及作者所著論文數(shù)量,對其進(jìn)行處理,使其遵循冪律分布。邊上的邊權(quán)值表示兩個(gè)候選參與者之間的親密程度,計(jì)算方法為計(jì)算兩個(gè)合著作者的關(guān)系程度:
最后,給出一個(gè)應(yīng)用本發(fā)明實(shí)施例的方法的具體應(yīng)用實(shí)例。
本發(fā)明可以應(yīng)用于基于事件的社交網(wǎng)絡(luò)中,幫助活動(dòng)組織者從報(bào)名參與的活動(dòng)候選參與者中挑選合適的參與者,最大化活動(dòng)參與者的意愿度,進(jìn)而使得活動(dòng)圓滿舉行。例如,活動(dòng)組織者借助基于事件的社交網(wǎng)絡(luò)平臺組織一個(gè)技術(shù)會議,會議需要k個(gè)來自不同技術(shù)領(lǐng)域的專家,如k1個(gè)網(wǎng)絡(luò)專家(r1),k2個(gè)語言處理專家(r2),k3個(gè)人工智能專家(r3)和k4個(gè)數(shù)據(jù)挖掘?qū)<?r4)。因此,組織者需要從報(bào)名的活動(dòng)候選參與者中選擇適當(dāng)?shù)膮⒓诱?。如圖2所示,節(jié)點(diǎn)表示候選參與者,節(jié)點(diǎn)上的值表示候選參與者對于此次活動(dòng)的興趣度,值越高表示越喜歡,節(jié)點(diǎn)的形狀代表所屬的技術(shù)領(lǐng)域;圖中的邊表示兩個(gè)候選參與者之間的社會關(guān)系,邊上的權(quán)值表示社會關(guān)系親密程度,權(quán)值越大表示關(guān)系越親密。假設(shè)在這種情況下每個(gè)角色的參加者的數(shù)量是k1=2,k2=4,k3=4和k4=5。為了實(shí)現(xiàn)最大化參與者意愿度的目標(biāo),選擇陰影區(qū)域中的節(jié)點(diǎn),如圖3所示,這是因?yàn)榇私M合的意愿度值相比于其他組合最大。
所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上任何實(shí)施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明的思路下,以上實(shí)施例或者不同實(shí)施例中的技術(shù)特征之間也可以進(jìn)行組合,步驟可以以任意順序?qū)崿F(xiàn),并存在如上所述的本發(fā)明的不同方面的許多其它變化,為了簡明它們沒有在細(xì)節(jié)中提供。
本發(fā)明的實(shí)施例旨在涵蓋落入所附權(quán)利要求的寬泛范圍之內(nèi)的所有這樣的替換、修改和變型。因此,凡在本發(fā)明的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。