freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

蟻群算法模擬系統(tǒng)的設計與實現(xiàn)_畢業(yè)論文(編輯修改稿)

2024-10-05 11:00 本頁面
 

【文章內(nèi)容簡介】 .o為后綴的文件,是編譯后的目標文件; .s為后綴的文件,是匯編語言源代碼文件; .S為后綴的文件,是經(jīng)過預編譯的 匯編語言源代碼文件。 執(zhí)行過程 雖然我們稱 Gcc 是 C 語言的編譯器,但使用 gcc 由 C語言源代碼文件生成可執(zhí)行文件的過程不僅僅是編譯的過程,而是要經(jīng)歷四個相互關聯(lián)的步驟∶ 預處理 (也稱 預編譯 , Preprocessing)、 編譯 (Compilation)、 匯編 (Assembly)和 鏈接 (Linking)。 命令 gcc 首先調(diào)用 cpp 進行預處理,在預處理過程中,對源代碼文件中的文件包含(include)、預編譯語句 (如 宏 定義 define 等 )進行分析。接著調(diào)用 cc1進行編譯,這個階段根據(jù)輸入文件生成以 .o 為后綴的目標文件。匯編過程是針對匯編語言的步驟,調(diào)用as進行工作,一般來講, .S 為后綴的匯編語言源代碼文件和匯編、 .s為后綴的匯編語言文件經(jīng)過預編譯和匯編之后都生成以 .o 為后綴的目標文件。當所有的目標文件都生成之后, gcc 就調(diào)用 ld來完成最后的關鍵性工作,這個階段就是連接。在連接階段,所有江蘇大學 2020 屆本科畢業(yè)論文 8 的目標文件被安排在可執(zhí)行程序中的恰當?shù)奈恢?,同時,該程序所調(diào)用到的庫函數(shù)也從各自所在的檔案庫中連到合適的地 方。 基本用法 在使用 Gcc 編譯器的時候,我們必須給出一系列必要的調(diào)用參數(shù)和文件名稱。 Gcc編譯器的調(diào)用參數(shù)大約有 100多個,其中多數(shù)參數(shù)我們可能根本就用不到,這里只介紹其中最基本、最常用的參數(shù)。 Gcc 最基本的用法是∶ gcc [options] [filenames] 其中 options 就是編譯器所需要的參數(shù), filenames 給出相關的文件名稱。 c,只編譯,不連接成為可執(zhí)行文件,編譯器只是由輸入的 .c 等源代碼文件生成 .o為后綴的目標文件,通常用于編譯不包含主程序的子程序文件。 o output_filename,確定輸出文件的名稱為 output_filename,同時這個名稱不能和源文件同名。如果不給出這個選項, gcc 就給出預設的可執(zhí)行文件 。 g,產(chǎn)生符號調(diào)試工具 (GNU 的 gdb)所必要的符號資訊,要想對源代碼進行調(diào)試,我們就必須加入這個選項。 O,對程序進行優(yōu)化編譯、連接,采用這個選項,整個源代碼會在編譯、連接過程中進行優(yōu)化處理,這樣產(chǎn)生的可執(zhí)行文件的執(zhí)行效率可以提高,但是,編譯、連接的速度就相應地要慢一些。 O2,比 O更好的優(yōu)化編譯、連接 ,當然整個編譯、連接過程會更慢。 Idirname,將 dirname 所指出的目錄加入到程序頭文件目錄列表中,是在預編譯過程中使用的參數(shù)。 C程序中的頭文件包含兩種情況∶ A)include B)include “ ” 其中, A 類使用尖括號 ( ), B類使用雙引號 (“ ” )。對于 A 類,預處理程序 cpp在系統(tǒng)預設包含文件目錄 (如 /usr/include)中搜尋相應的文件,而 B類,預處理程序在目標文件的文件夾內(nèi)搜索相應文件。 江蘇大學 2020 屆本科畢業(yè)論文 9 . 基本蟻群算法 基本蟻群算法 蟻群優(yōu)化算法是一種受自然界生物行為啟發(fā)而產(chǎn)生“自然”算法。產(chǎn)生于對蟻群行為的研究。蟻群中的螞蟻以“信息素” (pheromone)為媒介,間接異步的相互聯(lián)系。這是蟻群優(yōu)化算法的最大特點。螞蟻在行動過程中 (尋找食物或?qū)ふ一爻驳穆窂?)中,會在他們經(jīng)過的地方留下一些化學物資,稱之為“信息素”。這些物資能被同一蟻群中后來的螞蟻感受到并作為一種信號影響后者的行動。具體表現(xiàn)在后到的螞蟻選擇有這些物資的路徑的可能性比選擇沒有這些物資的路徑的可能性大得多。后到者留下的信息素會對原有的信息素進行加強,并 循環(huán)下去。這樣,經(jīng)過螞蟻越多的路徑會被越多的螞蟻訪問,因而積累的信息素也就越多,在下一個時間內(nèi)被其他螞蟻選中的可能性也就越大。這個過程會一直持續(xù)到所有的螞蟻都走最短的那一條路為止。 通過圖 簡單的了解螞蟻的運動過程。假設一個螞蟻外出尋找食物,螞蟻從 nest點出發(fā),行走速度相同,食品在 food 點,螞蟻可能行走的路線如圖 。由于無法預知道路中間的情況,螞蟻出發(fā)時會隨機選擇 nestBfood 或 nestCfood 中的一條。 假設初始每條路線上分別分配一只螞蟻,每單位時間走一步。當行走 7 個單位 時間 后,為圖 中上半部分的情形,已經(jīng)有一個螞蟻到達 food 點。當行走 14個單位時間 后,走 nestBfood 的螞蟻己經(jīng)回到 A點,而行走 nestCfood 的螞蟻到達 food 點。如果螞蟻每經(jīng)過一點都留下大小為 1的信息素,這時 nestBfood 路線的第一點聚集 2點,而 nestCfood 路線的第一點聚集 1點。在行走 28個單位時間后,這兩點的信息素變化分別為 4和 2,比值為 2:1, nestCfood 路線的螞蟻返回 nest 點。 如果按比值的比例,一群決定 nestBfood 路線派兩個螞 蟻,而 nestCfood 路線上派一個螞蟻。在每個螞蟻再各行走 28個單位時間后, nestBfood 和 nestCfood路線的第一個點各累計 12和 4,比值為 3:1。如果再按比值分配螞蟻數(shù)量,則 nestBfood路線分配三只螞蟻,而 nestCfood 路線分配一只螞蟻。按原有的模式重復 28個單位時間, nestBfood 和 nestCfood 路線的第一點信息素各積累 24 和 6,比值為 4:1。如此重復下去,可以發(fā)現(xiàn) nestBfood 和 nestCfood 路線的第一點信息素的比值會越來越大, 最后的極限是所有的螞蟻只選擇 nestBfood 路線。 江蘇大學 2020 屆本科畢業(yè)論文 10 圖 :螞蟻尋物過程的簡化圖 為了更好的描述蟻群算法,下面所有的符號和算法設計以 TSP 為基礎,其它應用可以據(jù)此進行改進。令 ),( 1 inidii xxxx ??? 為 n為搜索空間中第 i只螞蟻的位置。假設),( 1 sjji xxxis ???? 表示第 i只螞蟻可以去的所有位置的集合。等式 ()給出了第 i只螞蟻向第 j 個位置移動的概率函數(shù), 并且位置 ix 與位置 jx 之間的信息素 ij? 的值越大、先驗值 ij? 的值越大選擇路徑 ij 的概率越大,其中 ij? 為ji xxJ?1 ,這里ji xxJ?1 是由位置 ix 移動到位置 jx 的耗費,通常由目標函數(shù)決定,它可以是兩點間的距離或花費的費用。等式中的α ,β是兩個系數(shù),分別為殘留信息素和轉(zhuǎn)移耗費的相對重要程度。 ??? ???sl ililijijxx tttttPji1)]([)]([)]([)]([)(???????? ()下一個位 置可以根據(jù) )(tP ji xx? 的最大值來選擇或是用輪盤賭來隨機的選擇下一個位置。江蘇大學 2020 屆本科畢業(yè)論文 11 當一個螞蟻走完了所選的路徑,則按式 ()更新信息素值。在每一次循環(huán)結(jié)束后,每條路徑上的信息數(shù)值都按 ()式 進行更新,其中是 g? 全局信息素揮發(fā)系數(shù) , 10 ?? g? 。 10)。()()1()1( ????????? ?????? ttt ijijij ( ) )()1()1( tt g ??? ???? ( ) 蟻群算法基本步驟 以 TSP為例,基本蟻群算法的具體實現(xiàn)步驟如下: (1)參數(shù)初始化。令時間 t=0 和循環(huán)次數(shù) Nc=0,設置最大循環(huán)次數(shù) Ncmax, 將 m個螞蟻置于 n個元素 (城市 )上,令有向圖上每條邊 (i, j)的初始化信息量τij(t)=const, 其中 const 表示常數(shù),且初始時刻Δτ ij(0)=0 (2)循環(huán)次數(shù) Nc← Nc+1。 (3)螞蟻的禁忌表索引號 k=1。 (4)螞蟻數(shù)目 k← k+1 。 (5)螞蟻個體根據(jù)狀態(tài)轉(zhuǎn)移概率公式 (1)計算的概率選擇元素 (城市 ) j 并前進, j∈{C tabuk}。 (6)修改禁忌表指針,即選擇好之后將螞蟻移動到新的元素 (城市 ),并把該元素 (城市 )移動到該螞蟻個體的禁忌表中。 (7)若集合 C 中元素 (城市 )未遍歷完,即 km,則跳轉(zhuǎn)到第 (4)步,否則執(zhí)行第 (8)步。 (8)根據(jù)公式 ()和式 ()更新每條路徑上的信息量。 (9)若滿足結(jié)束條件,即如果循環(huán)次數(shù) Nc≥ Ncmax 則循環(huán)結(jié)束并輸出程序計算結(jié)果,否則清空禁忌表并跳轉(zhuǎn)到第 (2)步。 蟻群算法流程圖 江蘇大學 2020 屆本科畢業(yè)論文 12 圖 基本蟻群算法程序流程圖 復雜度分析 對于 TSP,所有可行的路徑共有 (n1)!/2 條,以此路徑比較為基本操作,則需要(n1)!/21次基本操作才能保證得到絕對最優(yōu)解。 若 1M FLOPS,當 n=10, 需要 秒 n=20, 需要 1929 年 輸出程序計算結(jié)果 按式( 2)和式( 3)進行信息量更新 修改禁忌表 按式( 1)選擇下一元素 螞蟻 k=1 循環(huán)次數(shù) Nc← Nc+1 初始化 開始 結(jié)束 K≥m 滿足結(jié)束條件 螞蟻 k=k+1 N Y Y N 江蘇大學 2020 屆本科畢業(yè)論文 13 n=30, 需要 年 . 基本人工免疫算法 一般免疫算法的理論思想 生物免疫系統(tǒng) (Biological Immune System)是一種高度并行的、分布式的自適應系統(tǒng),它是脊椎動物體內(nèi)能夠識別和排除抗原性異物,保護機體免受損害以及維持機體內(nèi)部環(huán)境穩(wěn)定的極為復雜的生物學系統(tǒng)。在免疫系統(tǒng)中,外來的細菌、病毒 (dangerous foreign bacteria, viruses, etc)等“非己’,物質(zhì)稱為抗原,負責識別和清除抗原的是抗體??贵w與抗原的匹配程度用親合力 (affinity)表示。當親合力超過某一閉值時,即表示抗體與抗原匹配成功,免疫應答 (immune response)過程被啟動。此時,與外來抗原匹配 的免疫細胞 (B 細胞 )被激活 (activation)并大量增生 (Proliferation),分泌出抗體,這些抗體與抗原結(jié)合將抗原消滅。那些能夠參與免疫應答的細胞,會被記憶下來而長期保存在免疫系統(tǒng)中,當相同或相似的抗原再次入侵機體時 (Previously),免疫系統(tǒng)會產(chǎn)生所謂的“二次應答”,能更快、更準確、更有效地消除抗原。所以,生物免疫系統(tǒng)具有學習、記憶及聯(lián)想 (associative retrieval)的功能。 從信息處理的觀點看 (From an informationprocessing perspective),免疫系統(tǒng)是與遺傳系統(tǒng)、神經(jīng)系統(tǒng)并存的人體三大信息系統(tǒng)之一,它具有如下的功能 :模式識別能力,并行信息處理能力,學習能力,記憶與聯(lián)想能力,自適應能力,自組織自調(diào)整能力以及抗體的多樣性保持能力。正是因為免疫系統(tǒng)所具有的這些優(yōu)良特性,引發(fā)了工程領域內(nèi)眾多研究人員對免疫系統(tǒng)極大的研究興
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1