簡體   English   中英

如何證明並行算法的上限/下限?

[英]How does one prove an upper/lower bound of a parallel algorithm?

假設斐波那契算法:

在此處輸入圖片說明

我們要求證明該算法的上限/下限。

我該如何進行?

更新

因此,我將解釋自己所做的事情,並說明遇到的困難。

我不知道為什么,但是我決定在這里使用遞歸關系來查看在哪里可以獲得最終結果。 但是我懷疑我的工作的原因是上限/下限是根據資源確定算法的“無限”。

因此,並行算法具有:

功(n)= W(n-1)+ W(n-2)+Θ(1)

在這一點上,我決定使用遞歸關系-不知道-

Work(n) = [W(n - 1) + W(n - 2) + Θ(1)] + W(n - 2) + Θ(1)
        = W(n - 2) + W(n - 2) + 2Θ(1)
        = 2W(n - 2) + 2
        = Stuck here

老實說,即使這樣我也不知道。

給出了一個正式的解決方案: 在此處輸入圖片說明

但是我不太明白上面采取的步驟

我要說的是,處理器幾乎沒有問題,因為循環是一棵樹,並且該樹的節點數是指數的。 這些節點表示在每個步驟中必須完成的合並。 因此,即使處理器數量是無限的,它也無助於解決這種重復問題,因為它們只能在最后一行中獨立地計算某些東西,即W(1)和W(0)。

我僅在評論中看到提供了示例解決方案,並進行了部分解釋:這里是一些進一步的“見解”:想法是擴大重復率,並尋找一種收集因素的方法。 在這里,他們以應用不等式的方式收集2:W(n-1)+ W(n-2)> = 2 W(n-2)。 因此,現在您有W(n)> = 2 W(n-2)。 我們多久減去2一次,直到右邊有W(0)為止? n / 2次。 然后以Omega(2 ^(n / 2))下界結束。 您可以使用大致相同的方法來顯示上限。

就像一個小小的注解,這些界限並不嚴格: 相關文章

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM