




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 商務(wù)學(xué)院課 程 論 文論 文 題 目盲目搜索策略及其在實(shí)際中的應(yīng)用研究專 業(yè) 年 級(jí) 08計(jì)科24班 課 程 名 稱 人工智能 指 導(dǎo) 教 師 劉文江 學(xué) 生 姓 名 伍鋮煌 學(xué) 號(hào) 200818131023 成 績(jī) 教務(wù)處制二O一一 年 十 月 十日 盲目搜索策略及其在實(shí)際中的應(yīng)用研究摘要:搜索策略是人工智能研究的主攻方向之一,采用不同的搜索策略在求解問(wèn)題的過(guò)程中也會(huì)存在差異.通過(guò)對(duì)于八數(shù)碼的搜索求解分析,采用盲目搜索中的廣度優(yōu)先搜索算法和寬度搜索算法進(jìn)行實(shí)現(xiàn),將廣度優(yōu)先搜索算法與寬度搜索算法進(jìn)行比較,從而評(píng)價(jià)這兩種搜索算法的優(yōu)劣性.關(guān)鍵字:搜索策略;深度優(yōu)先;寬度優(yōu)先;八數(shù)碼1 盲目的圖
2、搜索策略圖搜索策略可分為兩種:一種稱為盲目的圖搜索策略,或稱無(wú)信息圖搜索策略; 而另一種稱為啟發(fā)式搜索策略,又稱為有信息的圖搜索策略。盲目搜索是不利用問(wèn)題的有關(guān)信息, 而根據(jù)事先確定好的某種固定的搜索方法進(jìn)行搜索1。最常用的兩種無(wú)信息圖搜索策略是寬度優(yōu)先搜索和深度優(yōu)先搜索。1.1 寬度優(yōu)先搜索2它是從根節(jié)點(diǎn)(起始節(jié)點(diǎn))開(kāi)始,按層進(jìn)行搜索,也就是按層來(lái)擴(kuò)展節(jié)點(diǎn)。所謂按層擴(kuò)展,就是前一層的節(jié)點(diǎn)擴(kuò)展完畢后才進(jìn)行下一層節(jié)點(diǎn)的擴(kuò)展,直到得到目標(biāo)節(jié)點(diǎn)為止。這種搜索方式的優(yōu)點(diǎn)是,只要存在有任何解答的話,它能保證最終找到由起始節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的最短路徑的解,但它的缺點(diǎn)是往往搜索過(guò)程很長(zhǎng)。1.2 深度優(yōu)
3、先搜索3它是從根節(jié)點(diǎn)開(kāi)始,首先擴(kuò)展最新產(chǎn)生的節(jié)點(diǎn),即沿著搜索樹(shù)的深度發(fā)展下去,一直到?jīng)]有后繼結(jié)點(diǎn)處時(shí)再返回,換一條路徑走下去。就是在搜索樹(shù)的每一層始終先只擴(kuò)展一個(gè)子節(jié)點(diǎn),不斷地向縱深前進(jìn)直到不能再前進(jìn)(到達(dá)葉子節(jié)點(diǎn)或受到深度限制)時(shí),才從當(dāng)前節(jié)點(diǎn)返回到上一級(jí)節(jié)點(diǎn),沿另一方向又繼續(xù)前進(jìn)。這種方法的搜索樹(shù)是從樹(shù)根開(kāi)始一枝一枝逐漸形成的。由于一個(gè)有解的問(wèn)題樹(shù)可能含有無(wú)窮分枝,深度優(yōu)先搜索如果誤入無(wú)窮分枝(即深度無(wú)限),則不可能找到目標(biāo)節(jié)點(diǎn)。為了避免這種情況的出現(xiàn),在實(shí)施這一方法時(shí),定出一個(gè)深度界限,在搜索達(dá)到這一深度界限而且尚未找到目標(biāo)時(shí),即返回重找,所以,深度優(yōu)先搜索策略是不完備的4。另外,應(yīng)用此
4、策略得到的解不一定是最佳解(最短路徑)。2用深度優(yōu)先或?qū)挾葍?yōu)先解決8數(shù)碼(見(jiàn)附錄)【八數(shù)碼問(wèn)題】5 所謂八數(shù)碼問(wèn)題是指這樣一種游戲:將分別標(biāo)有數(shù)字1,2,3,8的八塊正方形數(shù)碼牌任意地放在一塊3×3的數(shù)碼盤(pán)上。放牌時(shí)要求不能重疊。于是,在3×3的數(shù)碼盤(pán)上出現(xiàn)了一個(gè)空格。現(xiàn)在要求按照每次只能將與空格相鄰的數(shù)碼牌與空格交換的原則,將任意擺放的數(shù)碼盤(pán)逐步擺成某種特殊的排列。 解決八數(shù)碼問(wèn)題的算法很多,盲目是搜索算法如深度優(yōu)先搜索、寬度優(yōu)先搜索等7。 1 八數(shù)碼游戲問(wèn)題的狀態(tài)空間法表示 1.1 狀態(tài)描述 我們?cè)诎藬?shù)碼問(wèn)題中,將號(hào)碼牌擺放的位置抽象成一個(gè)序列,用來(lái)記錄不同碼值的號(hào)碼牌
5、的擺放位置。 若用0來(lái)表示空格,則 將初始狀態(tài)為:,目標(biāo)狀態(tài)為:的八數(shù)碼問(wèn)題轉(zhuǎn)換為從開(kāi)始序列:2,8,3,1,0,4,7,6,5 轉(zhuǎn)換到目標(biāo)序列 1,2,3,8,0,4,7,6,5 的問(wèn)題。 1.2 操作符描述 對(duì)于八數(shù)碼問(wèn)題中空格的移動(dòng)問(wèn)題,我們建立以下操作符: 左移:1;上移:2;下移:3;右移:4 建立下列狀態(tài)轉(zhuǎn)換: 空格右移了一步,所以用4來(lái)表示。 1.3 狀態(tài)空間法的數(shù)據(jù)結(jié)構(gòu) struct Node public: int path2;/path0 is the line of the closed box path1 is the direction of /the father
6、node move to this node int layer;/layer is the deep nums of the node in the whole graph string seq; / using the string to achieve the sequence ; 其中string seq 記錄數(shù)碼位置,path2以及int layer。path0表示這個(gè)結(jié)點(diǎn)記錄是closed表當(dāng)中的第幾個(gè)記錄,path1 是本記錄結(jié)點(diǎn)的父結(jié)點(diǎn)。Layer表示在已搜索的樹(shù)當(dāng)中是第幾層。 空格移動(dòng)規(guī)則如表1所示。 2 八數(shù)碼游戲問(wèn)題的盲目搜索技術(shù) 2.1 寬度優(yōu)先搜索 2.1.1 寬度優(yōu)
7、先搜索的搜索步驟 把起始節(jié)點(diǎn)放到 OPEN 表中(如果該起始節(jié)點(diǎn)為一目標(biāo)節(jié)點(diǎn),則得到解) 如果 OPEN 是個(gè)空表,則無(wú)解,失敗退出;否則繼續(xù)下一步 把第一個(gè)節(jié)點(diǎn)(記作節(jié)點(diǎn) n )從 OPEN 表移出,并把它放入 CLOSED 的已擴(kuò)展節(jié)點(diǎn)表中 擴(kuò)展節(jié)點(diǎn) n 。如果沒(méi)有后繼節(jié)點(diǎn),則轉(zhuǎn)向第步 把 n 的所有后繼節(jié)點(diǎn)放到OPEN表的末端,并提供從這些后繼節(jié)點(diǎn)回到 n 的指針 如果 n 的任一個(gè)后繼節(jié)點(diǎn)是個(gè)目標(biāo)節(jié)點(diǎn),則找到一個(gè)解(反向追蹤得到從目標(biāo)節(jié)點(diǎn)到起始節(jié)點(diǎn)的路徑),成功退出,否則轉(zhuǎn)向第步 2.1.2 寬度優(yōu)先的成員數(shù)據(jù)結(jié)構(gòu) string InitialString,ResultString;
8、初始序列以及結(jié)果序列 OPEN表:SeqQueue ws_open (特別說(shuō)明,這里的SeqQueue 是我自己實(shí)現(xiàn)的隊(duì)列模板,因?yàn)橄朐囅掠袥](méi)有用,就放到程序里試了一下) 存放待擴(kuò)展的節(jié)點(diǎn),從數(shù)據(jù)結(jié)構(gòu)上來(lái)說(shuō),它是一個(gè)先進(jìn)先出的隊(duì)列 CLOSED 表:vector ws_closed; (堆棧用vector實(shí)現(xiàn)) 是存放已被擴(kuò)展過(guò)的節(jié)點(diǎn)(包括有后繼節(jié)點(diǎn)的非端節(jié)點(diǎn)和無(wú)后繼節(jié)點(diǎn)的端節(jié)點(diǎn)) int WsExpand(Node node,int No) 寬度優(yōu)先搜索的擴(kuò)展結(jié)點(diǎn)函數(shù) 輸入:待擴(kuò)展結(jié)點(diǎn) node;父結(jié)點(diǎn)(即node結(jié)點(diǎn))在closed表的編號(hào)No 結(jié)果:擴(kuò)展上下左右四個(gè)方向的結(jié)點(diǎn),并存入op
9、en表。如果生成結(jié)點(diǎn)中有目標(biāo)結(jié)點(diǎn),則返回最后一步移動(dòng)的方向。 void swap(char &a,char &b ) 字符交換函數(shù) 輸入:字符a,字符b 結(jié)果:在序列中,將a和b的位置交換 (深度和寬度合用) void WideSearch() 輸入:無(wú) 結(jié)果:對(duì)成員初始序列到結(jié)果序列進(jìn)行寬度優(yōu)先搜索,得出搜索過(guò)程。 bool isInOpenOrClosed(Node s) 輸入:待測(cè)結(jié)點(diǎn)s 結(jié)果:返回帶測(cè)結(jié)點(diǎn)在open或closed表中的真值 2.2 深度優(yōu)先搜索 2.2.1 深度優(yōu)先搜索的搜索過(guò)程 把起始節(jié)點(diǎn) S 放到未擴(kuò)展節(jié)點(diǎn)的 OPEN 表(此時(shí)OPEN表是一個(gè)堆棧,
10、后進(jìn)先出)中。如果此節(jié)點(diǎn)為一目標(biāo)節(jié)點(diǎn),則得到解 如果 OPEN 為一空表,則無(wú)解、失敗退出 把第一個(gè)節(jié)點(diǎn)(記作節(jié)點(diǎn) n )從 OPEN 表移到 CLOSED 表 如果節(jié)點(diǎn) n 的深度等于最大深度,則轉(zhuǎn)向 擴(kuò)展節(jié)點(diǎn) n ,產(chǎn)生其全部后繼節(jié)點(diǎn),并把它們放入 OPEN 表的前頭。如果沒(méi)有后繼節(jié)點(diǎn),則轉(zhuǎn)向 如果后繼節(jié)點(diǎn)中有任一個(gè)節(jié)點(diǎn)為目標(biāo)節(jié)點(diǎn),則求得一個(gè)解(反向追蹤從目標(biāo)節(jié)點(diǎn)到起始節(jié)點(diǎn)的路徑),成功退出;否則,轉(zhuǎn)向 2.2.2 深度優(yōu)先搜索的成員數(shù)據(jù)結(jié)構(gòu) string InitialString,ResultString; 初始序列以及結(jié)果序列 OPEN表: vector ds_open 在深度優(yōu)先搜
11、索中,open表式一個(gè)后進(jìn)先出的堆棧,這里用vector來(lái)實(shí)現(xiàn)。 CLOSED 表:vector ds_closed 在寬度優(yōu)先搜索中,closed表用vector來(lái)實(shí)現(xiàn),是存放已被擴(kuò)展過(guò)的節(jié)點(diǎn)(包括有后繼節(jié)點(diǎn)的非端節(jié)點(diǎn)和無(wú)后繼節(jié)點(diǎn)的端節(jié)點(diǎn)) int DsExpand(Node node,int No) 深度優(yōu)先搜索的擴(kuò)展結(jié)點(diǎn)函數(shù) 輸入:待擴(kuò)展結(jié)點(diǎn) node;父結(jié)點(diǎn)(即node結(jié)點(diǎn))在closed表的編號(hào)No 結(jié)果:擴(kuò)展上下左右四個(gè)方向的結(jié)點(diǎn),并存入open表。如果生成結(jié)點(diǎn)中有目標(biāo)結(jié)點(diǎn),則返回最后一步移動(dòng)的方向 void swap(char &a,char &b ) 字符交換函
12、數(shù) 輸入:字符a,字符b 結(jié)果:在序列中,將a和b的位置交換 (深度和寬度合用) void DeepSearch() 輸入:無(wú) 結(jié)果:對(duì)成員初始序列到結(jié)果序列進(jìn)行深度優(yōu)先搜索,得出搜索過(guò)程。 bool isInDSOpenOrClosed(Node s) 輸入:待測(cè)結(jié)點(diǎn)s 結(jié)果:返回帶測(cè)結(jié)點(diǎn)在open或closed表中的真值 3 例子及分析 初始狀態(tài)通過(guò)目標(biāo)狀態(tài)倒推 3.1.1 寬度優(yōu)先搜索 程序運(yùn)行如圖所示。 如圖所示,寬度優(yōu)先搜索共走了4步,所用時(shí)間約為0.65秒,獲得的解為全局最優(yōu)解。 3.1.2 深度優(yōu)先搜索 而深度優(yōu)先搜索結(jié)果和深度界限有關(guān),所以當(dāng)深度界限分別為3,5,20時(shí),結(jié)果如
13、下: 當(dāng)深度界限為3時(shí),如圖所示。 圖當(dāng)深度界限為5時(shí),如圖所示。 圖走了4步,耗費(fèi)時(shí)間0.027s 當(dāng)深度界限為20時(shí)如圖所示。 走了20步,所用時(shí)間為4.65s 4 結(jié)束語(yǔ) 從例子的結(jié)果來(lái)看,寬度優(yōu)先搜索方法能夠保證在搜索樹(shù)中找到一條通向目標(biāo)節(jié)點(diǎn)的最短途徑(所用操作符最少),只要結(jié)點(diǎn)間可以到達(dá),就一定可以找到一個(gè)最優(yōu)解。深度優(yōu)先搜索具有深度界限,當(dāng)搜索深度達(dá)到深度界限時(shí),停止搜索。所以,深度優(yōu)先搜索有可能會(huì)得不到結(jié)果,是一種不安全的搜索方法。但是當(dāng)結(jié)果在搜索界限內(nèi)時(shí),可以快速的得到結(jié)果,時(shí)間效率高。故對(duì)于深度優(yōu)先搜索,如何去定義一個(gè)較好的搜索界限,是下一步需要繼續(xù)改進(jìn)的方面。3深度優(yōu)先搜索
14、和寬度優(yōu)先搜索的優(yōu)缺點(diǎn)6(1)寬度優(yōu)先搜索在有解的情況下可以找到最優(yōu)解,但深度優(yōu)先搜索不同,它不保證第一次碰到某個(gè)狀態(tài)時(shí),找到的就是到這個(gè)狀態(tài)的最短路徑,而且也不保證一定能找到解。(2)寬度優(yōu)先可以保證找到解,但是如果存在一個(gè)不利的分支(各個(gè)狀態(tài)相對(duì)很多的情況),那么會(huì)非常耗時(shí)。(3) 如果要搜索具有很多分支的空間,那么深度優(yōu)先搜索的效率更高,因?yàn)樗槐匕呀o定層的所有結(jié)點(diǎn)保存到open列表中(4)選擇深度優(yōu)先搜索還是寬度優(yōu)先搜索的最佳答案是仔細(xì)分析問(wèn)題空間并向這個(gè)領(lǐng)域的專家咨詢。例如,對(duì)于國(guó)際象棋來(lái)說(shuō),寬度優(yōu)先搜索就是不可能的。在更簡(jiǎn)單的游戲中,寬度優(yōu)先搜索不僅是可能的,而且可能是避免迷失的惟
15、一方法。附錄:利用寬度優(yōu)先算法解決8數(shù)碼(源代碼)#include<stdio.h>#include<math.h>#include<stdlib.h>#define max_layer 5 /*最大擴(kuò)展層數(shù)宏定義*/#define true 1#define fail 0#define null 0struct link int data33;/*八數(shù)碼狀態(tài)*/ int layer; /*該節(jié)點(diǎn)的層數(shù)*/ struct link *next; struct link *prior; ;struct link *close_head; /*Close表的根節(jié)
16、點(diǎn)*/struct link *open_head;/*Open表的根節(jié)點(diǎn)*/*/* 函數(shù)名稱:output()*/* 功能說(shuō)明:輸出指針P指向的節(jié)點(diǎn)的數(shù)據(jù) */*/void output(struct link *p) int i,j; while(p!=NULL) for(i=0;i<3;i+) /*行輸出控制*/ for(j=0;j<3;j+) /*列輸出控制*/ printf("%d ",p->dataij);/*輸出i行j列上的數(shù)據(jù)*/ printf("n"); /*每輸出一行數(shù)據(jù),回車換行*/ printf("-n
17、"); /*輸出一條橫線以區(qū)分屏幕上其他節(jié)點(diǎn)數(shù)據(jù)*/ p-; /* 函數(shù)名稱:compare*/* 功能說(shuō)明:將指針Operate指向的節(jié)點(diǎn)中的數(shù)據(jù)與二維數(shù)組dest中的數(shù)據(jù)進(jìn)行比較*/int compare(struct link *q,int dest33) int i,j,count=0; for(i=0;i<3;i+) /*行比較控制*/ for(j=0;j<3;j+) /*列比較控制*/if(q->dataij=destij) /*比較i行j列上的數(shù)據(jù)*/count+; /*計(jì)數(shù)器加一*/else /*只要發(fā)現(xiàn)有一個(gè)數(shù)據(jù)不相等*/*即返回 fail,宣告比
18、較失敗*/ j=3; /*強(qiáng)制推出for循環(huán)*/ i=3; /*強(qiáng)制推出for循環(huán)*/ return 0; if(count=9)/*相等的數(shù)據(jù)的個(gè)數(shù)與維數(shù)平方相等*/ return 1; /*表示數(shù)據(jù)都對(duì)應(yīng)相等,返回true */* 函數(shù)名稱:eight()*/ /* 功能說(shuō)明:通過(guò)深度擴(kuò)展的方式找出八數(shù)碼問(wèn)題從初始狀態(tài)到目標(biāo)狀態(tài)的路徑 */ int eight(struct link *open_head,int dest33) int i,j,zero_x,zero_y; /*0的橫坐標(biāo),0的縱坐標(biāo)*/ struct link *new_point; /*處理open表的一個(gè)臨時(shí)指針*/
19、 struct link *open_point=*open_head;/*open表操作指針1*/ struct link *close_point; while(open_link_point!=NULL) close_point=open_point; open_point->prior->next=NULL; open_point-; if(compare(close_point,dest)=1) printf("find solution"); output(close_point); return 1; else if(close_point->
20、;layer>max_layer) close_point->next=*open_point; close_point+; else for(i=0;i<3;i+)/*獲取0的坐標(biāo)*/ for(j=0;j<3;j+) if(close_point->dataij=0) /*data or dest*/ zero_x=i;/*橫坐標(biāo)*/ zero_y=j;/*縱坐標(biāo)*/ j=3; /*強(qiáng)制退出循環(huán)*/ i=3; /*強(qiáng)制退出循環(huán)*/ if(zero_x-1)>=0)/*往上移*/ /*申請(qǐng)內(nèi)存空間*/ new_point=(struct link *)mal
21、loc(sizeof(struct link); for(i=0;i<3;i+)/*對(duì)新擴(kuò)展的節(jié)點(diǎn)賦值*/ for(j=0;j<3;j+) new_point->dataij=close_point->dataij; new_point->datazero_xzero_y=new_point->datazero_x-1zero_y; new_point->datazero_x-1zero_y=0; open_point->next=*new_point; open_point+; if(zero_x+1)<3)/*往下移*/ /*申請(qǐng)內(nèi)存空
22、間*/ new_point=(struct link *)malloc(sizeof(struct link); for(i=0;i<3;i+)/*對(duì)新擴(kuò)展的節(jié)點(diǎn)賦值*/ for(j=0;j<3;j+) new_point->dataij=close_point->dataij; new_point->datazero_xzero_y=new_point->datazero_x+1zero_y; new_point->datazero_x+1zero_y=0; open_point->next=*new_point; open_point+; i
23、f(zero_y-1)>=0)/*0往右移*/ /*申請(qǐng)內(nèi)存空間*/ new_point=(struct link *)malloc(sizeof(struct link); for(i=0;i<3;i+)/*對(duì)新擴(kuò)展的節(jié)點(diǎn)賦值*/ for(j=0;j<3;j+) new_point->dataij=close_point->dataij; new_point->datazero_xzero_y=new_point->datazero_xzero_y-1; new_point->datazero_xzero_y-1=0; open_point-&
24、gt;next=*new_point; open_point+; if(zero_y+1)<3)/*0往左移*/ /*申請(qǐng)內(nèi)存空間*/ new_point=(struct link *)malloc(sizeof(struct link); for(i=0;i<3;i+)/*對(duì)新擴(kuò)展的節(jié)點(diǎn)賦值*/ for(j=0;j<3;j+) new_point->dataij=close_point->dataij; new_point->datazero_xzero_y=new_point->datazero_xzero_y+1; new_point->d
25、atazero_xzero_y+1=0; open_point->next=*new_point; open_point+; if(open_point=NULL) printf("no solution"); /* 函數(shù)名稱:main*/ void main() int i,j; int destination33; /*二維數(shù)組,用以存放目標(biāo)狀態(tài)*/ struct link *open_head=(struct link *)malloc(sizeof(struct link); /*申請(qǐng)一個(gè)節(jié)點(diǎn)空間* printf("The max dimention is 3"); /*提醒用戶八數(shù)碼的維數(shù)大小*/ printf("Please input the initial state of <eight
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧農(nóng)業(yè)新質(zhì)生產(chǎn)力專題學(xué)習(xí)
- ktv安全管理制度范本
- 學(xué)校安全生產(chǎn)月活動(dòng)簡(jiǎn)報(bào)
- 施工吊籃安全使用規(guī)范
- 幼兒園食品安全健康教育活動(dòng)方案及總結(jié)
- 生產(chǎn)安全事故應(yīng)急預(yù)案管理辦法培訓(xùn)
- 安全生產(chǎn)許可證的辦理?xiàng)l件
- 中國(guó)煤礦安全生產(chǎn)網(wǎng)官網(wǎng)
- 技術(shù)部安全生產(chǎn)責(zé)任制
- 學(xué)校安全生產(chǎn)工作方案
- 老年人慢性病管理方案
- 2023《廣東省建設(shè)工程消防設(shè)計(jì)審查疑難問(wèn)題解析》
- 2025-2030年中國(guó)電力檢測(cè)行業(yè)市場(chǎng)發(fā)展態(tài)勢(shì)及未來(lái)趨勢(shì)研判報(bào)告
- AI智能在小學(xué)音樂(lè)課堂中的應(yīng)用研究
- 智能制造全過(guò)程造價(jià)咨詢服務(wù)方案
- UL489標(biāo)準(zhǔn)中文版-2019斷路器UL標(biāo)準(zhǔn)中文版
- 鐵路運(yùn)輸市場(chǎng)營(yíng)銷作業(yè)指導(dǎo)書(shū)
- 新能源汽車技術(shù) SL03維修手冊(cè)(第4章)-電氣-4.2.2~4.2.12電器集成
- 《安全生產(chǎn)培訓(xùn)機(jī)構(gòu)基本條件AQ 8011-2023》知識(shí)培訓(xùn)
- 《鍛造技術(shù)培訓(xùn)》課件
- 《冷干機(jī)原理及維修》課件
評(píng)論
0/150
提交評(píng)論