離散演算法
❶ 離散數學演算法
設要排序的數組是A[0]……A[N-1],首先任意選取一個數據(通常選用第一個數據)作為關鍵數據,然後將所有比它小的數都放到它前面,所有比它大的數都放到它後面,這個過程稱為一趟快速排序。值得注意的是,快速排序不是一種穩定的排序演算法,也就是說,多個相同的值的相對位置也許會在演算法結束時產生變動。 一趟快速排序的演算法是: 1)設置兩個變數I、J,排序開始的時候:I=0,J=N-1; 2)以第一個數組元素作為關鍵數據,賦值給key,即 key=A[0]; 3)從J開始向前搜索,即由後開始向前搜索(J=J-1),找到第一個小於key的值A[J],並與A[I]交換; 4)從I開始向後搜索,即由前開始向後搜索(I=I+1),找到第一個大於key的A[I],與A[J]交換; 5)重復第3、4、5步,直到 I=J; (3,4步是在程序中沒找到時候j=j-1,i=i+1,直至找到為止。找到並交換的時候i, j指針位置不變。另外當i=j這過程一定正好是i+或j-完成的最後另循環結束) 例如:待排序的數組A的值分別是:(初始關鍵數據:X=49) 注意關鍵X永遠不變,永遠是和X進行比較,無論在什麼位子,最後的目的就是把X放在中間,小的放前面大的放後面。 A[0] 、 A[1]、 A[2]、 A[3]、 A[4]、 A[5]、 A[6]: 49 38 65 97 76 13 27 進行第一次交換後: 27 38 65 97 76 13 49 ( 按照演算法的第三步從後面開始找) 進行第二次交換後: 27 38 49 97 76 13 65 ( 按照演算法的第四步從前面開始找>X的值,65>49,兩者交換,此時:I=3 ) 進行第三次交換後: 27 38 13 97 76 49 65 ( 按照演算法的第五步將又一次執行演算法的第三步從後開始找 進行第四次交換後: 27 38 13 49 76 97 65 ( 按照演算法的第四步從前面開始找大於X的值,97>49,兩者交換,此時:I=4,J=6 ) 此時再執行第三步的時候就發現I=J,從而結束一趟快速排序,那麼經過一趟快速排序之後的結果是:27 38 13 49 76 97 65,即所以大於49的數全部在49的後面,所以小於49的數全部在49的前面。 快速排序就是遞歸調用此過程——在以49為中點分割這個數據序列,分別對前面一部分和後面一部分進行類似的快速排序,從而完成全部數據序列的快速排序,最後把此數據序列變成一個有序的序列,根據這種思想對於上述數組A的快速排序的全過程如圖6所示: 初始狀態 {49 38 65 97 76 13 27} 進行一次快速排序之後劃分為 {27 38 13} 49 {76 97 65} 分別對前後兩部分進行快速排序 {27 38 13} 經第三步和第四步交換後變成 {13 27 38} 完成排序。 {76 97 65} 經第三步和第四步交換後變成 {65 76 97} 完成排序。 圖示
記得採納啊
❷ 離散數學,用等值演演算法判斷下列公式類型,求詳細過程,這題有三個字母,搞得我好亂啊(x_x;)
(q∧(p∨t))→((p∧s)→q)
⇔ ¬(q∧(p∨t))∨((p∧s)→q) 變成 合取析取
⇔ ¬q∨¬(p∨t) ∨((p∧s)→q) 德摩根定律
⇔ ¬q∨¬(p∨t) ∨(¬(p∧s)∨q) 變成 合取析取
⇔ ¬p∨¬(p∨t) ∨¬(p∧s)∨q 結合律
⇔ ¬p∨¬(p∧s)∨q 吸收律
⇔ ¬(p∧s)∨q 吸收律
是可滿足式。
❸ pso的離散演算法
很多優化問題涉及到離散或二值的變數,典型的例子包括調度問題或路由問題。而PSO演算法的更新公式和過程是面向連續空間並為其設計的,因此需要做一些修改使之適應離散空間的情況。編碼的修改可能很簡單,難點在於定義速度的意義和確定軌跡的變化。
Kennedy定義了第一個離散二進製版本的PSO演算法。微粒使用二進制字元串進行編碼。通過使用sigmoid函數,速度被限制在[0, 1]區間之內,並被解釋為「概率的變化」。Yang對該方法在量子空間進行了擴展。
Mohan提出了幾種二進制方法(直接方法、量子方法、正則方法、偏差向量方法以及混合方法),但是從有限的實驗中沒有得出什麼結論。Clerc對一些專用於某些約束優化問題如TSP問題的PSO演算法變種進行了試驗,結果顯示該方法比較有前途。Pang使用模糊矩陣來表示微粒的位置和速度,對PSO演算法的算符進行了重定義,並將其應用到TSP問題的求解。Pampara將PSO演算法與信號處理中的角調制技術結合起來,將高維二進制問題降維為一個在連續空間中定義的四維問題,並通過求解該四維問題來獲得原問題的解。Afshinmanesh重新定義了離散PSO演算法中的加法與乘法,並使用人工免疫系統中的陰性選擇來實現速度限制Vmax。
Hu提出了一種改進PSO演算法來處理排列問題。微粒被定義為一組特定值的排列,速度基於兩個微粒的相似度重新定義,微粒根據由它們的速度所定義的隨機率來變換到一個新的排列。引入了一個變異因子來防止當前的pBest陷入局部最小。在n皇後問題上的初步研究顯示改進的PSO演算法在解決約束滿意問題方面很有前途。
Migliore對原始的二進制PSO演算法進行了一些改進,提出了可變行為二進制微粒群演算法(VB-BPSO)和可變動態特性二進制微粒群演算法(VD-BPSO)。VB-BPSO演算法按照連續PSO演算法的速度更新公式的思想設計了一個新的速度更新公式,用來確定微粒位置向量每一位為1的概率。而VD-BPSO演算法則是根據一定規則在兩組不同參數確定的VB-BPSO演算法之間切換。Migliore應用該演算法設計出一種簡單魯棒的自適應無源天線。
Parsopoulos以標准函數為例測試微粒群優化演算法解決整數規劃問題的能力。Salman將任務分配問題抽象為整數規劃模型並提出基於微粒群優化演算法的解決方法。兩者對迭代產生的連續解均進行舍尾取整後評價其質量。但是PSO演算法生成的連續解與整數規劃問題的目標函數評價值之間存在多對一的映射,以整型變數表示的目標函數不能准確反映演算法中連續解的質量,而由此導致的冗餘解空間與相應的冗餘搜索降低了演算法的收斂效率。
高尚採用交叉策略和變異策略,將PSO演算法用來解決集合劃分問題。趙傳信重新定義了微粒群位置和速度的加法與乘法操作,並將PSO演算法應用到0/1背包問題求解中。EL-Gallad在PSO演算法中引入探索和勘探兩個運算元,用於求解排序問題。Firpi提出了BPSO演算法的一種保證收斂的版本(但是並未證明其保證收斂性),並將其應用到特徵選擇問題。
上述離散PSO演算法都是間接的優化策略,根據概率而非演算法本身確定二進制變數,未能充分利用PSO演算法的性能。在處理整數變數時,PSO演算法有時候很容易陷入局部最小。原始PSO演算法的思想是從個體和同伴的經驗進行學習,離散PSO演算法也應該借鑒該思想。高海兵基於傳統演算法的速度—位移更新操作,在分析微粒群優化機理的基礎上提出了廣義微粒群優化模型(GPSO),使其適用於解決離散及組合優化問題。GPSO 模型本質仍然符合微粒群優化機理,但是其微粒更新策略既可根據優化問題的特點設計,也可實現與已有方法的融合。基於類似的想法,Goldbarg將局部搜索和路徑重連過程定義為速度運算元,來求解TSP問題。
❹ 如何理解離散數學中演算法的確定性
題中E、F分別在AA1、C1B1上,所以「」後的圖形中必須有AA1、C1B1;故「」方式有以下四種:(ⅰ)沿CC1將面ACC1A1和面BCC1B1至同一平面,如圖1,求得:EF2=;(ⅱ)沿BB1將面ABB1A1和面BCC1B1至同一平面,如圖2,求得:EF2=;(ⅲ)沿A1B1將面ABB1A1和面A1B1C1至同一平面,如圖3,求得:EF2=;(ⅳ)沿A1C1將面ACC1A1和面A1C1B1至同一平面,如圖4,求得:EF2=;比較可得(ⅳ)情況下,EF的值最小;故EF的最小值為.
❺ 粒子群演算法和離散粒子群演算法有什麼不同主要差別體現在哪裡
一般就是在跟新粒子位置後,對粒子進行離散點處理。
比如:
你的粒子的離散點是0到9的整數。
那麼對每個粒子更新位置後,比如是在(0,1)范圍內的隨機數。那麼就(0,0.1)范圍令其值為0;(0.1,0.2)范圍令其值為1;............(0.9.1)范圍令其值為9。
當然初始位置值也需要這樣處理。
❻ 如何理解離散數學中演算法的確定性
18·解:題中E、F分別在AA1、C1B1上,所以「」後的圖形中必須有AA1、C1B1;故「」方式有以下四種:(ⅰ)沿CC1將面ACC1A1和面BCC1B1至同一平面,如圖1,求得:EF2=;(ⅱ)沿BB1將面ABB1A1和面BCC1B1至同一平面,如圖2,求得:EF2=;(ⅲ)沿A1B1將面ABB1A1和面A1B1C1至同一平面,如圖3,求得:EF2=;(ⅳ)沿A1C1將面ACC1A1和面A1C1B1至同一平面,如圖4,求得:EF2=;比較可得(ⅳ)情況下,EF的值最小;故EF的最小值為.
❼ FLUENT中的求解器、演算法和離散方法
求解器:
FLUENT中求解器的選擇在如下圖所示界面中設置:
❽ 粒子群演算法主要用於處理離散問題,離散指什麼
比如說港口海岸線,離散的是指:把海岸線人為地劃分為1,2,3號泊位,來泊分散地安排在每個泊位;反之,則是連續的。
❾ 有哪位大神會計算足球的離散值求詳細講解和演算法公式
AVEDEV函數主要用來衡量數據的離知散程度.
如果樣本數據在A1:A100,計算離散程序輸入以下公式
=AVEDEV(A1:A100)
離散度道,應該就是可以專用標准差來顯示的。
每個數和平均數的屬差的平方相加再除以個數,最後開方.