【正文】
une response)過程被啟動。在免疫系統(tǒng)中,外來的細菌、病毒 (dangerous foreign bacteria, viruses, etc)等“非己’,物質(zhì)稱為抗原,負責識別和清除抗原的是抗體。 蟻群算法流程圖 江蘇大學 2020 屆本科畢業(yè)論文 12 圖 基本蟻群算法程序流程圖 復雜度分析 對于 TSP,所有可行的路徑共有 (n1)!/2 條,以此路徑比較為基本操作,則需要(n1)!/21次基本操作才能保證得到絕對最優(yōu)解。 (8)根據(jù)公式 ()和式 ()更新每條路徑上的信息量。 (6)修改禁忌表指針,即選擇好之后將螞蟻移動到新的元素 (城市 ),并把該元素 (城市 )移動到該螞蟻個體的禁忌表中。 (4)螞蟻數(shù)目 k← k+1 。令時間 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。 10)。江蘇大學 2020 屆本科畢業(yè)論文 11 當一個螞蟻走完了所選的路徑,則按式 ()更新信息素值。等式中的α ,β是兩個系數(shù),分別為殘留信息素和轉(zhuǎn)移耗費的相對重要程度。假設),( 1 sjji xxxis ???? 表示第 i只螞蟻可以去的所有位置的集合。 江蘇大學 2020 屆本科畢業(yè)論文 10 圖 :螞蟻尋物過程的簡化圖 為了更好的描述蟻群算法,下面所有的符號和算法設計以 TSP 為基礎,其它應用可以據(jù)此進行改進。按原有的模式重復 28個單位時間, nestBfood 和 nestCfood 路線的第一點信息素各積累 24 和 6,比值為 4:1。在每個螞蟻再各行走 28個單位時間后, nestBfood 和 nestCfood路線的第一個點各累計 12和 4,比值為 3:1。在行走 28個單位時間后,這兩點的信息素變化分別為 4和 2,比值為 2:1, nestCfood 路線的螞蟻返回 nest 點。當行走 14個單位時間 后,走 nestBfood 的螞蟻己經(jīng)回到 A點,而行走 nestCfood 的螞蟻到達 food 點。 假設初始每條路線上分別分配一只螞蟻,每單位時間走一步。假設一個螞蟻外出尋找食物,螞蟻從 nest點出發(fā),行走速度相同,食品在 food 點,螞蟻可能行走的路線如圖 。這個過程會一直持續(xù)到所有的螞蟻都走最短的那一條路為止。后到者留下的信息素會對原有的信息素進行加強,并 循環(huán)下去。這些物資能被同一蟻群中后來的螞蟻感受到并作為一種信號影響后者的行動。這是蟻群優(yōu)化算法的最大特點。產(chǎn)生于對蟻群行為的研究。對于 A 類,預處理程序 cpp在系統(tǒng)預設包含文件目錄 (如 /usr/include)中搜尋相應的文件,而 B類,預處理程序在目標文件的文件夾內(nèi)搜索相應文件。 Idirname,將 dirname 所指出的目錄加入到程序頭文件目錄列表中,是在預編譯過程中使用的參數(shù)。 O,對程序進行優(yōu)化編譯、連接,采用這個選項,整個源代碼會在編譯、連接過程中進行優(yōu)化處理,這樣產(chǎn)生的可執(zhí)行文件的執(zhí)行效率可以提高,但是,編譯、連接的速度就相應地要慢一些。如果不給出這個選項, gcc 就給出預設的可執(zhí)行文件 。 c,只編譯,不連接成為可執(zhí)行文件,編譯器只是由輸入的 .c 等源代碼文件生成 .o為后綴的目標文件,通常用于編譯不包含主程序的子程序文件。 Gcc編譯器的調(diào)用參數(shù)大約有 100多個,其中多數(shù)參數(shù)我們可能根本就用不到,這里只介紹其中最基本、最常用的參數(shù)。在連接階段,所有江蘇大學 2020 屆本科畢業(yè)論文 8 的目標文件被安排在可執(zhí)行程序中的恰當?shù)奈恢茫瑫r,該程序所調(diào)用到的庫函數(shù)也從各自所在的檔案庫中連到合適的地 方。匯編過程是針對匯編語言的步驟,調(diào)用as進行工作,一般來講, .S 為后綴的匯編語言源代碼文件和匯編、 .s為后綴的匯編語言文件經(jīng)過預編譯和匯編之后都生成以 .o 為后綴的目標文件。 命令 gcc 首先調(diào)用 cpp 進行預處理,在預處理過程中,對源代碼文件中的文件包含(include)、預編譯語句 (如 宏 定義 define 等 )進行分析。 GCC 基礎知識要點 基本規(guī)則 gcc 所遵循的部分約定規(guī)則: .c 為后綴的文件, C語言源代碼文件; .a為后綴的文件,是由目標文件構(gòu)成的檔案庫文件; .C, .cc 或 .cxx 為后綴的文件,是 C++源代碼文件; .h為后綴的文件,是程序所包含的頭文件; .i 為后綴的文件,是已經(jīng)預處理過的 C源代碼文件; .ii 為后綴的文件,是已經(jīng)預處理過的 C++源代碼文件; .m為后綴的文件,是 ObjectiveC源代碼文件; .o為后綴的文件,是編譯后的目標文件; .s為后綴的文件,是匯編語言源代碼文件; .S為后綴的文件,是經(jīng)過預編譯的 匯編語言源代碼文件。 江蘇大學 2020 屆本科畢業(yè)論文 7 cp r 相當于 dos 的 xcopy/s。如果文件太大,在一屏上無法完全顯示,則可用 more 命令 more 分屏顯示文件內(nèi)容,和 dos 下的 more 命令大致相同,但它可以和別的命令搭配使用。一般就用 mkdir [dirname] rmdir 刪除目錄,相當于 dos 的 rd命令。這個是 dos 和 Windows 所沒有的功能,主要是關于權(quán)限的問題。例如: [rootttqq bin] pwd /usr/bin [rootttqq bin] 這表示目前在 /usr/bin目錄下。 cd 和 dos 下的 cd 一樣,轉(zhuǎn)換目錄的命令。 l 以長式列出。 注意: Linux 中的參數(shù)輸入形式和 dos 不一樣,在命令后面應該打一個空格,然后打 ,最后再跟一個或多個參數(shù);另外 Linux 下大小寫是有區(qū)別的! 下面介紹幾個 Linux 下最常用的命令,每個命令都與對應的 dos 命令作比較,并列出一些常用的參數(shù)。 Linux 加入 GNU 并遵循公共版權(quán)許可證 (GPL),由于不排斥商家對自由軟件進一步開發(fā),不排斥在 Linux 上 開發(fā)商業(yè)軟件,故而使 Linux 又開始了一次飛躍,出現(xiàn)了很多的 Linux 發(fā)行版,如 Slackware、 Redhat、 Suse、 Turbo Linux、 Open Linux 等十多種,而且還在增加,還有一些公司在 Linux 上開發(fā)商業(yè)軟件或把其他 Unix 平臺的軟件移植到 Linux 上來,如今很多 IT 界的大腕如 IBM、 Intel、 Oracle、 Infomix、 Sysbase、 Corel、Netscape、 CA、 Novell 等都宣布支持 Linux! 商家的加盟彌補了純自由軟件的不足和發(fā)展障礙, Linux 得以迅速普及。 Linux 從一開始,就決定自由擴散 Linux、包括源代碼,他把源代碼發(fā)布在網(wǎng)上,隨即就引起愛好者的注意,他們通過互連網(wǎng)也加入了 Linux 的內(nèi)核開發(fā)工作,一大批高水平程序員的加入,使得 Linux 達到迅猛發(fā)展,到 1993 年底, Linux 終于誕生。采用人工免疫算法生成信息素分布,利用蟻群算法求優(yōu)化解,優(yōu)勢互補,在收斂速度和尋優(yōu)能力兩方面較原有算法都有明顯改善。本文將人工免疫算法與蟻群算法混合產(chǎn)生新的算法免疫蟻群算法 (Artificial Immune Ant Colony Algorithm,簡稱 AIACA),并將該算法應用于匹配檢測,計算機仿真結(jié)果證明該算法是計算精度都較好的一種算法。人工免疫成為繼神經(jīng)網(wǎng)絡、模糊邏輯和進化計算后人工智能 領域又一研究熱點。 人工免疫系統(tǒng) (Artificial Immune System,簡稱 AIS)是模仿生物免疫系統(tǒng)的免疫應答、免疫 調(diào)節(jié)等機理,構(gòu)造出的一類高性能、自組織、魯棒性好的人工智能系統(tǒng)。 近幾年,人們提出了多種方法來解決蟻群算法的這三個缺點,其中蟻群算法與其 他算法混合產(chǎn)生新的混合算法是一個研究方向,例如禁忌算法與蟻群算法混合,遺傳算法與蟻群算法混合,粒子群算法與蟻群算法混合等。(2)該算法容易早熟,即搜索進行一定程度后,所有個體所發(fā)現(xiàn)的解完全一致,不能對解空間進行進一步搜索 。目前國內(nèi)外研究者用蟻群算法研究了旅行商問題,指派問題,調(diào)度問題等,取得了一系列較好的實驗結(jié)果。受其啟發(fā),意大利學 者 , and 于 20世紀 90 年代初提出的一種新型的智能優(yōu)化算法蟻群優(yōu)化 (Ant Colony Optimization,簡稱 ACO)。鳥群在沒有集中控制的情況下能夠同步飛行等。例如,單只螞蟻的能力極其有限,但當這些簡單的螞蟻組成蟻群時,卻能完成像筑巢、覓食、遷徙、清掃蟻巢等復雜行為 。在這種背景下,社會性動物 (如蟻 群、蜂群、鳥群等 )的自組織 (Selfanization)行為引起了人們的廣泛關注,許多學者對這種行為進行數(shù)學建模并 用于計算機對其進行仿真,這就產(chǎn)生了所謂的“群體智能” (Swarm Intelligence,簡稱 SI)。 關鍵詞 : 人工免疫算法 蟻群算法 匹配檢測 Linux英文摘要 II Ant Colony Simulation System Design and Implementation Abstract Artificial immune algorithm is fast random global search capability, but the feedback system is underutilized, often do a lot of inactive redundant iteration, solve the low colony algorithm has the distributed parallel global search capability, but the initial solution randomly, prematurity and slow to this paper, the immune algorithm and ant colony hybrid immune algorithm ant colony algorithm, pheromone update access to the global optimal by matching simulation results show that the algorithm is an algorithm for better accuracy. The design is in the Linux environment, using C language. Linux is a Unixputer operating system collectively. Linux operating system kernel39。嚴格來講, Linux這個詞本身只表示 Linux內(nèi)核,但在實際上 人們已經(jīng)習慣了用 Linux來形容整個基于 Linux內(nèi)核,并且使用 GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。Linux操作系統(tǒng)的內(nèi)核的名字也是 “Linux”。 本設計是在 Linux 環(huán)境下,用 C 語言編寫的。本文提出免疫算法和蟻群算法的混合算 法免疫蟻群算法,通過信息素更新獲得全局最佳解。 J I A N