dio演算法
Ⅰ 求行列式的演算法
public class Arranger {
private double[][] arrangerMatrix;
private double arrangerResult=1.0;
public static void main(String args[]){
double[][] a={{4,1,4,8},{1,1,3,2},{2,2,5,1},{2,2,1,4}};
Arranger ar=new Arranger();
ar.arrFunction(a);//把行列式變成上三角行列式
ar.displayMatrix();//顯示得出的上三角行列式
ar.displayResult(); //顯示行列式計算結果
}
public void arrFunction(double[][] a){//Guass 消去
double k=0;
for (int p = 0; p<a[0].length-1; p++) {
for (int r =p+1; r<a.length; r++) {
k=a[r][p]/a[p][p];
a[r][p]=0;
for (int c = p+1; c<a[0].length; c++) {
a[r][c]=a[r][c]-k*a[p][c];
}//u
}//r
}//c
arrangerMatrix=new double[a.length][a[0].length];
for (int i = 0; i<a.length; i++) {
for (int j = 0; j<a[0].length; j++) {
arrangerMatrix[i][j]=a[i][j];
if (i==j) {arrangerResult=arrangerResult*a[i][j];}//計算主對角線相乘的結果
//System.out.println (a[i][j]+" ");
}//j
}//i
}
public void displayMatrix(){
for (int i = 0; i<arrangerMatrix.length; i++) {
for (int j = 0; j<arrangerMatrix[0].length; j++) {
System.out.print (arrangerMatrix[i][j]+" ");
}//j
System.out.println ();
}//i
}
public void displayResult(){
System.out.println ("The result is "+arrangerResult);
}
}
Ⅱ 大衛. 希爾伯特所說的新世紀所面臨的23個問題是什麼
希爾伯特的23個問題
1900年希爾伯特應邀參加巴黎國際數學家大會並在會上作了題為《數學問題》重要演講。在這具有歷史意義的演講中,首先他提出許多重要的思想:
正如人類的每一項事業都追求著確定的目標一樣,數學研究也需要自己的問題。正是通過這些問題的解決,研究者鍛煉其鋼鐵意志,發現新觀點,達到更為廣闊的自由的境界。
希爾伯特特別強調重大問題在數學發展中的作用,他指出:「如果我們想對最近的將來數學知識可能的發展有一個概念,那就必須回顧一下當今科學提出的,希望在將來能夠解決的問題。」 同時又指出:「某類問題對於一般數學進程的深遠意義以及它們在研究者個人的工作中所起的重要作用是不可否認的。只要一門科學分支能提出大量的問題,它就充滿生命力,而問題缺乏則預示著獨立發展的衰亡或中止。」
他闡述了重大問題所具有的特點,好的問題應具有以下三個特徵:
1 清晰性和易懂性;
2 雖困難但又給人以希望;
3 意義深遠。
同時他分析了研究數學問題時常會遇到的困難及克服困難的一些方法。就是在這次會議上他提出了在新世紀里數學家應努力去解決的23個問題,即著名的「希爾伯特23個問題」。
編號 問題 推動發展的領域 解決的情況
1 連續統假設 公理化集合論 1963年,Paul J.Cohen 在下述意義下證明了第一個問題是不可解的。即連續統假設的真偽不可能在Zermelo_Fraenkel公理系統內判定。
2 算術公理的相容性 數學基礎 希爾伯特證明算術公理的相容性的設想,後來發展為系統的Hilbert計劃(「元數學」或「證明論」)但1931年歌德爾的「不完備定理」指出了用「元數學」證明算術公理的相容性之不可能。數學的相容性問題至今未解決。
3 兩等高等底的四面體體積之相等 幾何基礎 這問題很快(1900)即由希爾伯特的學生M.Dehn給出了肯定的解答。
4 直線作為兩點間最短距離問題 幾何基礎 這一問題提得過於一般。希爾伯特之後,許多數學家致力於構造和探索各種特殊的度量幾何,在研究第四問題上取得很大進展,但問題並未完全解決。
5 不要定義群的函數的可微性假設的李群概念 拓撲群論 經過漫長的努力,這個問題於1952年由Gleason, Montqomery , Zipping等人最後解決,答案是肯定的。
6 物理公理的數學處理 數學物理 在量子力學、熱力學等領域,公理化方法已獲得很大成功,但一般地說,公理化的物理意味著什麼,仍是需要探討的問題。概率論的公理化已由A.H.Konmoropob等人建立。
7 某些數的無理性與超越性 超越數論 1934年A.O.temohm 和Schneieder各自獨立地解決了這問題的後半部分。
8 素數問題 數論 一般情況下的Riemann猜想至今仍是猜想。包括在第八問題中的Goldbach問題至今也未解決。中國數學家在這方面做了一系列出色的工作。
9 任意數域中最一般的互反律之證明 類域論 已由高木貞治(1921)和E.Artin(1927)解決.
10 Diophantius方程可解性的判別 不定分析 1970年由蘇、美數學家證明Hilbert所期望的一般演算法是不存在的。
11 系數為任意代數數的二次型 二次型理論 H.Hasse(1929)和C. L.Siegel(1936,1951)在這問題上獲得了重要的結果。
12 Abel域上 kroneker定理推廣到任意代數有理域。 復乘法理論 尚未解決。
13 不可能用只有兩個變數的函數解一般的七次方程。 方程論與實函數論 連續函數情形於1957年由蘇數學家否定解決,如要求是解析函數,則問題仍未解決。
14 證明某類完全函數系的有限性 代數不變式理論 1958年永田雅宜給出了否定解決。
15 Schubert記數演算的嚴格基礎 代數幾何學 由於許多數學家的努力,Schubert演算的基礎的純代數處理已有可能,但Schubert演算的合理性仍待解決。至於代數幾何的基礎,已由B.L.Vander Waerden(1938-40)與 A.Weil(1950)建立。
16 代數曲線與曲面的拓撲 曲線與曲面的拓撲學、常微分方程的定性理論 問題的前半部分,近年來不斷有重要結果。
17 正定形式的平方表示式 域(實域)論 已由Artin 於1926年解決。
18 由全等多面體構造空間 結晶體群理論 部分解決。
19 正則變分問題的解是否一定解析 橢圓型偏微分方程理論 這個問題在某種意義上已獲解決。
20 一般邊值問題 橢圓型偏微分方程理論 偏微分方程邊值問題的研究正在蓬勃發展。
21 具有給定單值群的線性偏微分方程的存在性 線性常微分方程大范圍理論 已由Hilbert本人(1905)年和 H.Rohrl(德,1957)解決。
22 解析關系的單值化 Riemann 曲面體 一個變數的情形已由 P.Koebe (德,1907)解決。
23 變分法的進一步發展 變分法 Hilbert本人和許多數學家對變分法的發展作出了重要的貢獻。
Ⅲ 網頁解密,源代碼不知被用了什麼加密演算法
目測應該是encode加密。
Ⅳ 數學家發現了更大的素數,這究竟有什麼意義
只能說明人類的計算能力又有一個新的進步了。
Ⅳ 數學題目,
希爾伯特23問題和解決辦法的情況下
1900年希爾伯特應邀出席數學家在巴黎的國際會議,並作了題為「數學問題」的重要演講。在這個歷史性的演講,他做了一個許多重要的思想:
因為每個人追求的目標的原因是相同的數學研究也需要自己的問題。它是通過解決這些問題,研究人員行使其鐵將尋找新的思路,達到自由更廣闊的境界。
希爾伯特特別強調在數學發展中的重大問題中的作用,他說:「如果我們想數學知識的最接近的可能的未來發展是一個概念,它必須檢討目前的科學在未來提出了希望解決的問題「,而另一個人說:」對於影響深遠的一般數學過程及其個別研究人員的工作重要作用的某些問題起到不可否認的是,只要一門科學分支能提出大量的。問題,它充滿了活力,缺乏自主發展的預示跌勢或暫停「
他闡述了與特性的主要問題,很好的問題應具有以下三個特點:
清晰度和可理解性;
雖然困難,但有希望的;
有意義。
他分析經常在數學問題和一些克服困難的途徑研究中遇到的困難。當時他在新世紀的數學家提出會議應設法解決23問題,即著名的「希爾伯特23個問題。」
沒有解決問題,推動了場上的局面
1連續統假設公理集合論在1963年的發展,保羅J.Cohen證明在這個意義上,第一個問題是無法解決的。這連續統假設不能Zermelo_Fraenkel公理系統內確定真偽。
算術希爾伯特兩個公理的相容性的數學基礎證明算術的相容性公理?的想法,後來發展成希爾伯特計劃系統(「元數學」或「證據論」),但在1931年哥德爾的「不完全性定理」認為不可能的「元數學」算術公理證明的兼容性。兼容性問題仍然沒有解決的數學。
3和兩卷等於四面體構型為基礎的問題,其他較高端的很快(1900年)的希爾伯特學生M.Dehn給出了肯定的答案。
4直線上兩個點之間的幾何問題的基礎,提這個問題太籠統的最短距離。希爾伯特之後,許多數學家致力於探索各種特殊結構和幾何度量,在第四的研究很大的進步,但問題還沒有完全解決。
5,不要經過長期努力定義假設拓撲李群理論的可微函數組,這個問題最後由格里森,Montqomery,壓縮和其他人解決了1952年,答案是肯定的。
在量子力學,熱力學物理領域數學物理6公理的數學處理,公理化方法已經非常成功,但在一般情況下,這意味著什麼不言自明的物理學仍然是一個需要探討的問題。通過AHKonmoropob等人建立了公理化概率論。
7一定數量的非理性和超越數論1934年超越AOtemohm和Schneieder獨立解決這個問題的後半部分。 8素數猜想一般的情況下仍然是猜想。哥德巴赫問題,包括的至今尚未解決的第八個問題。中國數學家做了一系列的優秀作品。相互證明抗法的最一般的類域論的任何數量的域
9貞治由高木(1921)和E.Artin(1927)解決。
10 Diophantius方程有解判別變數由蘇聯,美國和數學家分析,在1970年證明希爾伯特期望的一般演算法不存在。
二次二次H.Hasse(1929)和CLSiegel(1936,1951)對這個問題的任何代數數論的11系數已取得顯著成效。上
12阿貝爾域kroneker定理任意代數有理域。復數乘法理論尚未得到解決。
13不能只用兩個變數的方程七通解函數。方程理論和由蘇聯數學家消極解決,這樣的要求是解析函數的情況在1957年真正的函數連續函數,那麼這個問題沒有解決。
14證明了有限的課堂代數不變數理論的完全系於1958年約翰田雅宜的函數給出了否定的解決。
代數幾何的15舒伯特演算符號嚴格的基礎上,由於許多數學家的努力,舒伯特演算基於純代數的治療一直是可能的,但合理的舒伯特演算得到解決。隨著代數幾何,由BLVander Waerden(1938-40)和A.Weil(1950)建立的基礎。拓撲
16拓撲代數曲線和曲面曲線和曲面的,前面的問題,常微分方程定性理論的一半,近年來也出現了顯著成效。
表達域(實數域)在阿廷的17平方明確的形式在1926年得到解決。通過溶液的空間群理論部分的晶體結構
18全等多面體。解決方案
19定期變分問題有一定的橢圓型偏微分方程的理論解決了這個問題已經解決了的感覺。
對偏微分方程的研究正在蓬勃發展橢圓型偏微分方程邊值問題的邊界值問題20一般理論。
21具有線性的存在常微分方程的線性順序值組偏微分方程的理論具有解決各種希爾伯特我(1905)年,H.Rohrl(德國,1957)中。
的解決了可變情況由P.Koebe(德國,1907年)22單值解析關系黎曼曲面體。
變分法希爾伯特本人和許多數學家變分法的發展作出了重要貢獻的23變分法的進一步發展。
國會一百年前與希爾伯特的問題敻危玟
21世紀,數學家的第一次國際會議在北京召開在即,將帶來些什麼數學在本世紀的發展?可以作為關於數學在20世紀,它的發展作為數學家的第一次國際會議的方向?國會數學家一個世紀前永遠的原因,僅僅是因為一個人,因為他的報告的史冊 - 「數學問題」希爾伯特(大衛·希爾伯特)和他的
1900年,希爾伯特提出了他著名的23數學問題,在巴黎的國際數學家大會第二次會議召開。在隨後的半個世紀中,許多世界級的數學思想有他們轉身。只是其另一個情況非常著名數學家外爾(H.外爾)說:「希爾伯特自爆他的魔笛,鼠群都跟著他躥了河裡。」這也難怪,他提出的問題是如此的清晰,很容易理解,他們中的一些有趣,足以讓許多外行都躍躍欲試,並解決任何一個,或在任何重大突破的一個問題,並且馬上就能來命名世界各地 - 我們的陳的,因為在第一個八解決希爾伯特問題(即素數的問題,包括黎曼猜想,哥德巴赫猜想等),必須將眉毛的世界一個顯著的貢獻。它概括了發展在二十世紀的數學,二十世紀的數學,通常被稱為問題希爾伯特烽火尤其是發展。
其實,這些問題絕大多數已經存在,不是希爾伯特首先提出的。但他的立場上了一個台階,有一個更清晰,更簡單的方法來重新提出了這些問題,並指出在解決很多問題的方向。
數學是非常多的問題,究竟是什麼更重要,更基本的?做出這樣的選擇,需要敏銳的洞察力。希爾伯特為什麼能如此目光如炬?數學歷史學家,研究員,中國中國科學院數學與系統科學學院, - 譯者「希爾伯特數學王國亞歷山大」一書袁張向東先生(和李文林先生翻譯),這是因為亞歷山大的希爾伯特數學王國!數學家可以分為兩大類,善於解決數學問題,從而使目前的情況了很好的理論總結,另外,它可以在兩個類別的一流,二流,三流的分解。希爾伯特兩種,長,行程現代數學的幾乎所有的最前沿,一些在數學的大枝差異對數學了如指掌提到的許多問題的發展的背景下離開了他的顯赫的名字有深入的研究,數學領域,「地王」。
為什麼希爾伯特總結數學的基本問題,在會議上,而不是普通百姓宣講他們的特定的結果?圖像表達告訴記者,這和其他的數學大師彭加勒(龐加萊)在1897年舉行辦的國際數學家大會第一次會議關於龐加萊是對數學的申請報告。他們兩人是在雙子座的國際數學界,當然,這兩個領軍人物,也有一些競爭的心理 - 是他對物理學的一般看法,數學龐加萊告訴關系自此希爾伯特有些人捍衛純數學。
法國龐加萊,希爾伯特是德國,法國和德國世仇,所以它們之間的競爭也帶來了競爭的國家的味道。雖然他們都非常尊重對方,這一點反映都沒有那麼明顯,但他們是學生和老師常常這樣想。
希爾伯特老師克萊恩(菲利克斯克萊因)是一個非常強大的一個國家的意義上,他十分重視在德國數學的發展,要成為國際數學界的橢圓形 - 前圓形,巴黎的中心,現在,他想在他們的城市已經成為了世界的中心摹哥廷根數學,數學界分為二,使橢圓的中心?
在希爾伯特和親密的朋友閔可夫斯基(赫爾曼·閔可夫斯基)與克萊因的幫助下實現自己的目標 - 1900年,希爾伯特和法國一直是最偉大的數學家龐加萊相提並論,而克萊因自己很快就來到到G?哥廷根閔可夫斯基也非常有影響力的數學家。事實上,他們被稱為在德國,「教授無敵三」。
一個例子可以想像他們的魅力。
有一天,當談到拓撲著名定理 - 當四色定理,閔可夫斯基突然有了一個想法,所以對於學生的滿堂說:「這個定理還沒有被證實,因為該到目前為止,只有一些三流的數學家也進行了研究現在我來證明這一點。「說完,他拿起粉筆在現場來證明這個定理。在本課結束後,他還沒有說完卡。他接下類的證書,歷時數周。最後,在一個下雨的早晨,他走上講台天空中出現一個晴天霹靂。 「上帝也激怒了我的囂張氣焰,」他說,「我證明了它並不完全。」 (該定理直到1994年與計算機證明這一點。)
1912年,彭加萊亡。 ?繼G中數學世界的中心哥廷根偏移,數學似乎成了一個圓圈 - 但該中心取代摹哥廷根?此時,青年數學流行的口號哥廷根學校的聲譽鼎盛時期被「打你的毯子,到哥廷根來!」
一個世紀後,希爾伯特列出的23個問題大約一半的問題已經解決了,大多數剩下的一半也有顯著的進步。但希爾伯特本人並沒有解決其中任何一個。有人問他為什麼他不會自己解決所提到的問題,比如說,費爾馬大定理?
費馬大定理是寫在空白頁的書中,他還聲稱,他想出了一個奇妙的卡法,但不幸的是沒有足夠大的空白處寫不下。希爾伯特的回答幽默同樣的意義:「我不想殺了這個金蛋的母雞」 - 一個德國企業家建立了一個基金會獎項的第一人,解決費馬大定律,希爾伯特當他的基金會,在每年的利息董事長資金,請充分利用優秀的學者來校講學在哥廷根,所以對他來說,由費馬大定律只是金蛋的母雞。 (費馬大定律只解決了直到1997年。)
之前列出23個問題,希爾伯特已經認識到了國際數學界的領導者,已經取得了數學的一些重要結果的許多領域。他的其他貢獻,比如他的不言自明的命題形式主義的想法,「幾何基礎」一書等,對數學在20世紀的發展產生了深遠的影響。
1 21世紀7數學問題
21世紀7數學問題
最近馬薩諸塞州克雷數學的(黏土)研究所2000年5月24日,在法蘭西學院在巴黎宣布了一項媒體事件這么熱:七「千禧年數學問題」的百萬美元每個獎勵。以下是一個簡要介紹七個挑戰。其中「千年之謎」
:P(多項式演算法)問題的NP(非多項式演算法)
問題,你在一個盛大的晚會參加。因為他們覺得尷尬,你想知道這是否大廳還有人已經知道。你的主人向你提議說,你必須知道誰是指日可待甜點盤女士羅絲。不費一秒鍾,你就能一目瞭然了那裡,發現你的主人是正確的。但是,如果沒有這樣的暗示,你要環顧房間,逐一檢查每一個人,看是否有你認識的人。產生這個問題的一個解決方案通常比驗證更高一個給定的解決方案需要更多的時間。這是這種一般現象的一個例子。與此相似的是,如果有人告訴你,數13,717,421可以寫成兩個較小的數的乘積,你可能不知道是否應該相信他,但是如果他告訴你,它可以利用3607的分解上3803,然後你可以使用一個袖珍計算器容易驗證這是對的。不管我們是聰明的編程,可以迅速確定答案是驗證使用內部的知識,沒有這樣的提示,或者需要花費大量的時間來解決,被看作是邏輯和計算機科學,最突出的問題之一。這是史蒂芬漢考克(StephenCook)聲明於1971年。
「千年難題」二:霍奇(Hodge的)猜想
二十世紀,數學家們發現,研究對象的復雜形狀的一種強有力的方式。其基本思想是要求在何種程度上,我們可以通過增加維數來創建簡單的幾何鍵合在一起形成一個塊形狀給定的對象。這種技術變得如此有用,所以它可以用在許多不同的方式進行推廣;最終導致一些強大的工具,使數學家們取得了很大時,他們學習各種對象的分類進展遇到。不幸的是,在此推動下,中離場程序的幾何點變得模糊。從某種意義上說,沒有必要添加部件的某些幾何解釋。霍奇猜想斷言,所謂射影代數簇這種特別完美的空間類型,稱為霍奇閉鏈的部件實際上是稱作代數幾何閉鏈組件(有理線性)組合。
「千年難題」之三:龐加萊(龐加萊)
想,如果我們伸縮自如的橡膠帶圍繞一個蘋果表面的,那麼我們就可以撕掉它都不是,不要讓它留在表面,使其移動緩慢收縮到一個點。在另一方面,如果我們想像同樣的橡皮帶伸展在輪胎表面適當的方向,所以不要撕裂或胎面橡膠帶,有沒有辦法把它收縮了一點。我們說,蘋果表面是「單連通的」,而不是胎面。大約一百年前,龐加萊已經知道,由一個單一的連接刻畫,他提出三維球面本質上是一個二維球面(四維空間中有一個從原點所有單位)對應的問題。這個問題立即變得非常困難,從那時起,數學家一直在努力上。
「千年難題」之四:黎曼(黎曼)假設
有些數字並沒有表示為特殊性能兩個較小的數的乘積,例如,2,3, 5,7,依此類推。這樣的數稱為素數;它們都起到純數學及其應用具有重要作用。在所有的自然數,素數的這種分布並不遵循任何規律,然而,德國數學家黎曼(1826年至1866年)指出,素數的頻率緊密的函數調用黎曼蔡一個精心構造的塔相關(新元的行為。著名的黎曼假設斷言,方程Z(S)= 0對所有有意義的解都在一條直線上,這點一直是一個解決方案1,500,000,000開始驗證。證明它是對每個已建立一個有意義的解決方案會帶來很多的奧秘周圍的配光素數
「千年難題」之五:楊 - 米爾斯(楊 - 米爾斯)的存在和質量差距
>量子物理定律是基於經典力學到宏觀世界的牛頓定律成立基本粒子世界的方式。大約半個世紀以前,楊振寧和米爾斯發現,量子物理揭示了在基本粒子物理學。令人印象深刻的數學和根據楊對象之間的幾何關系 - 在世界各地的實驗室米爾斯方程的高能實驗已經預測為那些確診的應驗:布羅克哈文字,斯坦福,歐洲粒子物理研究所和築波。然而,它們都描述了重粒子,以及在數學方程的嚴格沒有已知的解決方案。尤其是,已經認識到大多數物理學家和他們的尊重。 「誇克」隱形的解釋適用於「質量差距」的假設從來沒有被證實對數學令人滿意。在這個問題上的進展需要引入的物理和數學兩個新的基礎。想法
「千年難題」之六:納維 - 存在與平滑
起伏的波浪跟隨我們的湖風是穿梭船,嘩嘩流跟著我們的現代飛機飛行的數學家和物理學家深信,無論是微風還是湍流,可以由納維理解 - 斯托亞歷克斯方程解決他們的解釋和預言。雖然這些公式都寫在19世紀,我們對他們的了解依然少得可憐。挑戰是使對數學理論的進步,使我們能解開隱藏在納維 - 斯托克斯方程中的奧秘
「千年難題」之七:貝赫(樺木)和斯維訥傳遞 - 戴爾(斯溫納頓 - 戴爾)猜想
數學家一直如x ^ 2 + Y ^ 2 = Z ^ 2都刻畫的問題,因為代數方程迷人的整數解。歐幾里得不得不給出一個完整的答案,這個方程,但對於更復雜的方程,它變得非常困難。事實上,正如馬蒂亞謝偉琦(Yu.V.Matiyasevich)指出,希爾伯特第十問題是不可解,即有確定這種方法是否有一個整數解沒有通用方式。當該解決方案是一個點的阿貝爾簇,貝格和斯維訥通 - 戴爾認為犯罪嫌疑人,一群理性點的一列蔡函數z在S = 1的狀態點附近(S)的大小。特別是,這個有趣的推測是,當z(1)等於0,則存在的有理點的無限數量的(溶液),與此相反,當z(1)不等於0,那麼就只有這樣的點的數量有限。
Ⅵ pso的演算法結構
對微粒群演算法結構的改進方案有很多種,對其可分類為:採用多個子種群;改進微粒學習對象的選取策略;修改微粒更新迭代公式;修改速度更新策略;修改速度限制方法、位置限制方法和動態確定搜索空間;與其他搜索技術相結合;以及針對多模問題所作的改進。
第一類方案是採用多個子種群。柯晶考慮優化問題對收斂速度和尋優精度的雙重要求並借鑒多群體進化演算法的思想,將尋優微粒分成兩組,一組微粒採用壓縮因子的局部模式PSO演算法,另一組微粒採用慣性權重的全局模式PSO演算法,兩組微粒之間採用環形拓撲結構。對於高維優化問題,PSO演算法需要的微粒個數很多,導致計算復雜度常常很高,並且很難得到好的解。因此,出現了一種協作微粒群演算法(Cooperative ParticleSwarm Optimizer, CPSO-H),將輸入向量拆分成多個子向量,並對每個子向量使用一個微粒群來進行優化。雖然CPSO-H演算法使用一維群體來分別搜索每一維,但是這些搜索結果被一個全局群體集成起來之後,在多模問題上的性能與原始PSO演算法相比有很大的改進。Chow使用多個互相交互的子群,並引入相鄰群參考速度。馮奇峰提出將搜索區域分區,使用多個子群並通過微粒間的距離來保持多樣性。陳國初將微粒分成飛行方向不同的兩個分群,其中一分群朝最優微粒飛行,另一分群微粒朝相反方向飛行;飛行時,每一微粒不僅受到微粒本身飛行經驗和本分群最優微粒的影響,還受到全群最優微粒的影響。Niu在PSO演算法中引入主—從子群模式,提出一種多種群協作PSO演算法。Seo提出一種多組PSO演算法(Multigrouped PSO),使用N組微粒來同時搜索多模問題的N個峰。Selleri使用多個獨立的子群,在微粒速度的更新方程中添加了一些新項,分別使得微粒向子群歷史最優位置運動,或者遠離其他子群的重心。王俊年借鑒遞階編碼的思想,構造出一種多種群協同進化PSO演算法。高鷹借鑒生態學中環境和種群競爭的關系,提出一種基於種群密度的多種群PSO演算法。
第二類方案是改進微粒學習對象的選取策略。Al-kazemi提出多階段PSO演算法,將微粒按不同階段的臨時搜索目標分組,這些臨時目標允許微粒向著或背著它自己或全局最好位置移動。Ting對每個微粒的pBest進行操作,每一維從其他隨機確定的維度學習,之後如果新的pBest更好則替換原pBest;該文還比較了多種不同學習方式對應的PSO演算法的性能。Liang提出一種新穎的學習策略CLPSO,利用所有其他微粒的歷史最優信息來更新微粒的速度;每個微粒可以向不同的微粒學習,並且微粒的每一維可以向不同的微粒學習。該策略能夠保持群體的多樣性,防止早熟收斂,可以提高PSO演算法在多模問題上的性能;通過實驗將該演算法與其它幾種PSO演算法的變種進行比較,實驗結果表明該演算法在解決多模復雜問題時效果很好。Zhao在PSO演算法中使用適應值最好的n個值來代替速度更新公式中的gBest。Abdelbar提出一種模糊度量,從而使得每個鄰域中有多個適應值最好的微粒可以影響其它微粒。Wang也採用多個適應值最好的微粒信息來更新微粒速度,並提出一種模糊規則來自適應地確定參數。崔志華提出一種動態調整的改進PSO演算法,在運行過程中動態調整極限位置,使得每個微粒的極限位置在其所經歷的最好位置與整體最好位置所形成的動態圓中分布。與原始PSO演算法相反,有一類方法是遠離最差位置而非飛向最優位置。Yang提出在演算法中記錄最差位置而非最優位置,所有微粒都遠離這些最差位置。與此類似,Leontitsis在微粒群演算法中引入排斥子的概念,在使用個體最優位置和群體最優位置信息的同時,在演算法中記錄當前的個體最差位置和群體最差位置,並利用它們將微粒排斥到最優位置,從而讓微粒群更快地到達最優位置。孟建良提出一種改進的PSO演算法,在進化的初期,微粒以較大的概率向種群中其他微粒的個體最優學習;在進化後期,微粒以較大的概率向當前全局最優個體學習。Yang在PSO演算法中引入輪盤選擇技術來確定gBest,使得所有個體在進化早期都有機會引領搜索方向,從而避免早熟。
第三類方案是修改微粒更新公式。Hendtlass在速度更新方程中給每個微粒添加了記憶能力。He在速度更新方程中引入被動聚集機制。曾建潮通過對PSO演算法的速度進化迭代方程進行修正,提出一種保證全局收斂的隨機PSO演算法。Zeng在PSO演算法中引入加速度項,使得PSO演算法從一個二階隨機系統變為一個三階隨機系統,並使用PID控制器來控制演算法的演化。為了改進PSO演算法的全局搜索能力,Ho提出一種新的微粒速度和位置更新公式,並引入壽命(Age)變數。
第四類方案是修改速度更新策略。Liu認為過於頻繁的速度更新會弱化微粒的局部開采能力並減慢收斂,因此提出一種鬆弛速度更新(RVU)策略,僅當微粒使用原速度不能進一步提高適應值時才更新速度,並通過試驗證明該策略可以大大減小計算量並加速收斂。羅建宏對同步模式和非同步模式的PSO演算法進行了對比研究,試驗結果表明非同步模式收斂速度顯著提高,同時尋優效果更好。Yang在微粒的更新規則中引入感情心理模型。Liu採用一個最小速度閾值來控制微粒的速度,並使用一個模糊邏輯控制器來自適應地調節該最小速度閾值。張利彪提出了對PSO演算法增加更新概率,對一定比例的微粒並不按照原更新公式更新,而是再次隨機初始化。Dioan利用遺傳演算法(GA)來演化PSO演算法的結構,即微粒群中各微粒更新的順序和頻率。
第五類方案是修改速度限制方法、位置限制方法和動態確定搜索空間。Stacey提出一種重新隨機化速度的速度限制和一種重新隨機化位置的位置限制。Liu在[76]的基礎上,在PSO演算法中引入動量因子,來將微粒位置限制在可行范圍內。陳炳瑞提出一種根據微粒群的最佳適應值動態壓縮微粒群的搜索空間與微粒群飛行速度范圍的改進PSO演算法。
第六類方案是通過將PSO演算法與一些其他的搜索技術進行結合來提高PSO演算法的性能,主要目的有二,其一是提高種群多樣性,避免早熟;其二是提高演算法局部搜索能力。這些混合演算法包括將各種遺傳運算元如選擇、交叉、變異引入PSO演算法,來增加種群的多樣性並提高逃離局部最小的能力。Krink通過解決微粒間的沖突和聚集來增強種群多樣性,提出一種空間擴展PSO演算法(Spatial ExtensionPSO,SEPSO);但是SEPSO演算法的參數比較難以調節,為此Monson提出一種自適應調節參數的方法。用以提高種群多樣性的其他方法或模型還包括「吸引—排斥」、捕食—被捕食模型、耗散模型、自組織模型、生命周期模型(LifeCycle model)、貝葉斯優化模型、避免沖突機制、擁擠迴避(Crowd Avoidance)、層次化公平競爭(HFC)、外部記憶、梯度下降技術、線性搜索、單純形法運算元、爬山法、勞動分工、主成分分析技術、卡爾曼濾波、遺傳演算法、隨機搜索演算法、模擬退火、禁忌搜索、蟻群演算法(ACO)、人工免疫演算法、混沌演算法、微分演化、遺傳規劃等。還有人將PSO演算法在量子空間進行了擴展。Zhao將多主體系統(MAS)與PSO演算法集成起來,提出MAPSO演算法。Medasani借鑒概率C均值和概率論中的思想對PSO演算法進行擴展,提出一種概率PSO演算法,讓演算法分勘探和開發兩個階段運行。
第七類方案專門針對多模問題,希望能夠找到多個較優解。為了能使PSO演算法一次獲得待優化問題的多個較優解,Parsopoulos使用了偏轉(Deflection)、拉伸(Stretching)和排斥(Repulsion)等技術,通過防止微粒運動到之前已經發現的最小區域,來找到盡可能多的最小點。但是這種方法會在檢測到的局部最優點兩端產生一些新的局部最優點,可能會導致優化演算法陷入這些局部最小點。為此,Jin提出一種新的函數變換形式,可以避免該缺點。基於類似思想,熊勇提出一種旋轉曲面變換方法。
保持種群多樣性最簡單的方法,是在多樣性過小的時候,重置某些微粒或整個微粒群。Lvbjerg在PSO演算法中採用自組織臨界性作為一種度量,來描述微粒群中微粒相互之間的接近程度,來確定是否需要重新初始化微粒的位置。Clerc提出了一種「Re-Hope」方法,當搜索空間變得相當小但是仍未找到解時(No-Hope),重置微粒群。Fu提出一種帶C-Pg變異的PSO演算法,微粒按照一定概率飛向擾動點而非Pg。赫然提出了一種自適應逃逸微粒群演算法,限制微粒在搜索空間內的飛行速度並給出速度的自適應策略。
另一種變種是小生境PSO演算法,同時使用多個子種群來定位和跟蹤多個最優解。Brits還研究了一種通過調整適應值計算方式的方法來同時找到多個最優解。Li在PSO演算法中引入適應值共享技術來求解多模問題。Zhang在PSO演算法中採用順序生境(SequentialNiching)技術。在小生境PSO演算法的基礎上,還可以使用向量點積運算來確定各個小生境中的候選解及其邊界,並使該過程並行化,以獲得更好的結果。但是,各種小生境PSO演算法存在一個共同的問題,即需要確定一個小生境半徑,且演算法性能對該參數很敏感。為解決該問題,Bird提出一種自適應確定niching參數的方法。
Hendtlass在PSO演算法中引入短程力的概念,並基於此提出一種WoSP演算法,可以同時確定多個最優點。劉宇提出一種多模態PSO演算法,用聚類演算法對微粒進行聚類,動態地將種群劃分成幾個類,並且使用微粒所屬類的最優微粒而非整個種群的最好微粒來更新微粒的速度,從而可以同時得到多個近似最優解。Li在PSO演算法中引入物種的概念,但是由於其使用的物種間距是固定的,該方法只適用於均勻分布的多模問題;為此,Yuan對該演算法進行擴展,採用多尺度搜索方法對物種間距加以自適應的調整。
此外,也有研究者將PSO演算法的思想引入其他演算法中,如將PSO演算法中微粒的運動規則嵌入到進化規劃中,用PSO演算法中的運動規則來替代演化演算法中交叉運算元的功能。
Ⅶ 設計演算法將一個帶頭結點的單鏈表A分解為兩個具有相同結構的鏈表B、C,其中B表的結點為A表中值小於零的結點
dio.h>
#include <stdlib.h>
typedef struct node
{
char data;
struct node *nextPtr;
}*LinkList, Lnode;
static void CreateList(LinkList *headPtr, LinkList *tailPtr, char ch);
static void Decompose(LinkList *headPtrA, LinkList *headPtrB, LinkList *tailPtrB);
static void VisitList(LinkList headPtr);
static void DestroyList(LinkList *headPtr, LinkList *tailPtr);
int main(void)
{
LinkList headPtrA = NULL, tailPtrA = NULL, headPtrB = NULL, tailPtrB = NULL;
char ch;
while (1)
{
printf("Enter ch('@'-quit): ");
scanf(" %c", &ch);
if (ch == '@')
{
break;
}
else
{
CreateList(&headPtrA, &tailPtrA, ch);
}
}
VisitList(headPtrA); /* 列印分解前的鏈表 */
if (headPtrA != NULL) /* 鏈表不空的情況對其進行分解 */
{
Decompose(&headPtrA, &headPtrB, &tailPtrB); /* 對鏈表進行分解*/
}
else
{
printf("headPtrA is empty.\n");
}
VisitList(headPtrA); /* 列印分解後的鏈表 */
VisitList(headPtrB);
DestroyList(&headPtrA, &tailPtrA); /* 銷毀鏈表 */
DestroyList(&headPtrB, &tailPtrB);
return 0;
}
static void CreateList(LinkList *headPtr, LinkList *tailPtr, char ch)
{
LinkList newPtr;
if ((newPtr = (LinkList)malloc(sizeof(Lnode))) == NULL)
{
exit(1);
}
newPtr -> data = ch;
newPtr -> nextPtr = NULL;
if (*headPtr == NULL)
{
newPtr -> nextPtr = *headPtr;
*headPtr = newPtr;
}
else
{
(*tailPtr) -> nextPtr = newPtr;
}
*tailPtr = newPtr;
}
static void Decompose(LinkList *headPtrA, LinkList *headPtrB, LinkList *tailPtrB)
{
int count = 0;
LinkList cA, pA;
char ch;
cA = NULL;
for (pA = *headPtrA; pA != NULL; cA = pA,pA = pA -> nextPtr)
{
ch = pA -> data;
count++;
if (count % 2 == 0)
{
CreateList(headPtrB, tailPtrB, ch);
cA -> nextPtr = pA -> nextPtr;
}
}
}
static void VisitList(LinkList headPtr)
{
while (headPtr != NULL)
{
printf("%c -> ", headPtr -> data);
headPtr = headPtr -> nextPtr;
}
printf("NULL\n");
}
static void DestroyList(LinkList *headPtr, LinkList *tailPtr)
{
LinkList tempPtr;
while (*headPtr != NULL)
{
tempPtr = *headPtr;
*headPtr = (*headPtr) -> nextPtr;
free(tempPtr);
}
*headPtr = NULL;
*tailPtr = NULL;
}
Ⅷ 新大洲本田踏板摩托車dio-27發動機號是多少
一、車輛識別代號就是汽車的VIN碼。VIN碼是英文(Veterinary Information Network )的縮寫,譯為車輛識別代碼,又稱車輛識別碼,車輛識別代碼,車輛識別號,車輛識別代號,VIN碼是表明車輛身份的代碼。車輛識別代號就是汽車的身份證號,通常也稱之為車架號。
二、VIN碼由17位字元(包括英文字母和數字)組成,俗稱十七位碼。是製造廠為了識別而給一輛車指定的一組字碼。該號碼的生成有著特定的規律,一一對應於每一輛車,並能保證五十年內在全世界范圍內不重復出現。因此將其稱為"汽車身份證"。車輛識別代號中含有車輛的製造廠家、生產年代、車型、車身型式、發動機以及其它裝備的信息。
三、VIN代碼的含義
車輛識別代號應由三個部分組成:
第一部分、世界製造廠識別代號(WMI);
第二部分,車輛說明部分(VDS);
第三部分,車輛指示部分(VIS)。
1)第1~3位(WMI:世界製造廠識別代碼):
表示製造廠、品牌和類型。用來標識車輛製造廠的唯一性。通常佔VIN代碼的前三位; 第1位:是表示地理區域,如非洲、亞洲、歐洲、大洋州、北美洲和南美洲。 第2位:字元表示一個特定地區內的一個國家。美國汽車工程師協會(SAE) 負責分配國家代碼。 第3位:字元表示某個特定的製造廠,由各國的授權機構負責分配。如果某製造廠的年產量少於500輛,其識別代碼的第三個字碼就是9。
2)第4~9位(VDS:車輛說明部分):說明車輛的一般特性,製造廠不用其中的一位或幾位字元,就在該位置填入選定的字母或數字佔位,其代號順序由製造廠確定。 轎車:種類、系列、車身類型、發動機類型及約束系統類型; MPV:種類、系列、車身類型、發動機類型及車輛額定總重; 載貨車:型號或種類、系列、底盤、駕駛室類型、發動機類型、制動系統及車輛額定總重; 客車:型號或種類、系列、車身類型、發動機類型及制動系統。
3)第10~17位(VIS:車輛指示部分):製造廠為了區別不同車輛而指定的一級字元,其最後四位應是數字。 第9位:校驗位,通過一定的演算法防止輸入錯誤; 第10位:車型年份,即廠家規定的型年(Model Year),不一定是實際生產的年份,但一般與實際生產的年份之差不超過1年; 第11位:裝配廠; 12~17位:順序號,一般情況下,汽車召回都是針對某一順序號范圍內的車輛,即某一批次的車輛。
Ⅸ 英雄聯盟KDA是什麼意思
KDA指的是KILL DEATH ASSIST(殺人率,死亡率,支援率)。
在游戲LOL中,KDA的演算法是(殺+助)/ 死 X 3,而不是「(K+A)/D 正常值為3」。
拓展資料:
在游戲DOTA,LOL以及hero of newerth 里,KDA指的是KILL DEATH ASSIST(殺人率,死亡率,支援率),平常以KD RATIO(KDR)表示殺人率和死亡率的對比。
LOL游戲中,玩家KDA計算方式如下:
玩家的擊殺數,加上70%助攻數,獲得數據A;
2.使用A除以死亡數,獲得數據B;
3.再根據玩家是否在游戲中,抗傷最多,拆塔最多,加上額外的分數後即為KDA。
其實kda是反映一個玩家游戲水平的數值,KDA數值越高,說明你的水平越高。KDA就是:殺人(Kill)死亡(Death)助攻(Assist)按照一定比率來算的一個數值,其公式為(K+A)/ D,一般情況下3為正常。lol的第三方插件中的kda計算方式與lol客戶端稍有差異,會多乘一個3,所以一般看來就比較大。
參考資料:KDA-網路