演算法運行結果
⑴ C++的粒子群優化演算法運行結果是怎麼樣的
它是每進化一代就差找一次,能否找到結果是看你設置的最大迭代次數和終止條件是否滿足。你可以看pso演算法的兩個公式。
演算法運行和用什麼語言沒關系。
PSO的具體實現步驟如下:
Step1: 參數初始化。
在初始范圍內,隨機初始化一群粒子。即設置種群規模m,粒子的初始位置 x1,x2,...,xm,初始速度v1,,v2…,vm,並將各粒子的個體最優pi設置為初始位置,全局最優值pg設為pi中的最優值。
Step2: 根據速度和位置公式對粒子的速度和位置進行更新。
Step3: 計算每個粒子的適應值。
Step4: 判斷每個粒子的個體最優值。
對每個粒子,將其當前的適應值和上一次的個體最優值pi進行比較,如果當前適應值優於pi,則令pi取當前適應值,否則,個體最優值仍為原來的pi(其中i=1,2,...,m)。
Step5:判斷整個粒子群的全局最優值。
比較當前每個粒子的個體最優值,找出當前迭代中的全局最優值,與歷史全局最優pg比較,如果優於pg,則令pg取當前迭代中的全局最優值,否則,全局最優pg還取原來的值。
Step6: 判斷是否滿足終止條件。如果滿足則轉入Step7;否則,轉Step2,繼續迭代。
Step7: 輸出全局最優解,演算法進行結束。
⑵ 如圖所示的演算法流程圖運行後,輸出的結果是A.10B.9C.8D.7
試題答案:B
試題解析:分析:先根據已知循環條件和循環體判定循環的規律,然後根據運行的情況判斷循環的次數,從而得出所求.
解答:根據題意可知該循環體運行情況如下:
循環次數
是否循環
s的值
i的數值
第1次:s=1<100,s=1×2
i=1+2=3
第2次:s=2<100,s=2×5=10
i=3+2=5,
第3次:s=10<100,s=10×5=50
i=5+2=7
第4次:s=50<100,s=50×7=350
i=7+2=9
第5次:s=350>100,結束運算輸出結果i=9.
故選B.
點評:本題主要考查了循環結構,循環結構有兩種形式:當型循環結構和直到型循環結構,考查分析問題解決問題的能力,屬於基礎題.新課改地區高考常考題型.
⑶ 演算法的三種結果
演算法有順序結構、條件分支結構、循環結構三種基本邏輯結構。
三種基本結構的共同點:
(1)只有一個入口和出口
(2)結構內的每一部分都有機會被執行到,也就是說對每一個框來說都應當有一條從入口到出口的路徑通過它,如圖中的A,沒有一條從入口到出口的路徑通過它,就是不符合要求的演算法結構。
(3)結構內不存在死循環,即無終止的循環。
(3)演算法運行結果擴展閱讀
演算法可以宏泛的分為三類:
一,有限的,確定性演算法 這類演算法在有限的一段時間內終止。他們可能要花很長時間來執行指定的任務,但仍將在一定的時間內終止。這類演算法得出的結果常取決於輸入值。
二,有限的,非確定演算法 這類演算法在有限的時間內終止。然而,對於一個(或一些)給定的數值,演算法的結果並不是唯一的或確定的。
三,無限的演算法 是那些由於沒有定義終止定義條件,或定義的條件無法由輸入的數據滿足而不終止運行的演算法。通常,無限演算法的產生是由於未能確定的定義終止條件。