線上賭博app獲利秘訣:如何運用數據分析提高勝率【 皇朝娛樂城:呃人的娛樂場所還是呃人的環境?】
---
文章目錄
線上賭博app獲利秘訣:如何運用數據分析提高勝率
皇朝娛樂城:呃人的娛樂場所還是呃人的環境?
【优化算法】麻雀搜索优化算法(SSA)【含Matlab源码 1288期】
"線上賭博app獲利秘訣:如何運用數據分析提高勝率"
線上賭博app獲利秘訣:如何運用數據分析提高勝率
<
>在線上賭博app中,運用數據分析是提高勝率的重要策略之一。通過分析過去的數據,我們可以瞭解遊戲的趨勢和模式,從而做出更明智的下注決策。下面將詳細介紹如何運用數據分析來提高勝率。
1. 收集和整理數據
首先,我們需要收集和整理遊戲相關的數據。這些數據可以包括遊戲結果、玩家表現、球隊戰績等。可以通過官方網站、賭博論壇或專業的數據分析工具來獲取這些數據。將數據整理成易於理解和分析的格式,例如表格或圖表。
2. 分析過去的數據
一旦收集到數據,我們可以開始進行分析。通過對過去的數據進行深入分析,我們可以找到一些有價值的信息和趨勢。例如,我們可以分析過去的比賽結果,找出某些球隊在特定場地或對手面前的表現優勢。這些信息可以幫助我們在下注時做出更明智的選擇。
3. 使用統計方法<
>
在數據分析中,統計方法是不可或缺的工具。我們可以使用統計方法來計算平均值、標準差、概率等。例如,我們可以計算某個球隊在主場比賽中的平均得分,以及該得分的標準差。這些統計數據可以幫助我們評估球隊的實力和穩定性。
4. 考慮其他因素
4>
除了數據分析,還應該考慮其他因素來做出更全面的判斷。例如,球隊的陣容、傷病情況、主場優勢等都可以影響比賽結果。因此,在下注前,我們應該綜合考慮數據分析和其他因素。
5. 確定下注策h4>
通過數據分析和綜合考慮其他因素,我們可以制定一個合理的下注策略。例如,如果某個球隊在過去的比賽中表現出色且具有穩定的戰績,我們可以考慮在該球隊的比賽中下注。同樣,如果某個球隊在特定場地或對手面前表現出色,我們可以考慮在相應的情況下下注。
6. 監控和調整策
最後,我們需要不斷監控和調整我們的下注策略。通過觀察和分析新的數據,我們可以評估我們的策略是否有效,並做出必要的調整。例如,如果我們的策略在一段時間內表現不佳,我們可以重新分析數據,找出問題所在並進行改
總結來説,運用數據分析可以提高線上賭博app的勝率。通過收集和整理數據、分析過去的數據、使用統計方法、考慮其他因素、確定下注策略以及監控和調整策略,我們可以做出更明智的下注決策,從而提高勝率。
皇朝娛樂城:呃人的娛樂場所還是呃人的環境?
皇朝娛樂城:呃人的娛樂場所還是呃人的環
?
皇朝娛樂城一直以來都是人們熱衷的娛樂場所。然而,我們需要思考的是,這樣的娛樂場所是否是建立在呃人的環境之上,還是只關注著呃人的利益與?
首先,我們可以看到皇朝娛樂城內人山人海的場面,人們為了尋找刺激和刻意的快感湧入其中。然而,這種過度的擠擁和激烈的競爭是否會給人們帶來太大的壓力和負擔?在這樣的環境下,人們的心情和情緒得不到舒緩和放鬆,反而可能讓人感到煩躁和
慮。
其次,皇朝娛樂城的娛樂活動通常以賭博為主題,這種以贏錢為目的的娛樂方式是否太過於功利?人們可能會因為追求金錢和贏利而陷入沉迷,忽略了其他更重要的事情。這種追逐金錢的心態可能會導致人們的品德和價值觀出現偏差,從而對自己和他人造害。
此外,皇朝娛樂城的環境也可能對人們的健康產生負面影響。在這樣的場所,煙霧和酒精氣味常常彌漫著空氣,這對於不吸煙或對酒精敏感的人來說可能會帶來不適。此外,長時間在這樣的環境下待著,人們可能會缺乏運動和新鮮空氣,對身體健康造害。
最後,我們還需要思考的是,皇朝娛樂城的娛樂活動是否能夠提供真正的樂趣和充實感?人們可能會在追求表面上的娛樂樂趣的同時,忽略了對於內心的追尋和內心的需求。真正的樂趣應該建立在內心的滿足和對生活的熱愛之上,而非只是追求表面的刺激
樂趣。
總結來說,皇朝娛樂城是一個對於人們而言既有吸引力又有潛在風險的娛樂場所。人們在享受娛樂的同時,也需要思考是否在一個呃人的環境中進行著娛樂活動。只有在關注自己的身心健康以及追求內心的滿足和真正的樂趣的同時,才能在娛樂場所中找到真正的快樂和滿足。
【优化算法】麻雀搜索优化算法(SSA)【含Matlab 1288期】
【優化算法】麻雀搜索優化算法(SSA)【含Matla
碼 1288期】 - 掘金
首頁
i>
<
商城
插件
搜索歷史 清
創作
中/p>
<
文章
發沸點
>寫筆記
寫代碼
草稿箱
創作靈感 查看更多
p
會員
登錄 註
【優化算法】麻雀搜索優化算法(S
【含Matlab源碼 1288期】
紫極神光Q1564658423
span> 2,480 <
n>
麻雀搜索算法(Sparrow Search Algorithm, SSA)是於2020年提出的。SSA 主要是受麻雀的覓食行為和反捕食行為的啓發而提出的。該算法比較新穎,具有尋優能力強
收斂速
的優點。 1 算法原理
建立麻雀搜索算法的數學模型,主要規則如下所述: (1)發現者通常擁有較高的能源儲備並且在整個種羣中負責搜索到具有豐富食物的區域,為所有的加入者提供覓食的區域和方向。在模型建立中能量儲備的高低取決於麻雀個體所對應的適應度值(Fitness Value)的好壞。 (2)一旦麻雀發現了捕食者,個體開始發出鳴叫作為報警信號。當報警值大於安全值時,發現者會將加入者帶到其它安全區域進行覓食。 (3)發現者和加入者的身份是動態變化的。只要能夠尋找到更好的食物來源,每隻麻雀都可以成為發現者,但是發現者和加入者所佔整個種羣數量的比重是不變的。也就是説,有一隻麻雀變成發現者必然有另一隻麻雀變成加入者。 (4)加入者的能量越低,它們在整個種羣中所處的覓食位置就越差。一些飢腸轆轆的加入者更有可能飛往其它地方覓食,以獲得更多的能量。 (5)在覓食過程中,加入者總是能夠搜索到提供最好食物的發現者,然後從最好的食物中獲取食物或者在該發現者周圍覓食。與此同時,一些加入者為了增加自己的捕食率可能會不斷地監控發現者進而去爭奪食物資源。 (6)當意識到危險時,羣體邊緣的麻雀會迅速向安全區域移動,以獲得更好的位置,位於種羣中間的麻雀則會隨機走動,以靠近其它麻雀。 在模擬實驗中,我們需要使用虛擬麻雀進行食物的尋找,由n只麻雀組成的種羣可表示為如下形式: 其中,d表示待優化問題變量的維數,n則是麻雀的數量。那麼,所有麻雀的適應度值可以表示為如下形式: 其中,f表示適應度值。 在SSA中, 具有較好適應度值的發現者在搜索過程中會優先獲取食物。此外, 因為發現者負責為整個麻雀種羣尋找食物並為所有加入者提供覓食的方向。因此,發現者可以獲得比加入者更大的覓食搜索範圍。根據規則(1)和規則(2),在每次迭代的過程中,發現者的位置更新描述如下: 其中, t代表當前迭代數, j=1, 2, 3, ..., d.item maz是一個常數,表示最大的迭代次數。Xy表示第i個麻雀在第j維中的位置信息。xE(0,1]是一個隨機數。R2(R2E[0,1])和ST(STe[0.5, 1] ) 分別表示預警值和安全值。Q是服從正態分佈的隨機數.L表示一個1×d的矩陣, 其中該矩陣內每個元素全部為 1. 當R2n/2時,這表明,適應度值較低的第i個加入者沒有獲得食物,處於十分飢餓的狀態,此時需要飛往其它地方覓食,以獲得更多的能量。在模擬實驗中,我們假設這些意識到危險的麻雀佔總數量的10%到20%。這些麻雀的初始位置是在種羣中隨機產生的。根據規則(5),其數學表達式可以表示為如下形式: 其中, 其中X best是當前的全局最優位置。β作為步長控制參數, 是服從均值為0, 方差為1的正態分佈的隨機數。KE[-1, 1] 是一個隨機數,則是當前麻雀個體的適應度值。f,和fw分別是當前全局最佳和最差的適應度值。e的常數,以避免分母出現零。 為簡單起見, 當f:>f, 表示此時的麻雀正處於種羣的邊緣, 極其容易受到捕食者的攻擊。X best表示這個位置的麻雀是種羣中最好的位置也是十分安全的。f;=f,時,這表明處於種羣中間的麻雀意識到了危險,需要靠近其它的麻雀以此儘量減少它們被捕
風險
麻雀的方向同時也是步長控制參數。
2 算法流程
Step1: 初始化種羣,迭代次數,初始化捕食者和加入者比列。 Step2:計算適應度值,並排序。 Step3:利用式(3)更新捕食者位置。 Step4:利用式(4)更新加入者位置。 Step5:利用式(5)更新警戒者位置。 Step6:計算適應度值並更新麻雀位置。 Step7:是足條件,滿足則退出,輸出結果,否則,重複執行Step2-6;
二、原始碼
% ----------------------------------------------------------------------------------------------------------- % Sparrow Search algorithm (SSA) (demo) clear all clc SearchAgents_no=100; % 代數 Function_name='F1'; % Name of the test function that can be from F1 to F23 (Table 1,2,3 in the paper) Max_iteration=1000; % Maximum numbef of iterations % Load details of the selected benchmark function [lb,ub,dim,fobj]=Get_Functions_details(Function_name); [fMin,bestX,SSA_curve]=SSA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj); %Draw objective space semilogy(SSA_curve,'Color','g') axis ([0 1000 0 1 ]) title('Objective space') xlabel('Iteration'); ylabel('Best score obtained so far'); %axis tight grid on box on legend('SSA') display(['The best solution obtained by SSA is : ', num2str(bestX)]); display(['The best optimal value of the objective funciton found by SSA is : ', num2str(fMin)]); %pop是種羣,M是迭代次數,fobj是用來計算適應度的函數 %pNum是生產者 %r1==a % r2:預警值 % fit:適應度 function [fMin , bestX,Convergence_curve ] = SSA(pop, M,c,d,dim,fobj ) P_percent = 0.2; % The population size of producers accounts for "P_percent" percent of the total population size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% pNum = round( pop * P_percent ); % The population size of the producers lb= c.*ones( 1,dim ); % Lower limit/bounds/ a vector ub= d.*ones( 1,dim ); % Upper limit/bounds/ a vector %Initialization for i = 1 : pop x( i, : ) = lb + (ub - lb) .* rand( 1, dim ); fit( i ) = fobj( x( i, : ) ) ; end pFit = fit; pX = x; % The individual's best position corresponding to the pFit [ fMin, bestI ] = min( fit ); % fMin denotes the global optimum fitness value bestX = x( bestI, : ); % bestX denotes the global optimum position corresponding to fMin % Start updating the solutions. % for t = 1 : M [ ans, sortIndex ] = sort( pFit );% Sort. [fmax,B]=max( pFit ); worse= x(B,:); r2=rand(1); %%%%%%%%%%%%%5%%%%%%這一部位為發現者(探索者)的位置更新%%%%%%%%%%%%%%%%%%%%%%%%% if(r2<0.8)%預警值較小,説明沒有捕食者出現 for i = 1 : pNum %r2小於0.8的發現者的改變(1-20) % Equation (3) r1=rand(1); x( sortIndex( i ), : ) = pX( sortIndex( i ), : )*exp(-(i)/(r1*M));%對自變量做一個隨機變換 x( sortIndex( i ), : ) = Bounds( x( sortIndex( i ), : ), lb, ub );%對超過邊界的變量進行去除 fit( sortIndex( i ) ) = fobj( x( sortIndex( i ), : ) ); %就算新的適應度值 end else %預警值較大,説明有捕食者出現威脅到了種羣的安全,需要去其它地方覓食 for i = 1 : pNum %r2大於0.8的發現者的改變 x( sortIndex( i ), : ) = pX( sortIndex( i ), : )+randn(1)*ones(1,dim); x( sortIndex( i ), : ) = Bounds( x( sortIndex( i ), : ), lb, ub ); fit( sortIndex( i ) ) = fobj( x( sortIndex( i ), : ) ); end end %%%%%%%%%%%%%5%%%%%%這一部位為加入者(追隨者)的位置更新%%%%%%%%%%%%%%%%%%%%%%%%% for i = ( pNum + 1 ) : pop %剩下20-100的個體的變換 % Equation (4) A=floor(rand(1,dim)*2)*2-1; if( i>(pop/2))%這個代表這部分麻雀處於十分飢餓的狀態(因為它們的能量很低,也是是適應度值很差),需要到其它地方覓食 x( sortIndex(i ), : )=randn(1)*exp((worse-pX( sortIndex( i ), : ))/(i)^2); else%這一部分追隨者是圍繞最好的發現者周圍進行覓食,其間也有可能發生食物的爭奪,使其自己變成生產者 x( sortIndex( i ), : )=bestXX+(abs(( pX( sortIndex( i ), : )-bestXX)))*(A'*(A*A')^(-1))*ones(1,dim); end x( sortIndex( i ), : ) = Bounds( x( sortIndex( i ), : ), lb, ub );%判斷邊界是否超出 fit( sortIndex( i ) ) = fobj( x( sortIndex( i ), : ) );%計算適應度值 end %%%%%%%%%%%%%5%%%%%%這一部位為意識到危險(注意這裏只是意識到了危險,不代表出現了真正的捕食者)的麻雀的位置更新%%%%%%%%%%%%%%%%%%%%%%%%% c=randperm(numel(sortIndex));%%%%%%%%%這個的作用是在種羣中隨機產生其位置(也就是這部分的麻雀位置一開始是隨機的,意識到危險了要進行位置移動, %處於種羣外圍的麻雀向安全區域靠攏,處在種羣中心的麻雀則隨機行走以靠近別的麻雀) x( sortIndex( b(j) ), : )=bestX+(randn(1,dim)).*(abs(( pX( sortIndex( b(j) ), : ) -bestX))); else %處於種羣中心的麻雀的位置改變 x( sortIndex( b(j) ), : ) =pX( sortIndex( b(j) ), : )+(2*rand(1)-1)*(abs(pX( sortIndex( b(j) ), : )-worse))/ ( pFit( sortIndex( b(j) ) )-fmax+1e-50); end x( sortIndex(b(j) ), : ) = Bounds( x( sortIndex(b(j) ), : ), lb, ub ); fit( sortIndex( b(j) ) ) = fobj( x( sortIndex( b(j) ), : ) ); end for i = 1 : pop if ( fit( i ) < pFit( i ) ) pFit( i ) = fit( i ); pX( i, : ) = x( i, : ); end end end Convergence_curve(t)=fMin; end % Application of simple limits/bounds function s = Bounds( s, Lb, Ub) % Apply the lower bound vector % Apply the upper bound vector J = temp > Ub; temp(J) = Ub(J); % Update this new move s = temp; %----------------------
----------------------
-------------------------------------
--------
------
-------
e> 三、運行結果
四、matlab版本及參考文獻
1 matlab版本
2014a
2 參考文獻
[1] 包子陽,餘繼周,楊杉.智能優化算法及其MATLAB實例(第2版)[M].電子工業出版社,2016. [2]張巖,吳水根.MATLAB優化算法原始碼[M].清華大學出版社,2017. [3]周品.MATLAB 神經網絡設計與應用[M].清華大學出版社,2013. [4]陳明.MATLAB神經網絡原理與實例精解[M].清華大版社,2013. [5]方清城.MATLAB R2016a神經網絡設計與應用2
例分
<
神光Q15646584
/span>
<
讀
粉絲<
目錄
收起
>一、麻雀算法簡介
碼
<
>
三、運行結果
四
m
b版本
獻
相關推薦
66k閲讀
1.1k點讚
2023 前端性能
化清單
<
讀
814點讚
總是跳轉到國內版(cn.bing.com)?New B
428k閲/p> 138點讚
當面試官問我前端可以做能優化
67
1.3
讚
前端性能優—首頁資縮63%、白屏時間縮短86%
108k閲讀
3.0k點讚
友情連結:
數據庫事務管理 組件
線上賭博app獲利秘訣:如何運用數據分析提高勝率
皇朝娛樂城:呃人的娛樂場所還是呃人的環境?
【优化算法】麻雀搜索优化算法(SSA)【含Matlab源码 1288期】
"線上賭博app獲利秘訣:如何運用數據分析提高勝率"
線上賭博app獲利秘訣:如何運用數據分析提高勝率
<
>在線上賭博app中,運用數據分析是提高勝率的重要策略之一。通過分析過去的數據,我們可以瞭解遊戲的趨勢和模式,從而做出更明智的下注決策。下面將詳細介紹如何運用數據分析來提高勝率。
1. 收集和整理數據
首先,我們需要收集和整理遊戲相關的數據。這些數據可以包括遊戲結果、玩家表現、球隊戰績等。可以通過官方網站、賭博論壇或專業的數據分析工具來獲取這些數據。將數據整理成易於理解和分析的格式,例如表格或圖表。
2. 分析過去的數據
一旦收集到數據,我們可以開始進行分析。通過對過去的數據進行深入分析,我們可以找到一些有價值的信息和趨勢。例如,我們可以分析過去的比賽結果,找出某些球隊在特定場地或對手面前的表現優勢。這些信息可以幫助我們在下注時做出更明智的選擇。
3. 使用統計方法<
>
在數據分析中,統計方法是不可或缺的工具。我們可以使用統計方法來計算平均值、標準差、概率等。例如,我們可以計算某個球隊在主場比賽中的平均得分,以及該得分的標準差。這些統計數據可以幫助我們評估球隊的實力和穩定性。
4. 考慮其他因素
4>
除了數據分析,還應該考慮其他因素來做出更全面的判斷。例如,球隊的陣容、傷病情況、主場優勢等都可以影響比賽結果。因此,在下注前,我們應該綜合考慮數據分析和其他因素。
5. 確定下注策h4>
通過數據分析和綜合考慮其他因素,我們可以制定一個合理的下注策略。例如,如果某個球隊在過去的比賽中表現出色且具有穩定的戰績,我們可以考慮在該球隊的比賽中下注。同樣,如果某個球隊在特定場地或對手面前表現出色,我們可以考慮在相應的情況下下注。
6. 監控和調整策
最後,我們需要不斷監控和調整我們的下注策略。通過觀察和分析新的數據,我們可以評估我們的策略是否有效,並做出必要的調整。例如,如果我們的策略在一段時間內表現不佳,我們可以重新分析數據,找出問題所在並進行改
總結來説,運用數據分析可以提高線上賭博app的勝率。通過收集和整理數據、分析過去的數據、使用統計方法、考慮其他因素、確定下注策略以及監控和調整策略,我們可以做出更明智的下注決策,從而提高勝率。
皇朝娛樂城:呃人的娛樂場所還是呃人的環境?
皇朝娛樂城:呃人的娛樂場所還是呃人的環
?
皇朝娛樂城一直以來都是人們熱衷的娛樂場所。然而,我們需要思考的是,這樣的娛樂場所是否是建立在呃人的環境之上,還是只關注著呃人的利益與?
首先,我們可以看到皇朝娛樂城內人山人海的場面,人們為了尋找刺激和刻意的快感湧入其中。然而,這種過度的擠擁和激烈的競爭是否會給人們帶來太大的壓力和負擔?在這樣的環境下,人們的心情和情緒得不到舒緩和放鬆,反而可能讓人感到煩躁和
慮。
其次,皇朝娛樂城的娛樂活動通常以賭博為主題,這種以贏錢為目的的娛樂方式是否太過於功利?人們可能會因為追求金錢和贏利而陷入沉迷,忽略了其他更重要的事情。這種追逐金錢的心態可能會導致人們的品德和價值觀出現偏差,從而對自己和他人造害。
此外,皇朝娛樂城的環境也可能對人們的健康產生負面影響。在這樣的場所,煙霧和酒精氣味常常彌漫著空氣,這對於不吸煙或對酒精敏感的人來說可能會帶來不適。此外,長時間在這樣的環境下待著,人們可能會缺乏運動和新鮮空氣,對身體健康造害。
最後,我們還需要思考的是,皇朝娛樂城的娛樂活動是否能夠提供真正的樂趣和充實感?人們可能會在追求表面上的娛樂樂趣的同時,忽略了對於內心的追尋和內心的需求。真正的樂趣應該建立在內心的滿足和對生活的熱愛之上,而非只是追求表面的刺激
樂趣。
總結來說,皇朝娛樂城是一個對於人們而言既有吸引力又有潛在風險的娛樂場所。人們在享受娛樂的同時,也需要思考是否在一個呃人的環境中進行著娛樂活動。只有在關注自己的身心健康以及追求內心的滿足和真正的樂趣的同時,才能在娛樂場所中找到真正的快樂和滿足。
【优化算法】麻雀搜索优化算法(SSA)【含Matlab 1288期】
【優化算法】麻雀搜索優化算法(SSA)【含Matla
碼 1288期】 - 掘金
首頁
i>
<
商城
插件
搜索歷史 清
創作
中/p>
<
文章
發沸點
>寫筆記
寫代碼
草稿箱
創作靈感 查看更多
p
會員
登錄 註
【優化算法】麻雀搜索優化算法(S
【含Matlab源碼 1288期】
紫極神光Q1564658423
span> 2,480 <
n>
麻雀搜索算法(Sparrow Search Algorithm, SSA)是於2020年提出的。SSA 主要是受麻雀的覓食行為和反捕食行為的啓發而提出的。該算法比較新穎,具有尋優能力強
收斂速
的優點。 1 算法原理
建立麻雀搜索算法的數學模型,主要規則如下所述: (1)發現者通常擁有較高的能源儲備並且在整個種羣中負責搜索到具有豐富食物的區域,為所有的加入者提供覓食的區域和方向。在模型建立中能量儲備的高低取決於麻雀個體所對應的適應度值(Fitness Value)的好壞。 (2)一旦麻雀發現了捕食者,個體開始發出鳴叫作為報警信號。當報警值大於安全值時,發現者會將加入者帶到其它安全區域進行覓食。 (3)發現者和加入者的身份是動態變化的。只要能夠尋找到更好的食物來源,每隻麻雀都可以成為發現者,但是發現者和加入者所佔整個種羣數量的比重是不變的。也就是説,有一隻麻雀變成發現者必然有另一隻麻雀變成加入者。 (4)加入者的能量越低,它們在整個種羣中所處的覓食位置就越差。一些飢腸轆轆的加入者更有可能飛往其它地方覓食,以獲得更多的能量。 (5)在覓食過程中,加入者總是能夠搜索到提供最好食物的發現者,然後從最好的食物中獲取食物或者在該發現者周圍覓食。與此同時,一些加入者為了增加自己的捕食率可能會不斷地監控發現者進而去爭奪食物資源。 (6)當意識到危險時,羣體邊緣的麻雀會迅速向安全區域移動,以獲得更好的位置,位於種羣中間的麻雀則會隨機走動,以靠近其它麻雀。 在模擬實驗中,我們需要使用虛擬麻雀進行食物的尋找,由n只麻雀組成的種羣可表示為如下形式: 其中,d表示待優化問題變量的維數,n則是麻雀的數量。那麼,所有麻雀的適應度值可以表示為如下形式: 其中,f表示適應度值。 在SSA中, 具有較好適應度值的發現者在搜索過程中會優先獲取食物。此外, 因為發現者負責為整個麻雀種羣尋找食物並為所有加入者提供覓食的方向。因此,發現者可以獲得比加入者更大的覓食搜索範圍。根據規則(1)和規則(2),在每次迭代的過程中,發現者的位置更新描述如下: 其中, t代表當前迭代數, j=1, 2, 3, ..., d.item maz是一個常數,表示最大的迭代次數。Xy表示第i個麻雀在第j維中的位置信息。xE(0,1]是一個隨機數。R2(R2E[0,1])和ST(STe[0.5, 1] ) 分別表示預警值和安全值。Q是服從正態分佈的隨機數.L表示一個1×d的矩陣, 其中該矩陣內每個元素全部為 1. 當R2n/2時,這表明,適應度值較低的第i個加入者沒有獲得食物,處於十分飢餓的狀態,此時需要飛往其它地方覓食,以獲得更多的能量。在模擬實驗中,我們假設這些意識到危險的麻雀佔總數量的10%到20%。這些麻雀的初始位置是在種羣中隨機產生的。根據規則(5),其數學表達式可以表示為如下形式: 其中, 其中X best是當前的全局最優位置。β作為步長控制參數, 是服從均值為0, 方差為1的正態分佈的隨機數。KE[-1, 1] 是一個隨機數,則是當前麻雀個體的適應度值。f,和fw分別是當前全局最佳和最差的適應度值。e的常數,以避免分母出現零。 為簡單起見, 當f:>f, 表示此時的麻雀正處於種羣的邊緣, 極其容易受到捕食者的攻擊。X best表示這個位置的麻雀是種羣中最好的位置也是十分安全的。f;=f,時,這表明處於種羣中間的麻雀意識到了危險,需要靠近其它的麻雀以此儘量減少它們被捕
風險
麻雀的方向同時也是步長控制參數。
2 算法流程
Step1: 初始化種羣,迭代次數,初始化捕食者和加入者比列。 Step2:計算適應度值,並排序。 Step3:利用式(3)更新捕食者位置。 Step4:利用式(4)更新加入者位置。 Step5:利用式(5)更新警戒者位置。 Step6:計算適應度值並更新麻雀位置。 Step7:是足條件,滿足則退出,輸出結果,否則,重複執行Step2-6;
二、原始碼
% ----------------------------------------------------------------------------------------------------------- % Sparrow Search algorithm (SSA) (demo) clear all clc SearchAgents_no=100; % 代數 Function_name='F1'; % Name of the test function that can be from F1 to F23 (Table 1,2,3 in the paper) Max_iteration=1000; % Maximum numbef of iterations % Load details of the selected benchmark function [lb,ub,dim,fobj]=Get_Functions_details(Function_name); [fMin,bestX,SSA_curve]=SSA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj); %Draw objective space semilogy(SSA_curve,'Color','g') axis ([0 1000 0 1 ]) title('Objective space') xlabel('Iteration'); ylabel('Best score obtained so far'); %axis tight grid on box on legend('SSA') display(['The best solution obtained by SSA is : ', num2str(bestX)]); display(['The best optimal value of the objective funciton found by SSA is : ', num2str(fMin)]); %pop是種羣,M是迭代次數,fobj是用來計算適應度的函數 %pNum是生產者 %r1==a % r2:預警值 % fit:適應度 function [fMin , bestX,Convergence_curve ] = SSA(pop, M,c,d,dim,fobj ) P_percent = 0.2; % The population size of producers accounts for "P_percent" percent of the total population size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% pNum = round( pop * P_percent ); % The population size of the producers lb= c.*ones( 1,dim ); % Lower limit/bounds/ a vector ub= d.*ones( 1,dim ); % Upper limit/bounds/ a vector %Initialization for i = 1 : pop x( i, : ) = lb + (ub - lb) .* rand( 1, dim ); fit( i ) = fobj( x( i, : ) ) ; end pFit = fit; pX = x; % The individual's best position corresponding to the pFit [ fMin, bestI ] = min( fit ); % fMin denotes the global optimum fitness value bestX = x( bestI, : ); % bestX denotes the global optimum position corresponding to fMin % Start updating the solutions. % for t = 1 : M [ ans, sortIndex ] = sort( pFit );% Sort. [fmax,B]=max( pFit ); worse= x(B,:); r2=rand(1); %%%%%%%%%%%%%5%%%%%%這一部位為發現者(探索者)的位置更新%%%%%%%%%%%%%%%%%%%%%%%%% if(r2<0.8)%預警值較小,説明沒有捕食者出現 for i = 1 : pNum %r2小於0.8的發現者的改變(1-20) % Equation (3) r1=rand(1); x( sortIndex( i ), : ) = pX( sortIndex( i ), : )*exp(-(i)/(r1*M));%對自變量做一個隨機變換 x( sortIndex( i ), : ) = Bounds( x( sortIndex( i ), : ), lb, ub );%對超過邊界的變量進行去除 fit( sortIndex( i ) ) = fobj( x( sortIndex( i ), : ) ); %就算新的適應度值 end else %預警值較大,説明有捕食者出現威脅到了種羣的安全,需要去其它地方覓食 for i = 1 : pNum %r2大於0.8的發現者的改變 x( sortIndex( i ), : ) = pX( sortIndex( i ), : )+randn(1)*ones(1,dim); x( sortIndex( i ), : ) = Bounds( x( sortIndex( i ), : ), lb, ub ); fit( sortIndex( i ) ) = fobj( x( sortIndex( i ), : ) ); end end %%%%%%%%%%%%%5%%%%%%這一部位為加入者(追隨者)的位置更新%%%%%%%%%%%%%%%%%%%%%%%%% for i = ( pNum + 1 ) : pop %剩下20-100的個體的變換 % Equation (4) A=floor(rand(1,dim)*2)*2-1; if( i>(pop/2))%這個代表這部分麻雀處於十分飢餓的狀態(因為它們的能量很低,也是是適應度值很差),需要到其它地方覓食 x( sortIndex(i ), : )=randn(1)*exp((worse-pX( sortIndex( i ), : ))/(i)^2); else%這一部分追隨者是圍繞最好的發現者周圍進行覓食,其間也有可能發生食物的爭奪,使其自己變成生產者 x( sortIndex( i ), : )=bestXX+(abs(( pX( sortIndex( i ), : )-bestXX)))*(A'*(A*A')^(-1))*ones(1,dim); end x( sortIndex( i ), : ) = Bounds( x( sortIndex( i ), : ), lb, ub );%判斷邊界是否超出 fit( sortIndex( i ) ) = fobj( x( sortIndex( i ), : ) );%計算適應度值 end %%%%%%%%%%%%%5%%%%%%這一部位為意識到危險(注意這裏只是意識到了危險,不代表出現了真正的捕食者)的麻雀的位置更新%%%%%%%%%%%%%%%%%%%%%%%%% c=randperm(numel(sortIndex));%%%%%%%%%這個的作用是在種羣中隨機產生其位置(也就是這部分的麻雀位置一開始是隨機的,意識到危險了要進行位置移動, %處於種羣外圍的麻雀向安全區域靠攏,處在種羣中心的麻雀則隨機行走以靠近別的麻雀) x( sortIndex( b(j) ), : )=bestX+(randn(1,dim)).*(abs(( pX( sortIndex( b(j) ), : ) -bestX))); else %處於種羣中心的麻雀的位置改變 x( sortIndex( b(j) ), : ) =pX( sortIndex( b(j) ), : )+(2*rand(1)-1)*(abs(pX( sortIndex( b(j) ), : )-worse))/ ( pFit( sortIndex( b(j) ) )-fmax+1e-50); end x( sortIndex(b(j) ), : ) = Bounds( x( sortIndex(b(j) ), : ), lb, ub ); fit( sortIndex( b(j) ) ) = fobj( x( sortIndex( b(j) ), : ) ); end for i = 1 : pop if ( fit( i ) < pFit( i ) ) pFit( i ) = fit( i ); pX( i, : ) = x( i, : ); end end end Convergence_curve(t)=fMin; end % Application of simple limits/bounds function s = Bounds( s, Lb, Ub) % Apply the lower bound vector % Apply the upper bound vector J = temp > Ub; temp(J) = Ub(J); % Update this new move s = temp; %----------------------
----------------------
-------------------------------------
--------
------
-------
e> 三、運行結果
四、matlab版本及參考文獻
1 matlab版本
2014a
2 參考文獻
[1] 包子陽,餘繼周,楊杉.智能優化算法及其MATLAB實例(第2版)[M].電子工業出版社,2016. [2]張巖,吳水根.MATLAB優化算法原始碼[M].清華大學出版社,2017. [3]周品.MATLAB 神經網絡設計與應用[M].清華大學出版社,2013. [4]陳明.MATLAB神經網絡原理與實例精解[M].清華大版社,2013. [5]方清城.MATLAB R2016a神經網絡設計與應用2
例分
<
神光Q15646584
/span>
<
讀
粉絲<
目錄
收起
>一、麻雀算法簡介
碼
<
>
三、運行結果
四
m
b版本
獻
相關推薦
66k閲讀
1.1k點讚
2023 前端性能
化清單
<
讀
814點讚
總是跳轉到國內版(cn.bing.com)?New B
428k閲/p> 138點讚
當面試官問我前端可以做能優化
67
1.3
讚
前端性能優—首頁資縮63%、白屏時間縮短86%
108k閲讀
3.0k點讚
友情連結:
數據庫事務管理 組件
Комментарии (0)
{related-news}
[/related-news]