版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、目 錄,前言 引入篇 第一章 算法概述 第二章 算法分析基礎 基礎篇 第三章 算法基本工具與優(yōu)化技巧 核心篇 第四章 基本的算法策略 第五章 圖的搜索算法 應用篇 第六章 算法設計實踐,引 入 篇,第一章 算法概述,11 用計算機求解 問題與算法,問題求解(problem solving)是個大課題,它涉及歸約、推斷、決策、規(guī)劃、常識推理、定理證明和相關過程的核心概念。,111 用計算機求解問題的步驟,人在解決問題時有很大的靈活性,對于同一個問題,不同的人有不同的經(jīng)驗,會采用不同的方法,怎么樣用計算機解決一個現(xiàn)實中的問題呢?雖然也是有很多不同的方法,但基本步驟是相同的。,問題分析 數(shù)學模型建立
2、 算法設計與選擇 算法表示 算法分析 算法實現(xiàn) 程序調(diào)試 結果整理文檔編制,用計算機解決一個現(xiàn)實中的問題步驟,1. 問題分析 準確、完整地理解和描述問題是解決問題的第一步。要做到這一點,必須注意以下一些問題:在未經(jīng)加工的原始表達中,所用的術語是否都明白其準確定義?題目提供了哪些信息?這些信息有什么用?題目要求得到什么結果?題目中作了哪些假定?是否有潛在的信息?判定求解結果所需要的中間結果有哪些?等等。必須認真審查表達問題的有關描述,深入分析,以加深對問題的了解。,2、數(shù)學模型建立 用計算機解決實際問題必須有合適的數(shù)學模型,因為在現(xiàn)實問題面前,計算機是無能為力。對一個實際問題建立數(shù)學模型,可以考
3、慮這樣兩個基本問題:最適合于此問題的數(shù)學模型是什么?是否有已經(jīng)解決了的類似問題可借鑒? 如果上述第二個問題的答復是肯定的,那么通過類似的問題的分析、比較和聯(lián)想,可加速問題的解決。,3、算法設計與選擇 算法設計是指設計求解某一特定類型問題的一系列步驟,并且這些步驟是可以通過計算機的基本操作來實現(xiàn)的。算法設計要同時結合數(shù)據(jù)結構的設計,簡單說數(shù)據(jù)結構的設計就是選取存儲方式。算法的設計與模型的選擇更是密切相關的,但同一模型仍然可以有不同的算法,而且它們的有效性可能有相當大的差距。,4、算法分析 算法分析的目的,首先為了對算法的某些特定輸入,估算該算法所需的內(nèi)存空間和運行時間;其次是為了建立衡量算法優(yōu)劣
4、的標準,用以比較同一類問題的不同算法。通常將時間和空間的增長率作為衡量的標準。另參見114算法及其設計的評價,5、算法表示 對于復雜的問題,確定算法后可以通過圖形準確表示算法。算法的表示方式很多如:算法流程圖、盒圖、PAD圖和偽碼(類似于算法設計語言)等。,6、算法實現(xiàn) 根據(jù)選用的算法設計語言,要解決下列一些問題:有哪些變量,它們是什么類型?需要多少數(shù)組,規(guī)模有多大?用什么結構來組織數(shù)據(jù)?需要哪些子算法?等等。 算法的實現(xiàn)方式,對運算速度和所需內(nèi)存容量都有很大影響。,7、程序調(diào)試 算法測試的實質(zhì)是對算法應完成任務的實驗證實,同時確定算法的使用范圍。測試方法一般有兩種:白盒測試對算法的各個分支進
5、行測試;黑盒測試檢驗對給定的輸入是否有指定輸出。 如何選擇算法測試中的輸入,還沒有一般答案。通常采用的方法是,對輸入數(shù)據(jù)做有代表性的采樣,使之對被測試算法的各個語句、分支和路徑盡可能都被檢查到。對輸入集中的邊界點也要進行測試。經(jīng)測試驗證是否正確的算法,在較大程度上是可以相信它的正確性。,、結果整理文檔編制 編制文檔的目的是讓人了解你編寫的算法。首先要把代碼編寫清楚。代碼本身就是文檔。同時還要采用注釋的方式,另外還包括算法的流程圖,自頂向下各研制階段的有關記錄,算法的正確性證明(或論述),算法測試結果,對輸入/輸出的要求及格式的詳細描述等。,在這些步驟中,算法設計是解決問題的核心。,112 算法
6、及其要素和特性,、算法的定義 算法是指在解決問題時,按照某種機械算法步驟一定可以得到問題結果的處理過程。當面臨某個問題時,需要找到用計算機解決這個問題的方法和步驟,算法就是對解決這個問題的方法和步驟的描述。,機械算法步驟是指,算法中有待執(zhí)行的運算和操作,必須是相當基本的。換言之,它們都是能夠精確地運行的算法,執(zhí)行者甚至不需要掌握算法的含義,即可根據(jù)該算法的每一步驟要求,進行操作并最終得出正確的結果。,就本課程而言,算法就是計算機解題的過程。在這個過程中,無論是形成解題思路還是編寫算法,都是在實施某種算法。前者是推理實現(xiàn)的算法,后者是操作實現(xiàn)的算法。,2算法的要素 算法由操作、控制結構、數(shù)據(jù)結構
7、三要素組成。 操作 算術運算:加、減、乘、除 關系比較:大于、小于、等于、不等于 邏輯運算:與、或、非 數(shù)據(jù)傳送:輸入、輸出, 賦值,控制結構 各操作之間的執(zhí)行次序。 順序結構:各操作依次執(zhí)行 選擇結構:由條件是否成立來選擇 執(zhí)行 循環(huán)結構:有些操作要重復執(zhí)行,直到功能滿 足某個條件時結束。又稱重復或迭 代結構。,注明: 模塊間的調(diào)用也是一種控制結構,特別地模塊自身的直接或間接調(diào)用遞歸結構,是一種功能很強的控制結構。,數(shù)據(jù)結構 算法操作的對象是數(shù)據(jù),數(shù)據(jù)間的邏輯關系、數(shù)據(jù)的存儲方式及處理方式就是數(shù)據(jù)的數(shù)據(jù)結構。它與算法設計是緊密相關的。,3. 算法的基本性質(zhì) 算法是把人類找到的求解問題的方法,
8、用以上要素過程化、形式化、機械化地表示出來。,在算法的表示中要滿足以下的性質(zhì): 目的性 算法有明確的目的,能完成賦予它的功能 分步性 算法為完成其復雜的功能,由一系列計算機可執(zhí) 行的步驟組成 有序性 算法的步驟是有序的,不可隨意改變算法步驟的 執(zhí)行順序 有限性 算法是有限的指令序列,所包含步驟也是有限的 操作性 算法是有限的指令序列,算法所包含的步驟是有 限的,4. 算法的地位 算法是計算機學科中最具有方法論性質(zhì)的核心概念,也被譽為計算機學科的靈魂。,5. 算法的基本特征 有窮性 一個算法在執(zhí)行有窮步之后必須結束。也就是說一個算法它所包含的計算步驟是有限的而且每個步驟都能在有限時間內(nèi)完成。,確
9、定性 對于每種情況下所應執(zhí)行的操作,在算法中都有確切的規(guī)定,使算法的執(zhí)行者或閱讀者都能明確其含義及如何執(zhí)行。并且在任何條件下,算法都只有一條執(zhí)行路徑。 可行性 算法中描述的操作都可以通過已經(jīng)實現(xiàn)的基本操作運算有限次實現(xiàn)。,算法有零個或多個的輸入 有些輸入量需要在算法執(zhí)行過程中輸入,而有的算法表面上可以沒有輸入,實際上已被嵌入算法之中。 算法有一個或多個的輸出 它是一組與輸入有確定關系的量值,是算法進行信息加工后得到的結果。,113 算法設計及基本方法,1. 算法設計的概念 算法設計作為用計算機解決問題的一個步驟,其任務是對各類具體問題設計良好的算法;作為一門課程,是研究設計算法的規(guī)律和方法。,
10、2算法設計應注意的問題 1)正確性(Correctness) 一切合法的輸入數(shù)據(jù)都能得出滿足要求的結果;典型、苛刻的幾組輸入數(shù)據(jù)也能夠得出滿足要求的結果。,2)可讀性(Readability) 算法應該易于人的理解;晦澀難讀的算法易于隱藏較多錯誤而難以調(diào)試。 3)健壯性(Rubustness) 算法的異常情況。處理出錯的方法是返回一個表示錯誤或錯誤性質(zhì)的值,以便在更高的抽象層次上進行處理。,4)高效率與低存儲量需求 效率指的是算法執(zhí)行時間;存儲量指的是算法執(zhí)行過程中所需的最大存儲空間。,3算法設計的基本方法 1)結構化方法“自頂向下, 逐步求精” “自頂向下”是將復雜、大的問題劃分為小問題。
11、“逐步求精”是將現(xiàn)實世界的問題經(jīng)抽象轉(zhuǎn)化為邏輯空間或求解空間的問題。,結構算法設計技術的優(yōu)越性: 符合人類解決復雜問題的普遍規(guī)律 。 用先全局后局部、先整體后細節(jié)、先 抽象后具體的逐步求精過程開發(fā)出的 算法有清晰的層次結構 。,2) 面向?qū)ο蠓椒?對象=數(shù)據(jù)+對數(shù)據(jù)操作的代碼實體 面向?qū)ο笏惴ㄔO計方法的過程包括以下步驟: 在給定的抽象層次上識別類和對象 識別這些對象和類的語義 識別類和對象之間的關系 實現(xiàn)類和對象,它的特征主要包括: 抽象化 將各種獨立的操作分解成為可以用命名區(qū)分的單 元。 封裝性 不同的操作具有不同的作用范圍。 多態(tài)性 對于不同數(shù)據(jù)類型的相似操作使用相同的名。 繼承性 類可以
12、被繼承。,重用是面向?qū)ο蟮囊粋€重要優(yōu)點。最大特點是能夠大幅度的提高軟件項目的成功率,減少日后的維護費用,提高軟件的可移植性和可靠性。,3)本書采用的設計方法結構化設計方法 (1)自頂向下模塊化分解過程 把一個較大的算法劃分為若干子算法 每一個模塊可繼續(xù)劃分為更小的子模塊 直到用三種控制結構和具體操作表示算 法 注:運用這種編程方法,考慮問題必須先進行 整體分析。,(2)模塊劃分的基本要求 模塊的功能盡可能地單一化、明確化 模塊間的聯(lián)系及相互影響盡可能地小 模塊的規(guī)模應當足夠小,以便于調(diào)試 原則是簡單性、獨立性和完整性。,(3)模塊間的接口問題 傳遞方式一般有以下幾種: 按名共享:全局變量 子模
13、塊返回調(diào)用模塊信息:子模塊名 調(diào)用模塊傳遞給子模塊信息:值參數(shù)傳遞 調(diào)用模塊與子模塊互相傳遞信息:變量參數(shù)傳遞(C語言沒有此種傳遞方,Pascal、C+語言提供此類參數(shù)) 按地址共享變量:地址參數(shù)傳遞(參數(shù)為指針變量名、數(shù)組名,變量地址),(4)算法設計的基本方法 抽象 抽象包括算法的抽象和數(shù)據(jù)抽象。算法抽象是 指算法的尋求(或開發(fā))采用逐步求精、逐層分 解的方法。數(shù)據(jù)抽象也指在算法抽象的過程中 逐步完善數(shù)據(jù)結構和引入新的數(shù)據(jù)及確定關于 數(shù)據(jù)的操作。 枚舉 “枚舉”一些真實數(shù)據(jù) 歸納 “歸納”出算法的細節(jié),1.1.4 從算法到實現(xiàn),從算法到實現(xiàn)應注意的事項: 1. 數(shù)據(jù)類型的選擇 類型的選擇主
14、要取決于你研究問題中數(shù)據(jù)的實際情況。如:數(shù)組m1010和臨時變量t應該定義為長整型變量比較合理。 2 計算過程 如:C語言約定:“整數(shù)/整數(shù)”結果一定是整數(shù),1/2的結果是0。而PASCAL語言則有專門的整除運算符“div”,1/2的結果是0.5。,3. 結果的輸出格式 如:矩陣輸出時上、下行的數(shù)據(jù)應該對齊。 4. 算法實現(xiàn)后的測試、調(diào)試 測試就是要發(fā)現(xiàn)算法是否存在問題。測試就是要找到出現(xiàn)問題的原因并改正它。然后還需要進行回歸測試,以確保算法的正確性。,1.2 算法描述,121 算法描述簡介,算法是對解題過程的精確描述。 算法 = 控制結構 + 原操作 表示算法的語言主要有:自然語言、流程圖、
15、偽代碼、計算機算法設計語言等。,1自然語言 自然語言是人們?nèi)粘K玫恼Z言。其缺點是: 由于自然語言的歧義性容易導致算法執(zhí)行的不確定性。 自然語言的語句一般太長從而導致了用自然語言描述的算法太長。 當一個算法中循環(huán)和分支較多時就很難清晰地表示出來。 自然語言表示的算法不便翻譯成計算機算法設計語言理解的語言。,2流程圖 流程圖可以表示任何算法的邏輯結構。 1) 基本組件,算法的 加工、處理 條件 控制流 連接點 入口和出口,2)三種基本控制結構 順序結構:, 選擇結構,IF THEN ELSE型分支 DOCASE型多分支, 循環(huán)結構,DO ,DOWHILE型循環(huán) DOUNTIL循環(huán)結構,3) 算法
16、流程圖的主要缺點 不是逐步求精的好工具,它誘使算法員過早地考慮算法的控制流程,而不去考慮算法的全局結構。 隨意性太強,結構化不明顯。 不易表示數(shù)據(jù)結構。 流程圖的層次感不明顯,3盒圖(NS流程圖) (1)盒圖具有以下優(yōu)點: 層次感強、嵌套明確 支持自頂向下、逐步求精。 容易轉(zhuǎn)換成高級語言源算法,(2)三種基本控制結構 順序結構, 選擇結構,當條件P為真執(zhí)行語句體A 當條件P的值為P1時執(zhí)行語句體 否則執(zhí)行語句體 A1,為P2時執(zhí)行語句體A2,, 循環(huán)結構,如果條件P成立, 如果條件P不成立, 重復執(zhí)行S 重復執(zhí)行S,(3)主要缺點: 不易擴充和修改,不易描述大型復雜算法。,4 PAD圖 問題分
17、析圖(Problem Analysis Diagram, 簡稱PAD)表示的算法是一個二維樹形結構圖,層次感強、嵌套明確且有明確的控制流程。,三種基本控制結構 順序結構, 選擇結構,如果條件P成立,執(zhí)行S1 當條件P的值為P1,執(zhí)行語句體S1 條件不成立,執(zhí)行S2 為P2時執(zhí)行語句體A2,, 循環(huán)結構,如果條件P成立,重復執(zhí)行S 如果條件P不成立,重復執(zhí)行S,PAD圖的主要優(yōu)點: 設計出來的算法必是結構化的。 PAD圖描繪的算法結構清晰。 用PAD圖表現(xiàn)的算法邏輯,易讀、易懂、記。 容易用軟件工具自動將PAD圖轉(zhuǎn)換成高級語言 源算法。 既可用于表示算法邏輯,也可用于描繪數(shù)據(jù)結構。 支持自頂向下
18、、逐步求精。 缺點:由于是圖形符號書寫、錄入不方便。,例:,圖3.6 問題分析圖實例,5偽代碼 偽代碼是用介于自然語言和計算機語言之間的文字和符號來描述算法的工具。它不用圖形符號,因此書寫方便格式緊湊,易于理解,便于用計算機算法設計語言實現(xiàn)。,6算法設計語言的缺點 算法的基本邏輯流程難于遵循與自然語言一樣,算法設計語言也是基于串行的,當算法的邏輯流程較為復雜時這個問題就變得更加嚴重 特定算法設計語言編寫的算法限制了與他人的交流,不利于問題的解決 要花費大量的時間去熟悉和掌握某種特定的算法設計語言 要求描述計算步驟的細節(jié)而忽視算法的本質(zhì) 需要考慮語法細節(jié),而擾亂算法設計的思路 考慮到算法設計語言
19、的不斷更新,不適于描述算法。 算法設計都不用算法設計語言直接描述。,122 算法描述約定,本書采用類C語言的偽代碼描述,具體細節(jié)約定如下: 1、三種基本控制結構的描述 1)順序結構 一個操作以分號“;”結束,每行一般只寫一條操作。,2)選擇結構 單條件控制 if 條件 語句體1 else 語句體2,多條件控制 switch(表達式0) case常量表達式1: 語句組1; case常量表達式n: 語句組n; default : 語句組n+1; ,3)循環(huán)結構 計數(shù)循環(huán): for(表達式1;表達式2;表達式3) 循環(huán)體 當型循環(huán): while (循環(huán)條件) 循環(huán)體 直到型循環(huán): do 循環(huán)體 wh
20、ile(循環(huán)條件); 說明:在這三種循環(huán)體中,均可有l(wèi)oop語句和 break語句。,2、數(shù)據(jù)結構說明 算法中的標識符由字母數(shù)字構成,以字母開頭。 1)一般類型說明方式:類型名 變量表; 類型名有:整型int 、實型float、雙精度型 double 字符型 char 2)指針類型說明方式:類型名 *指針變量名表;,3)構造類型: 數(shù)組說明:類型名 一維數(shù)組名n(開辟n個空間, 下標0n-1); 類型名 二維數(shù)組名m,n(開辟m*n個空 間,下標0,0m-1,n-1); 結構類型: struct 結構體類型名 類型 成員名; 類型 成員名; . ;,4)動態(tài)空間申請函數(shù) malloc(size
21、) 功能:申請size個字節(jié)的一個空間;返回所申請空間的首地址。 calloc(num,size ) 功能:申請num個size個字節(jié)的空間;返回所申請空間的首地址。 free( *p ) 功能:釋放p指向的動態(tài)空間。,3模塊及模塊間的接口方式的描述 算法或算法中模塊結構為: 模塊(算法)名(參數(shù)) 模塊體 ,模塊間的接口方式的描述如下: 全局變量:定義模塊外的變量。 子模塊返回調(diào)用模塊信息: 調(diào)用函數(shù):子模塊名 被調(diào)用函數(shù):return(返回信息) 調(diào)用模塊傳遞給子模塊信息:值參數(shù)傳遞 實際參數(shù)為:表達式、普通變量名、常量或數(shù)組元素 形式參數(shù)為:普通變量名, 調(diào)用模塊與子模塊互相傳遞信息:變
22、量參數(shù)傳遞 實際參數(shù)為:普通變量名 形式參數(shù)為: input a,b; c=1; /變量c是為累乘因數(shù)而設置的; for (i=2; i=a and i=b; i+) /“枚舉”可能的公約數(shù) while (a mod i=0 and b mod i=0 ) /“試”i是否為公約數(shù) c=c*i; a=a/i; b=b/i; print(“%d is maximal common divisor”,c); ,算法說明:若是則進入內(nèi)層循環(huán)累乘因數(shù),并且除 掉這個因數(shù),避免下次重復處理該因數(shù)。 算法分析:通過以上算法設計過程應該看到,可以依賴以前學到的解決問題方法,改進有關步驟以便能通過機械的計算機操
23、作(準確地說是通過算法設計語言)來實現(xiàn)。 “問題分析、建模、算法設計要點、算法分析”是解決問題的必然過程。,下面是初學者容易發(fā)生的一些問題,提前指出以引起大家注意: 通過輸入語句增加算法的通用性。 會忘掉“輸出”或在模塊間傳遞處理的數(shù)據(jù)結果 易忽略細節(jié)造成“死循環(huán)”。 出現(xiàn)語序方面的錯誤,特別是雙重循環(huán)中指令常有嵌套錯誤。 注意學習和總結。 用大腦“運行”算法是學習算法很好的方法。 解題時要學會擇優(yōu)。簡單說擇優(yōu)要考慮四個方面:可讀性、可修改性、時間效率和空間效率。,13* 現(xiàn)代算法概覽,131 壓縮算法,一、數(shù)據(jù)壓縮 二、常見的通用壓縮格式,一、數(shù)據(jù)壓縮 1. 數(shù)據(jù)壓縮 數(shù)據(jù)壓縮就是采用特殊的
24、編碼方式來保存數(shù)據(jù),使數(shù)據(jù)占用的存儲空間比較少。 2. 即時壓縮和非即時壓縮 即時壓縮經(jīng)常用到專門的硬件設備,如壓縮卡等。非即時壓縮一般不需要專門的設備,直接在電腦中使用相應的壓縮程序就可以了。,3數(shù)據(jù)壓縮和文件壓縮 其實數(shù)據(jù)壓縮包含了文件壓縮,數(shù)據(jù)本來是泛指任何數(shù)字化的信息,包括電腦中用到的各種文件,但有時候,數(shù)據(jù)是專指對一些帶時間性的數(shù)據(jù)如音樂、影像等(稱為流媒體)以及一些及時采集的數(shù)據(jù)(如股市行情、溫度等),這些數(shù)據(jù)常常是即時采集,即時處理的。而文件就是專指保存在磁盤等物理介質(zhì)的數(shù)據(jù)集合了,如一篇文章數(shù)據(jù)、一段音樂數(shù)據(jù)、一段程序編碼數(shù)據(jù)等。文件經(jīng)過壓縮后一般稱為壓縮文件。文件的壓縮一般也
25、稱為打包,將壓縮的文件還原成本來的樣子稱為解包、釋放、擴展或解壓縮等。,另外,有一種壓縮文件稱為自解壓文件,這種壓縮文件實際上是一個程序文件,這個程序文件運行后,能夠自己將壓縮的文件還原出來,而不需要另外的解壓縮工具。很多程序的安裝文件都是自解壓文件。,4. 無損壓縮與有損壓縮 比如一個圖片文件當保存為不同的格式時,其數(shù)據(jù)量(文件大?。┑牟顒e非常大,使用BMP和JPEG格式生成的文件有時會相差十幾倍。而所謂的JPEG格式圖片就是在微小的損失圖片質(zhì)量的情況下對圖片文件中的相同或相似數(shù)據(jù)進行大量壓縮,以使之生成的文件更小。,此外,另一種常見的有損壓縮表現(xiàn)在音頻和視頻方面,如我們看到的VCD、DVD
26、視頻格式影碟和MP3、VQF、RealMedia音頻文件,都是采用壓縮算法編碼的,這種經(jīng)過壓縮處理的文件在還原成聲音或影像時或多或少都會有一些質(zhì)量損失 對于一些程序數(shù)據(jù)和文檔數(shù)據(jù)壓縮而言,有損壓縮就行不通了,否則還原的數(shù)據(jù)有誤還怎么使用?為此幾乎所有的無損壓縮算法都具有嚴格的CRC校驗功能,二、常見的通用壓縮格式 1ZIP壓縮格式 2CAB壓縮格式 3ARJ壓縮格式 4RAR壓縮格式 5. 推薦使用的壓縮工具 對于初學者以及日常很少接觸文檔備份和壓縮 的朋友來講,使用WinZip或者ZipMagic。如果你 需要經(jīng)常備份文件或者使用軟盤傳送文件,首使 用 WinRAR。,132 加密算法,一、
27、軟件主要加解密算法方法簡介 二、網(wǎng)絡信息加密簡介,一、軟件主要加解密算法方法簡介 加密方法可分為兩大類:鑰匙盤方式和加密狗方式。 解密方法主要可分為兩種:軟解密和硬解密,二、網(wǎng)絡信息加密簡介 加密技術是一門古老而深奧的學科。計算機加密技術是研究計算機信息加密、解密及其變換的科學,是數(shù)學和計算機的交叉學科,也是一門新興的學科。 密碼是實現(xiàn)秘密通訊的主要手段,是隱蔽語 言、文字、圖像的特種符號。,任何一個加密系統(tǒng)至少包括下面四個組成部分: 未加密的報文,也稱明文; 加密后的報文,也稱密文; 加密解密設備或算法; 加密解密的密鑰。,數(shù)據(jù)加密技術主要分為數(shù)據(jù)傳輸加密和數(shù)據(jù)存儲加密。 數(shù)據(jù)傳輸加密技術主
28、要是對傳輸中的數(shù)據(jù)流進行加密,常用的有: 鏈路加密 節(jié)點加密 端到端加密,數(shù)據(jù)加密算法有很多種,密碼算法標準化是信息化社會發(fā)展的必然趨勢。按照發(fā)展進程來看,密碼經(jīng)歷了古典密碼、對稱密鑰密碼和公開密鑰密碼三個階段。,133 人工智能算法,人類智能的計算機模擬。 在人工智能中包括語言處理、自動定理證明、智能數(shù)據(jù)檢索系統(tǒng)、視覺系統(tǒng)、問題求解、人工智能方法和程序語言以及自動程序設計等。,人工智能的研究與應用領域: 1.問題求解 2.邏輯推理與定理證明 3.自然語言理解 4.自動程序設計 5.專家系統(tǒng) 6.機器學習 7.神經(jīng)網(wǎng)絡 8.機器人學 9模式識別 10.機器視覺 11智能控制 12.智能檢索 1
29、3.智能調(diào)度與指揮 14.分布式人工智能與Agent 15.計算智能與進化計算 16.數(shù)據(jù)挖掘與知識發(fā)現(xiàn) 17.人工生命 18.系統(tǒng)與語言工具,134 并行算法,并行計算是指同時對多個任務或多條指令、或?qū)Χ鄠€數(shù)據(jù)項進行處理。完成此項處理的計算機系統(tǒng)稱為并行計算機系統(tǒng)。 并行算法(Parallel Algorithm)是一些可同時執(zhí)行的多個進程的集合,這些進程相互作用和協(xié)調(diào)工作,從而達到對給定問題的求解。,任務分解的方法有: 1)遞歸分解 2)數(shù)據(jù)分解 3)搜索分解方式 4)綜合分解,135 其它實用算法,1數(shù)值算法 2運籌學相關算法 3統(tǒng)計分析算法 4網(wǎng)絡搜索引擎算法,1數(shù)值算法 為了方便使用
30、這些算法解決實際問題,已有很多軟件公司致力于將這些算法開發(fā)為實用軟件,現(xiàn)介紹如下: (1)Maple (2)Matlab 6.0 (3)Mathematica 4.0 (4)Mathcad (5)MahtGV,2運籌學相關算法 運籌學的重要組成部分線性規(guī)劃、非線性規(guī)劃、二次規(guī)劃、整數(shù)規(guī)劃、運輸問題、動態(tài)規(guī)劃和排隊論,這些算法基本成熟,有相關軟件如下: (1)運籌學軟件包 2.0 (2)Lindo60,3統(tǒng)計分析算法 從研究問題的角度可以大致分為: 分類算法 有聚類分析,判別分析等,現(xiàn)在也可以 用神經(jīng)網(wǎng)絡算法來分類 結構簡化算法 如逐步回歸分析選擇預報因子,聚類分 析,F(xiàn)OF分解,因子分析等 相關性分析算法 回歸分析,相關系數(shù)分析(用于點 對點 、點的相關),典型相關分析,(用于場與場的 整體相關),奇異值分解 用于預測研究的算法 多元線性回歸,非線性回 歸,神經(jīng)網(wǎng)絡,支撐向量機等。較通用的兩個統(tǒng)計分析 軟件:Sas,Spss。,4網(wǎng)絡搜索引擎算法 搜索引擎的最新技術發(fā)展包括以下幾個方面: 1)提高搜索引擎對用戶檢索提問的理解 2)對檢索結果進行處理(排名算法) 3)確定搜索引擎信息搜集范圍,提高搜索引擎 的針對性 4)將搜索引擎的技術開發(fā)重點放在對檢索結果 的處理上,提供更優(yōu)化的檢索結果,1)提高搜索引擎對用戶檢索提問的理解 為了提高搜索引擎對用戶檢索提問的理解,就必須有一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年河北省承德市輔警人員招聘考試試卷及答案
- 2025-2026年蘇教版九年級語文上冊期末試題庫及答案
- 道教針灸絕技培訓課件
- 道德與法治培訓課件
- 2025體外循環(huán)在成人心臟手術應用指南解讀課件
- 《光的色散》物理授課課件
- 鐵嶺衛(wèi)生職業(yè)學院歷年單招考試題
- 車險客服培訓課件
- 車隊年后復工安全培訓課件
- 母嬰室升級改造方案范文
- 【一例擴張型心肌病合并心力衰竭患者的個案護理】5400字【論文】
- 四川橋梁工程系梁專項施工方案
- DB32T 3695-2019房屋面積測算技術規(guī)程
- 貴州省納雍縣水東鄉(xiāng)水東鉬鎳礦采礦權評估報告
- GB 8270-2014食品安全國家標準食品添加劑甜菊糖苷
- 2023年杭州臨平環(huán)境科技有限公司招聘筆試題庫及答案解析
- 易制毒化學品日常管理有關問題權威解釋和答疑
- LF爐機械設備安裝施工方案
- 湖北省高等教育自學考試
- 企業(yè)三級安全生產(chǎn)標準化評定表(新版)
- 中心衛(wèi)生院關于成立按病種分值付費(DIP)工作領導小組及制度的通知
評論
0/150
提交評論