目錄
文章的基本邏輯是這樣,首先對前人的工作做了一些總結,針對RIS算法存在計算複雜度高的問題提出了新的算法優化,整個文章圍繞爲什麼要優化以及如何優化一步步展開,本文難得之處在於其有充足的理論證明保證。以 Chernoff bounds 爲基礎展開了一系列證明,表明本文提出的算法能在理論保證可以達到近似最優的情況下還可以減少採樣的數量,降低複雜度。
摘要
給定一個社交網絡 和一個常數 ,影響最大化問題要求在預定義的擴散模型下, 中的 個節點(直接和間接)影響最大數量的節點。該問題在病毒營銷中發現重要的應用,並且已經在文獻中進行了廣泛的研究。現有的影響最大化的算法,或者爲實際效率而進行的貿易近似保證,反之亦然。特別是,在突出的獨立級聯 (IC) 模型或線性閾值 (LT) 模型下實現常數因子近似的算法中,沒有一種算法可以處理百萬個節點的圖而不會產生過多的開銷。
本文提出了 TIM,該算法旨在將影響力最大化的理論與實踐聯繫起來。從理論上講,我們表明 TIM 以 的期望時間運行,並返回 近似解,且至少具有 1 − 概率。在 IC 模型下,TIM的時間複雜度幾乎是最優的,因爲它僅比先前工作中建立的 下界大一個 因子(對於固定的 , 和 )。此外,TIM支持觸發模型,這是一個通用擴散模型,其中包括 IC 和 LT 作爲特殊情況。在實踐方面,TIM結合了新穎的啓發式方法,可顯著提高其經驗效率,而不會影響其漸近性能。我們使用文獻中測試過的最大數據集對TIM進行了實驗評估,結果表明TIM在運行時間方面的性能比最新的方法(具有近似保證)高出四個數量級。特別是,當 = 50, = 0.2和 = 1時,TIM在商用機器上需要不到一小時的時間來處理具有4160萬個節點和14億條邊的網絡。這表明影響力最大化算法可以實用,同時仍提供強大的理論保證。
1、簡介
假設 是一個社交網絡,而 是一個概率模型,該模型捕獲 中的節點如何影響彼此的行爲。給點 和一個小的常數 ,影響力問題可以定義爲在 中找到 個節點可以影響最多的節點數。
本文貢獻 提出了一個兩階段影響力算法 (TIM),一種旨在將影響力最大化的理論和實踐聯繫起來的算法。理論方面,TIM 算法可以以 的概率得到一個 近似最優的解,期望運行時間複雜度爲 ,在IC模型下,TIM算法的時間複雜度是近似線性的,另外TIM還支持觸發式模型,一般來說都是級聯模型包括像IC模型這樣的特殊情況。
在實踐方面,TIM 結合了新穎的啓發式技術,可在不犧牲理論保證的情況下將其計算效率提高多達100倍。 我們通過各種社交網絡對TIM進行了實驗評估,結果表明,在運行時間方面,TIM的性能比最先進的解決方案(具有近似保證)高四個數量級。特別是,當 = 50, 0.2且 = 1時,TIM只需不到一小時即可處理具有4160萬個節點和14億個邊的網絡。 據我們所知,這是文獻中的第一個結果,該結果證明了十億邊圖的有效影響最大化。
總結一下,本文貢獻點如下
- 提出了一種在觸發式模型下期望運行時間爲近似線性且在大概率情況下返回一個 近似最優的解。
- 設計了一些優化技術,可以使算法達到100倍的經驗性能
- 我們提供具有近似保證的最優解決方法的理論分析,並根據漸近性能建立我們算法的優越性
- 我們在大數據集上進行了實驗,結果表明,我們的算法可以在有十億級別邊的圖上達到一個非常好的效果,這表明影響力算法既能有理論保證收斂到近似最優,又可以有實踐效果驗證。
2、前言
2.1 問題的定義
2.2 Kempe等人的貪心算法
2.3 Borge等人的方法
3、方法提出
TIM的靈感來自於 RIS 算法,同時創新性地克服了 RIS 算法的一些限制。大的方面來說,TIM 主要由兩個階段組成:
- 參數估計 這個階段計算了所有大小爲 的集合的最大化期望影響力的一個下界,並且用這個下界得到了參數
- 節點選擇 這一步在圖 中採樣了 個RR 集,然後得到了一個大小爲 覆蓋最多數量 RR 集的節點集 ,即爲最終返回結果。
TIM 的節點選擇階段與 RIS 相似,不同之處在於它對隨機RR集的預定數量 () 進行採樣,而不是使用計算成本閾值來間接控制數量。 這確保了TIM生成的RR集在給定 下是獨立的,從而避免了困擾 RIS 的相關性問題。 同時,在參數估計階段推導 是不平凡的:如3.1節所示, 必須大於某個閾值以確保 TIM 的正確性,但是該閾值取決於影響最大化的最佳結果,但這是未知的。 爲了應對這一挑戰,我們計算出一個大於閾值但仍足夠小的以確保 TIM 整體效率的 。
3.1 節點選擇
算法1展示了 TIM 節點選擇階段的僞代碼。給點 和一個常數 ,算法生成了 個隨機的 RR 集合,然後插入到集合 (lines 1-2)中,算法接下來的部分有 輪迭代組成 (Lines 3-7),在每一輪迭代裏,算法選擇出覆蓋 中 RR 集數量最多的節點,並且將這些 RR 集從 中 移除,把選出的 個節點構成一個集合 ,就是我們要的結果
Implementation 對於一個最大化收斂問題,算法的4-8行對應標準的貪心算法,換句話說,這個問題就是找到覆蓋最多 RR 集的 個節點,衆所周知,這個貪心算法返回一個 近似的解,這裏不展開細節,有興趣的同學可以看參考文獻[3]
同時,算法1中設置的每個RR集的生成都實現爲 上的隨機廣度優先搜索(BFS)。給定 中的節點 ,我們首先創建一個空隊列,然後爲每個 的傳入邊 擲硬幣, 以 的概率,我們檢索了 的開始節點 ,並將 放入隊列。 隨後,我們迭代提取隊列頂部的節點 ,並檢查 的每個傳入邊 ; 如果 從未訪問過的節點 開始,我們以 的概率將 添加到隊列中。 當隊列爲空時,此迭代過程終止。 最後,我們收集在此過程中訪問的所有節點(包括 ),並使用它們形成RR集,就是所有可以觸達到 的節點的一個集合。
Performance Bounds 我們定義一個 RR 集 的寬度,記爲 ,表示 中指向 RR 集 中頂點的有向邊的數量。觀察到,如果在生成 R 時檢查了一條邊,那麼它必須指向 R 中的一個節點。令 EPT 爲一個隨機 RR集的期望最大寬度。可以證明,算法1運行了 時間,接下來,我們分析 是如何保證解的質量的同時最小化了期望運行時間。我們的分析要經常用到 Chernoff 有界定理
引理 1 令 是 [0,1] 上採樣的 個獨立同分布的隨機變量的和,均值爲 ,對於任意 , 另外我們用下面的來自文獻[3]中的引理來說明圖 中的 RR集合和影響力傳播的關係。
引理 2 令 是一個固定的點集, 是一個固定點。假設我們在以 的概率從 中移除邊 得到的子圖 中對 生成了一個 RR集,令 是 覆蓋 的概率, 是當 作爲一個種子集合,能在 中激活固定點 的概率,則
令 是算法1中所有 RR集構成的集合,對任意的點集合 ,令 是 中RR集被 覆蓋的佔比,根據引理2,我們可以證明 的期望值等於 中 的期望傳播影響力。
推論 1
令 爲 中任意 個節點的最大期望傳播影響力,利用Chernoff 有界,我們可以看到,當 足夠大的時候, 是任意節點集 傳播影響力的一個準確估計。
引理 3 假設 滿足 對任意最多有 的節點的集合 ,下面的不等式至少以 的概率成立 基於引理3,我們證明了當等式 (2) 成立時,算法1以很大的概率返回一個 的近似解。
定理 1 給定 滿足等式 (2),算法1 至少以 的概率返回一個 的近似解。
注意到由於 是未知的,所以很難直接基於等式(2)設定 的值,我們在 3.2節中解決了這個問題,提出的算法返回的 值不僅可以滿足等式(2),而且可以使算法1的期望計算複雜度爲 ,簡單起見,我們定義 於是,等式(2)即爲
3.2 參數估計
回顧算法1的時間複雜度是 ,其中 是爲 中隨機選擇的節點生成RR集所需的拋硬幣的預期數量,即 的期望數量,我們的目標是確定一個 ,使得 儘可能小,同時保證 ,爲此,我們首先基於 中的節點定義了一個概率分佈 ,使得每個節點的概率質量與其在 中的度數成正比。令 是服從 分佈的一個隨機變量,則有:
引理 4 ,其中 的期望是被 的隨機性和影響傳播過程所控制。
換句話說,如果我們從 隨機選擇一個節點 ,計算它的期望傳播影響 ,那麼平均來說我們有 ,隱含了 ,因爲 是任意 個節點的最大期望傳播。
假設我們可以得到一個數 ,使得 且 ,然後令 ,我們可以保證算法1 正確且滿足時間複雜度
t 的選取 直觀地,我們會直接選擇 ,因爲 i) m和n都是已知的,ii) 可以通過計算 RR集的評價寬度得到。但是通過觀察,我們發現當 時, 使得 變得沒必要的大,反而導致效率低下。我們解釋一下,回顧前面的 等於從 中採樣一個節點 的期望傳播影響均值,因此和 是獨立的。但 是隨着 的遞增而遞增的,這使得當 增大時, 變得不是那麼好的一個 的選擇。爲了解決這個問題,我們用一個關於 遞增的且更接近 的值來替換。
假設我們從 中採樣了 個點,構成了一個集合 (注意,由於消除了重複樣本,可能包含少於 個節點),令 爲 期望傳播的均值(中的隨機性和影響傳播過程),可以得到 其中 隨 單調遞增,我們有如下引理
引理 5 令 是一個隨機的 RR 集, 是 的寬度,定義 則
通過引理5,我們可以通過首先在一組隨機RR集上測量 ,然後取測量的平均值來估計 。 但是,我們應該進行多少測量? 根據切爾諾夫邊界,對於 的相對誤差,如果我們要獲得對 估計具有至少 概率 ,則測量次數應爲 。 換句話說,所需的測量次數取決於 ,而 正是被測對象。 我們採用自適應採樣方法解決了這一難題,該方法可以根據所觀察到的RR集樣本來動態調整測量次數。
估計 KPT 算法 2 展示了我們估計 的採樣方法,該算法的高級思想如下,首先我們生成相對少量的 RR 集,使用它們來推導帶有有界絕對誤差的 估計,如果這個 的估計值比有界誤差大很多,那麼我們認爲這個估計是足夠準確了,此時算法終止。另一方面,如果 的估計值同有界誤差相比差異不大,然後我們生成更多的RR集以獲得具有降低的絕對誤差的 的新估計。此後,我們重新評估估計的準確性,並在必要時進一步增加RR集的數量,直到計算出 的精確估計爲止。
特別的,算法2最多執行 輪迭代,在第 輪迭代時,從 中採樣了 個RR集(line 2-7),其中 然後針對每個 RR 集計算 ,得到了整體平均值 ,我們選擇的 來確保如果平均值比 大,則有很大概率 達到了平均值的一半大小,這時候算法終止,得到的 等於平均值乘以 (line 8-9),同時,如果平均值不比 大,則繼續 輪迭代。
另一方面,如果在所有輪次的迭代中,平均值均小於 ,那麼返回 ,等於最小可能的 (因爲每一個種子節點總是可以激活自己),,且 以高概率成立。這樣設定 確保算法1是正確的且可以得到等式(6)中的時間複雜度。
理論分析 儘管算法2從概念上講很簡單,但要證明其正確性和有效性並不容易,因爲它需要仔細分析每次迭代中算法的行爲。 接下來,我們介紹一些支持性引理,然後使用它們來建立算法2的性能保證。
引理 6 如果 ,則對於任意的 , 由引理6可知,如果 ,算法2不太可能在前 輪終止,這樣可以防止算法輸出的 比 大得多。
引理 7 如果 ,則對於任意的 , 由引理7可知,如果 ,算法2碰巧進入其第 次迭代,然後幾乎可以肯定地終止於第 次迭代。 這樣可以確保算法不會輸出比 小得多的
基於引理6和7,我們證明了算法2的準確性和預期時間複雜度的以下定理
定理 2 當 時,算法2至少以 的概率返回 ,期望運行時間 ,且
3.3 合併
總結一下,TIM 算法流程如下:給定 以及另外兩個參數 ,TIM 首先將 餵給算法2,返回一個數 ,然後TIM計算 ,其中 是等式(4) 中定義的,是關於 的一個函數,最後TIM將 餵給算法1,得到 即爲最終的影響力結果。
通過定理1,2,以及等式(6),TIM的預期執行時間爲 ,至少以 的概率得到一個 的解,這個成功的概率可以通過對 乘一個因子 輕鬆提升到 ,最終,我們注意到TIM算法的時間複雜度在IC模型下可以達到近似最優。
4、擴展
4.1 改進參數估計
TIM的有效性高度依賴算法2中的 ,如果 接近 ,則 很小,此時算法1只需要生成少量的 RR 集即可,但是,實際情況下 通常要比 小很多,這就嚴重影響了算法1的效率。
我們解決上述問題的方法是在算法1和算法2之間增加一箇中間步驟,將 修正到 的一個緊的下界,算法3顯示了這個步驟的僞代碼
這個算法首先召回了算法2中所有RR集的集合 ,然後,它在上調用貪心算法(針對最大覆蓋問題),並獲得一個有 個節點集 ,它覆蓋 中的大量RR集(算法3中的第2-6行)。
直觀地, 應該有最大影響傳播,如果我們能估計 到一個合理的準確率,那我們可以用這個估計值來得到 的一個緊下界,算法3生成了 個RR集,然後計算 覆蓋 RR 集的佔比(line 7-10),由推理1可知, 是 的一個無偏估計,我們將 設置爲一個合理的相對大的數值來保證最多以 的概率 ,基於此,算法3計算 ,使得 ,算法3最終輸出 ,引理8對算法3做了理論保證
引理 8 給定 ,算法3期望運行時間爲 ,此外,如果 ,則至少有 的概率有
注意到算法3的計算複雜度比算法1小了一個因子 ,因爲前者只需要準確地估計一個節點集的期望傳播影響,而後者還需要同時確保 個節點集準確估計。
我們整合算法3到 ,得到了一個改進版的方法(),給定 ,首先利用算法2得到 ,然後我們將 以及另一個參數 輸入給算法3,得到 ,然後我們計算 ,最終將 作爲算法1的輸入,得到最終的影響力集合。可以證明,當 時, 和 有同樣的計算複雜度,並且至少以 的概率返回一個 近似最優值。
理想地,我們希望將 設定爲一個可以使在算法1,3中讓 RR 集數量 儘量小的值,但是 依賴於未知變量 ,在 中,我們令
4.2 歸納到觸發模型
觸發模型[17]是影響傳播模型,可以概括IC模型。假設每個節點 在 的傳入鄰居的冪集上都與觸發分佈 相關聯,即,來自 的每個樣本都是具有輸出邊指向節點 的節點的子集。
給定種子集 ,觸發模型下的影響傳播過程如下。首先,對於每個節點 ,我們從 中獲取一個樣本,並將該樣本定義爲 的觸發集。之後,在時間戳1處,我們激活 中的節點。然後,在隨後的時間戳 ,如果激活的節點出現在非活動節點 的觸發集中,則 在時間戳 處被激活。當沒有更多節點可被激活時,傳播過程終止。
觸發模型下的影響最大化問題要求使用大小爲 的種子集 ,該種子集 可以激活預期中的最大數量的節點。要了解爲什麼觸發模型將IC模型作爲特殊情況來捕獲IC模型,請考慮爲每個節點 分配一個觸發分佈,這樣 的每個傳入鄰居都以 的概率獨立出現在 的觸發集中,其中 是從鄰居到 的邊。可以證明,這種分佈下的影響最大化等同於IC模型下的影響最大化。
有趣的是,我們的解決方案可以輕鬆擴展以支持觸發模型。爲了進行解釋,請注意,算法1、2和3不依賴於IC模型的任何特定內容,只是它們需要一個子例程來生成隨機RR集,而RR集僅在IC模型下定義。爲解決此問題,我們修訂了RR集的定義以適應觸發模型,如下所述。
假設我們從 生成隨機圖 ,方法是首先從其觸發分佈 中爲每個節點 採樣一個節點集 ,然後刪除不指向 中節點的 的任何輸出邊。令 爲隨機分佈引起的 的分佈。
我們將 稱爲 的觸發圖分佈。對於任何給定的節點 和從 採樣的圖 ,我們將針對 中 的反向可達(RR)集定義爲 中可以達到 的節點集。另外,我們定義了一個隨機RR集,它是對從 隨機採樣的 實例隨機生成的一個隨機RR集。
爲了構造上面定義的隨機RR集,我們採用如下隨機BFS算法。令 爲隨機選擇的節點。給定 ,我們首先從 的觸發分佈 中抽取一個樣本 ,然後將 中的所有節點放入隊列中。之後,我們迭代提取隊列頂部的節點。對於 提取的每個節點,我們從 的觸發分佈中採樣一個集合 ,然後將 中所有未訪問的節點插入隊列。當隊列變空時,我們終止過程,並與過程中訪問的節點形成隨機RR集。整個過程的預期成本爲 ,其中 表示 中指向隨機RR集中的節點的邊的預期數量。該預期時間複雜度與在IC模型下生成隨機RR集的算法相同。
通過將上述BFS方法整合到算法1、2和3中,我們的解決方案可以輕鬆支持觸發模型。我們的下一步是證明修訂後的解決方案保留了TIM和TIM +的性能保證。爲此,我們首先介紹觸發模型的引理2的擴展版本。 (引理的證明與引理2的證明幾乎相同。)
引理 9 令 是一個固定的節點集合, 是一個固定點, 是 的觸發圖分佈,假設我們從由 中採樣得到的 上的一個頂點 生成了它的 RR 集 R,令 是 覆蓋 R 的概率, 是 作爲種子集可以在觸發式模型下激活 的概率,則
我們注意到,我們對TIM和TIM +的所有理論分析都是基於Chernoff bounds和引理2,而不依賴於任何其他針對IC模型的結果。 因此,一旦我們建立了引理9,就可以將其與Chernoff bounds 直接結合起來,以表明在觸發模型下,TIM和TIM +都提供了與IC模型相同的性能保證。 因此,我們有以下定理:
定理 3 在觸發模型下,TIM (TIM+) 期望運行時間爲 ,至少以 的概率返回一個 的近似解
參考資料
[3] C. Borgs, M. Brautbar, J. T. Chayes, and B. Lucier. Maximizing social influence in nearly optimal time. In SODA, pages 946–957, 2014.