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

正文內(nèi)容

人工智能_實(shí)驗(yàn)報(bào)告(存儲(chǔ)版)

  

【正文】 香蕉問(wèn)題的VC編程實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康模?)熟悉謂詞邏輯表示法;(2)掌握人工智能謂詞邏輯中的經(jīng)典例子——猴子摘香蕉問(wèn)題的編程實(shí)現(xiàn)。//x表示猴子的位置,y為箱子的} void Monkey_Move_Box(char x, char y){ 位置printf(“Step %d:monkey把箱子從%c運(yùn)到%”, ++i, x, y)。printf(“Monkeytboxtbananan”)。printf(“tt”)。Monkey_Get_Banana()。二、實(shí)驗(yàn)內(nèi)容以動(dòng)物識(shí)別系統(tǒng)的產(chǎn)生式規(guī)則為例;用選定的編程語(yǔ)言建造規(guī)則庫(kù)和綜合數(shù)據(jù)庫(kù),并能對(duì)它們進(jìn)行增加、刪除和修改操作。void check()?!?“有蹄類(lèi)哺乳動(dòng)物”,0 }, { 2,“哺乳動(dòng)物amp。黃褐色amp?!?“斑馬”,0 }, { 5,“鳥(niǎo)amp。黑白色amp。int length。if(p == 1){ } else { if(p == 2){ input()。 = 0 amp。 blank!= 3 amp。else tmpQP[i][j] = [i][j]。for(i = 0。L1: cout }。xfor(y = 0。xfor(y = 0。yStates[11].QP[x][y] = States[a].QP[x][y]。cout IsFirst。N39。if((pIsWin(pStates[0])== 0)amp。二、編程環(huán)境Visual Studio 2017三、實(shí)驗(yàn)原理在謂詞邏輯中,任何一個(gè)謂詞公式都可以通過(guò)應(yīng)用等價(jià)關(guān)系及推理規(guī)則化成相應(yīng)的子句集。四、實(shí)驗(yàn)結(jié)果及代碼//化簡(jiǎn)子句集的九步法演示 //作者:劉少鵬 //時(shí)間: include include include include using namespace std。//化為前束形string convert_to_and(string temp)。//檢查合法性char numAfectChar(int temp)。假設(shè)有n個(gè)可直達(dá)的城市,一銷(xiāo)售商從其中的某一城市出發(fā),不重復(fù)地走完其余n1個(gè)城市并回到原出發(fā)點(diǎn),在所有可能的路徑中求出路徑長(zhǎng)度最短的一條。//記錄其在種群中的幸存概率} RanSeTi [num], RanSeTi temp[num]。TSP問(wèn)題中適應(yīng)度函數(shù)常取路徑長(zhǎng)度的倒數(shù)(或倒數(shù)的相關(guān)函數(shù)),如:f(x1,x2,L,xn)=N229。//種群的總路徑 } 是: P(xi)=f(xi)229。i交叉算子就是把兩個(gè)父代個(gè)體的部分結(jié)構(gòu)加以替換重組而生成新個(gè)體的操作。jif(jiaopeiflag[j]==1){temp2=j。k{map1[group[temp1].city[k]]=group[temp2].city[k]。group[temp1].city[k]=group[temp2].city[k]。kkif(group[temp1].city[k]==group[temp1].city[kk]){group[temp1].city[k]=map1[group[temp1].city[k]]。kkif(group[temp2].city[k]==group[temp2].city[kk]){group[temp2].city[k]=map2[group[temp2].city[k]]。}//確定可以變異的染色體t=0。point=group[i].city[temp1]。(6)沒(méi)有滿足某種停止條件,則轉(zhuǎn)第(2)步,否則進(jìn)入(7);(7)輸出種群中適應(yīng)度值最優(yōu)的染色體作為問(wèn)題的滿意解或最優(yōu)解。但一旦應(yīng)用于實(shí)踐時(shí),發(fā)現(xiàn)雖然每個(gè)部分模塊自己都可以理解并且熟悉,但是對(duì)于實(shí)際應(yīng)用,并且切實(shí)地解決實(shí)際問(wèn)題仍存在較大的困難。238。//父節(jié)點(diǎn) }Node,*Lnode。現(xiàn)存在的一些優(yōu)缺點(diǎn)。struct Stack * next。temp = minpnext。j i。else return 0。temp = tempnext。int w=0。//f = h + g。for(k = 0。else temp = Belong(*suc,Closed)。}int Canspread(Node suc, int n){//判斷空格可否向該方向移動(dòng),表示空格向上向下向左向右移int i,flag = 0。case 3:if(i%3!= 0)flag = 1。i 9。elseloc = i%3+1+(i/3)*3。i++){if(Canspread(**suc, i+1))//判斷某個(gè)方向上的子節(jié)點(diǎn)可否擴(kuò)展{child =(Node *)malloc(sizeof(Node))。//從OPEN表中取出f值最小的節(jié)點(diǎn)Putinto(minf, Closed)。i 3。} }void Checkinput(Node *suc){//檢查輸入int i = 0,j = 0,flag = 0。amp。i++。} } }int meassure(Lstack s){ int k=0。Node * org =(Node *)malloc(sizeof(Node))。int k。Checkinput(goal)。result = Process(amp。printf(“擴(kuò)展節(jié)點(diǎn)數(shù):n”)。在產(chǎn)生式系統(tǒng)中,論域的知識(shí)分為兩部分:用事實(shí)表示靜態(tài)知識(shí);用產(chǎn)生式規(guī)則表示推理過(guò)程和行為。推理過(guò)程是: 216。如有多條匹配規(guī)則需從中選一條作為使用規(guī)則,本算法是根據(jù)規(guī)則的順序依次選擇,且規(guī)則中不存在同一組事實(shí)對(duì)應(yīng)多條匹配規(guī)則。int fact[N],temp[N]。for(i=0。for(i=0。k++。break。num++。num)。下面是程序運(yùn)行的結(jié)果:【實(shí)驗(yàn)程序】include define N 23 void main(){int i,j,k,a,b,c。216。為了便于設(shè)計(jì),我們把要識(shí)別的動(dòng)物限于7種,這樣所需要的產(chǎn)生式規(guī)則就比較少。,掌握基于規(guī)則推理的基本方法。printf(“n”)。Putinto(org,amp。Checkinput(org)。int m。Lstack Closed =(Stack *)malloc(sizeof(Stack))。i = 0。j i。039。}}printf(“n”)。printf(“第%d步:”,n)。} } } ///////////////////////擴(kuò)展后繼節(jié)點(diǎn)部分的函數(shù)結(jié)束//////////////////////////////////Node * Process(Lnode * org, Lnode * goal, Lstack * Open, Lstack * Closed, int m){//總執(zhí)行函數(shù)while(1){if((*Open)next == NULL)return NULL。for(i = 0。else if(n==1)loc = i%3+(i/3 + 1)*3。}void Spreadchild(Node * child,int n){//擴(kuò)展child節(jié)點(diǎn)的字節(jié)點(diǎn)n表示方向,表示空格向上向下向左向右移int i,loc,temp。case 2:if(i/3!= 2)flag = 1。(*suc)f = Fvalue(**suc, goal, m)。int flag = 0。} return w。i p = p + Distance(suc, goal, i)。(*list)next = temp。if(temp == NULL)return NULL。 goaldata[j]!= 0)b++。i 9。}temp = tempnext。}Node,*Lnode。局部搜索樹(shù)樣例:*搜索過(guò)程搜索采用廣度搜索方式,利用待處理隊(duì)列輔助,逐層搜索(跳過(guò)劣質(zhì)節(jié)點(diǎn))。double f,g。w(n),f(n)=d(n)+237。但是遺傳算法可以考慮到的問(wèn)題復(fù)雜度更高,更適合應(yīng)用于實(shí)際。(4)按概率Pc進(jìn)行交叉操作。i{if(bianyiflag[i]==1){temp1=rand()%10。i{bianyip[i]=(rand()%100)。}}for(k=point2+1。}}for(k=point2+1。}for(k=point2+1。memset(map2,1,sizeof(map2))。break。} } } //拷貝種群for(i=0。}RanSeTi [i].adapt=sumdistance。在進(jìn)行遺傳操作和種群進(jìn)化的時(shí)候,每個(gè)染色體的適應(yīng)值是決定它是否進(jìn)入下一輪種群進(jìn)化的關(guān)鍵因素。//基因的排列(即城市的順序,路徑的組織)int adapt。string orign, temp。//刪除多余的括號(hào) string del_blank(string temp)。//對(duì)變量標(biāo)準(zhǔn)化 string del_exists(string temp)。其中,子句集中的每一個(gè)元素都是一個(gè)子句。這些困難我通過(guò)上網(wǎng)和去圖書(shū)館查找資料或者向同學(xué)請(qǐng)教等方式,逐一解決了困難,我收獲良多。if(!pJudge()){ }IsFinish = pAutoDone()。Y39。char IsFirst。for(x = 0。n}if(States[a].QP[m][n] == 0){}b = 1。yif(States[0].QP[i][j] == 0){a = 1。return count。jif([i][j] == 0)tmpQP[i][j] =1。ifor(int j = 0。case 2: /* down */if(blankif(blank!= 0 amp。 temp[i]39。r[cat].mark = 0。int cat = 15。不會(huì)飛amp?!?“長(zhǎng)頸鹿”,0 }, { 2,“有蹄類(lèi)哺乳動(dòng)物amp。”,“金錢(qián)豹”,0 }, { 4,“哺乳動(dòng)物amp?!?“食肉動(dòng)物”,0 }, { 2,“哺乳動(dòng)物amp。int mark。在這個(gè)過(guò)程中也鍛煉了自己解決問(wèn)題的能力。} if(Box!= Banana){ Monkey_Move_Box(Box, Banana)。Box)。printf(“********劉少鵬**************n”)。圖1 猴子摘香蕉問(wèn)題四、源代碼include unsigned int i。: } return false。Y39。pDiseasesymptomList[j])== ()){ ”“?n(y/n): ”)){ } else { 此疾病}} } } if(remove){} //需要排除此疾病ite = (ite)。j pDisease()。){ if(symptomInput == “不確定”){} //添加所有疾病到findList列表中for(unsigned int i = 0。for(vector::iterator ite = ()。//用戶有的癥狀和沒(méi)有的癥狀vector symptomHave, symptomNotHave。listToCheck, State amp。i 4。++i){if(grid[i] == SPACE)continue。//所有棋子的逆序總數(shù)為逆序數(shù)。i 3。break。char t = AT(tGrid, destX, destY)。return。elsethisvalue = 0。State)。dest)。state){ return grid == 。//獲取逆序數(shù) void evaluate()。039。} string start, end。if(nowStateiBoatAtSide == 1){} destState = new State(*nowState1iPastoriSavageiBoatAtSide。for(int capticy = count。} (new State(State::n, State::n, 1))。//檢查是否安全State operator +(Boat amp。RiverCrossing(int n, int c)。//野人{(lán) public:}。coutn。例:當(dāng)輸入n=2,c=2時(shí),輸出:221110211010021000 其中:X1表示起始岸上的牧師人數(shù);X2表示起始岸上的野人人數(shù);X3表示小船現(xiàn)在位置(1表示起始岸,0表示目的岸)。二、問(wèn)題描述有n個(gè)牧師和n個(gè)野人準(zhǔn)備渡河,但只有一條能容納c個(gè)人的小船,為了防止野人侵犯牧師,要求無(wú)論在何處,牧師的人數(shù)不得少于野人的人數(shù)(除非牧師人數(shù)為0),且假定野人與牧師都會(huì)劃船,試設(shè)計(jì)一個(gè)算法,確定他們能否渡過(guò)河去,若能,則給出小船來(lái)回次數(shù)最少的最佳方案。六、實(shí)驗(yàn)代碼 include include “” using namespace std。 pragma once include //船 class Boat { public:}。//進(jìn)行一次決策State* findInList(std::list amp。State endState。 = this。//獲取一個(gè)狀態(tài)為當(dāng)前狀態(tài)State *nowState = ()。capticy } for(int i = 0。二、問(wèn)題描述給定九宮格的初始狀態(tài),要求在有限步的操作內(nèi),使其轉(zhuǎn)化為目標(biāo)狀態(tài),且所得到的解是代價(jià)最小解(即移動(dòng)的步數(shù)最少)。NineGrid nineGrid(start, end)。//到此狀態(tài)的移動(dòng)次數(shù) int value。//用字符串保存當(dāng)前棋盤(pán)狀態(tài) int x, y。State* State::pEndState = NULL。static void ShowInfo()。State start
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1