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

正文內(nèi)容

人工智能實驗報告大全[小編整理]-閱讀頁

2024-10-18 06:25本頁面
  

【正文】 算法,也可以高效快速的解決給定好初值的最短路徑問題;在本課中,有學到了新的算法:TSP算法,此算法從遺傳學角度,開辟了一個新的視野。兩種不同的算法可以求解同一問題,但是角度完全不一樣,從目前自己實驗的結(jié)果而言,對于小數(shù)據(jù)量的輸入均可以快速高效的完成題目。:課堂上講解的遺傳算法較為簡單基礎,對于理論學習而言,十分適合。從理論到實踐,從課本的知識到解決問題,若不及時的加以消化并且切實的應用于解決問題,可以看出知識很難為現(xiàn)實提供幫助。第四篇:人工智能實驗報告八數(shù)碼 《人工智能》實驗一題目實驗一啟發(fā)式搜索算法:使用啟發(fā)式搜索算法求解8數(shù)碼問題。239。pn239。()其中:d(n)是搜索樹中結(jié)點n的深度;w(n)為結(jié)點n的數(shù)據(jù)庫中錯放的棋子個數(shù);p(n)為結(jié)點n的數(shù)據(jù)庫中每個棋子與其目標位置之間的距離總和。熟練掌握啟發(fā)式搜索A算法及其可采納性。為了簡化問題,搜索樹節(jié)點設計如下: typedef struct Node//棋盤 {//節(jié)點結(jié)構(gòu)體int data[9]。struct Node * parent。int data[9]。struct Chess * Parent。下一步可以通過啟發(fā)搜索算法構(gòu)造搜索樹。搜索過程如下:(1)、把原棋盤壓入隊列;(2)、從棋盤取出一個節(jié)點;(3)、判斷棋盤估價值,為零則表示搜索完成,退出搜索;(4)、擴展子節(jié)點,即從上下左右四個方向移動棋盤,生成相應子棋盤;(5)、對子節(jié)點作評估,是否為優(yōu)越節(jié)點(子節(jié)點估價值小于或等于父節(jié)點則為優(yōu)越節(jié)點),是則把子棋盤壓入隊列,否則拋棄;(5)、跳到步驟(2);算法的評價 完全能解決簡單的八數(shù)碼問題,但對于復雜的八數(shù)碼問題還是無能為力??梢愿淖償?shù)碼規(guī)模(N),來擴展成N*N的棋盤,即擴展為N數(shù)碼問題的求解過程。由于采用倒鏈表的搜索樹結(jié)構(gòu),簡化了數(shù)據(jù)結(jié)構(gòu),但有部分被拋棄節(jié)點的內(nèi)存沒有很好的處理,所以會造成內(nèi)存泄漏; 采用了屏蔽方向,有效防止往回搜索(節(jié)點的回推),但沒能有效防止循環(huán)搜索,所以不能應用于復雜度較大的八數(shù)碼問題;源碼:include include include typedef struct Node {//節(jié)點結(jié)構(gòu)體int data[9]。struct Node * parent。typedef struct Stack {//OPEN CLOSED 表結(jié)構(gòu)體Node * npoint。}Stack,* Lstack。Node * minx。minp = temp。} minx = minnpoint。minpnext = minpnextnext。return minx。for(i = 1。i++)for(j = 0。j++){if((sucdata[i] sucdata[j])amp。 sucdata[j]!= 0)a++。amp。} if(a%2 == b%2)return 1。}int Equal(Node * suc,Node * goal){//判斷節(jié)點是否相等,相等,不相等for(int i = 0。i ++)if(sucdata[i]!= goaldata[i])return 0。}Node * Belong(Node * suc,Lstack * list){//判斷節(jié)點是否屬于OPEN表或CLOSED表,是則返回節(jié)點地址,否則返回空地址Lstack temp =(*list) next。while(temp!= NULL){if(Equal(suc,tempnpoint))return temp npoint。} return NULL。temp =(Stack *)malloc(sizeof(Stack))。tempnext =(*list)next。}///////////////計算f值部分開始////////////////////////////// double Fvalue(Node suc, Node goal, int m){//計算f值switch(m){ case 1:{int error(Node,Node)。w=error(suc,goal)。} case 2:{double Distance(Node,Node,int)。for(int i = 1。return p + 。} default:break。w=0。iif([i]!=[i])w++。} double Distance(Node suc, Node goal, int i){//計算方格的錯位距離int k,h1,h2。k 9。if([k] == i)h2 = k。} ///////////////計算f值部分結(jié)束/////////////////////////////////////////////////////擴展后繼節(jié)點部分的函數(shù)開始///////////////// int BelongProgram(Lnode * suc ,Lstack * Open ,Lstack * Closed ,Node goal ,int m){//判斷子節(jié)點是否屬于OPEN或CLOSED表并作出相應的處理Node * temp = NULL。if((Belong(*suc,Open)!= NULL)||(Belong(*suc,Closed)!= NULL)){if(Belong(*suc,Open)!= NULL)temp = Belong(*suc,Open)。if(((*suc)g)g)){tempparent =(*suc)parent。tempf =(*suc)f。} } else {Putinto(* suc, Open)。} return flag。for(i = 0。i++)if([i] == 0)break。break。break。break。break。} return flag。for(i = 0。i++)childdata[i] = childparentdata[i]。i 9。if(n==0)loc = i%3+(i/31)*3。else if(n==2)loc = i%31+(i/3)*3。temp = childdata[loc]。childdata[loc] = 0。Node * child。i 4。//擴展子節(jié)點childg =(*suc)g +1。//子節(jié)點父指針指向父節(jié)點Spreadchild(child, i)。child, Open, Closed, goal, m))// 判斷子節(jié)點是否屬于OPEN或CLOSED表并作出相應的處理free(child)。//判斷OPEN表是否為空,為空則失敗退出Node * minf = Minf(Open)。//將節(jié)點放入CLOSED表中if(Equal(minf, *goal))return minf。minf, Open, Closed, **goal, m)。else {int n = Shownum(resultparent)。for(int i = 0。i++){printf(“n”)。j 3。else printf(“ 0 ”)。return n+1。char c。 39。}else if(c = 39。 amp。 c {if(flag == 0){sucdata[i] =(c39。)。for(j =0。j++)if(sucdata[j] == sucdata[i])flag =2。}else if(flag = 0)flag =1。}if(flag {if(flag 0){if(flag ==1)printf(“含有非法字符或數(shù)字!n請重新輸入:n”)。}else if(i 9)printf(“輸入的有效數(shù)字不夠!n請重新輸入:n”)。flag = 0。while((snext)!=NULL){k++。} return k。Opennext = NULL。Closednext = NULL。orgparent = NULL。orgg =1。//目標狀態(tài)節(jié)點Node * result。char c。printf(“=================================n”)。n”)。printf(“請輸入初始狀態(tài)(08 9個數(shù)字以空格隔開回車表示輸入結(jié)束):n”)。printf(“請輸入目標狀態(tài)(08 9個數(shù)字以空格隔開回車表示輸入結(jié)束):n”)。if(Canslove(org, goal)){//A*算法開始,先將初始狀態(tài)放入OPEN表printf(“請選擇:(n)搜索 (n)搜索 n”)。m)。printf(“搜索中,請耐心等待(如果您覺得時間太久請重新執(zhí)行程序并輸入更快的速度,默認值為)......n”)。Open)。org, amp。Open, amp。//進行剩余的操作printf(“總步數(shù):%d”,Shownum(result)1)。k=meassure(Closed)。printf(“%dn”,k)。while((c = getchar())!= 10)。}第五篇:人工智能產(chǎn)生式系統(tǒng)實驗報告解讀實 驗 報 告【實驗名稱】______________產(chǎn)生式系統(tǒng)_______________________ 【實驗目的】?!緦嶒炘怼慨a(chǎn)生式系統(tǒng)用來描述若干個不同的以一個基本概念為基礎的系統(tǒng),這個基本概念就是產(chǎn)生式規(guī)則或產(chǎn)生式條件和操作對?!緦嶒瀮?nèi)容】(包括規(guī)則庫和事實庫),然后進行推理,即可以自己輸入任何的事實,并基于原有的規(guī)則和輸入的事實進行推理。 ①首先建立事實庫事實庫是在程序的開始直接輸入的,用戶根據(jù)需要選擇,即要求用戶先輸入特征個數(shù),然后輸入動物的特征,進行識別。動物的特征如下:1有奶 2有毛發(fā) 3有羽毛 4會飛 5生蛋 6有爪 7有犬齒8目盯前方 9吃肉 10有蹄 11反芻食物 12黃褐色 13黑色條紋14黑色斑點 15長腿 16長脖子 17暗斑點 18白色 19不會飛20黑白色 21會游泳 22善飛 23不怕風浪24哺乳動物 25鳥 26食肉動物 27有蹄動物 28偶蹄動物29海燕 30老虎 31金錢豹 32長頸鹿 33斑馬 34鴕鳥 35企鵝②建立靜態(tài)規(guī)則庫即建立產(chǎn)生式規(guī)則,本算法采用了產(chǎn)生中間事實的方法,便于建立和使用規(guī)則。本算法共有15種規(guī)則,如下:R1: 如果動物有奶,則它是哺乳動物 R2: 如果動物有毛發(fā),則它是哺乳動物 R3: 如果動物有羽毛,則它是鳥 R4: 如果動物會飛且生蛋,則它是鳥 R5: 吃肉的哺乳動物是食肉動物R6: 有爪有犬齒木釘前方的哺乳動物是食肉動物R7: 有蹄的哺乳動物是有蹄動物 R8: 反芻食物的有蹄動物是偶蹄動物 R9: 黃褐色有黑條紋的食肉動物是老虎 R10:黃褐色有黑色斑點的食肉動物是金錢豹R11:長腿長脖子有黃褐色暗斑點的有蹄動物是長頸鹿R12:有黑白條紋的有蹄動物是斑馬 R13:不會飛長腿長脖的鳥是鴕鳥 R14:不會飛會游泳黑白色的鳥是企鵝③正向推理過程從已知事實出發(fā),通過規(guī)則庫求得結(jié)論,或稱數(shù)據(jù)驅(qū)動方式。 規(guī)則集中的規(guī)則前件與事實庫中的事實進行匹配,得匹配的規(guī)則集合。 從匹配規(guī)則集合中選擇一條規(guī)則作為使用規(guī)則。 執(zhí)行使用規(guī)則的后件,將該使用規(guī)則的后件送入事實庫中。 重復這個過程直至達到目標。R15:善飛不怕風浪的鳥是海燕 具體表示如下: R1: 124 R2: 224 R3: 325 R4: 4*525 R5: 6*7*8*2426 R6: 9*2426 R7: 10*2427 R8: 11*2728 R9: 12*13*2430 R10: 12*14*2431 R11: 12*15*16*17*2732 R12: 13*18*2733 R13: 15*16*19*2534 R14: 19*20*21*2535 R15: 22*23*2529④實驗流程圖開始初始化欲加入的事實的個數(shù)及事實令i=1取出規(guī)則i的前提條件部分Ni=i+1事實庫中有相應的事實Y取出規(guī)則i結(jié)論部分結(jié)論為新事實Y將該規(guī)則加入到事實庫中該事實是結(jié)論性事實Y將該規(guī)則的結(jié)論作為最終的結(jié)論結(jié)束NN ⑤實驗結(jié)果及分析如輸入如下事實:有羽毛、善飛、不怕風浪。R1的前提是“有奶”,但事實庫中無此事實,故匹配失敗;然后取R2,匹配失??;接著取R3,該前提與已知事實“有羽毛”相匹配,故R3被執(zhí)行,并將其結(jié)論“鳥”作為新的事實加入到事實庫中。由于“海燕”已是目標集合中的一個結(jié)論,即已推出最終結(jié)果,故問題求解過程結(jié)束。int num。int flag=1。printf(“1有奶2有毛發(fā)3有羽毛4會飛20黑白色n21會游泳22善飛23不怕風浪n”)。scanf(“%d”,amp。printf(“請輸入對這只動物的特征描述的序號(按序號由小到大):n”)。i}//********************************for(i=0。a)。會飛5生蛋n6有爪7有犬齒8目盯前方9吃肉10有蹄n11反芻食物12黃褐色13黑色條紋14黑色斑點15長腿n16長脖子17暗斑點18白色19不{fact[num]=24。printf(“使用規(guī)則1,新增加的 }}//********************************k=0。i}if(temp[0]==4amp。temp[1]==5){fact[num]=25。printf(”使用規(guī)則4,新增加的事實if(fact[i]==4){}if(fact[i]==5){}temp[k]=fact[i]。temp[k]=fact[i]。contin
點擊復制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1