版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《人工智能及其應(yīng)用》
實(shí)驗(yàn)指導(dǎo)書
浙江工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院—人工智能課程組
2011年9月
前言
本實(shí)驗(yàn)是為了配合《人工智能及其應(yīng)用》課程的理論學(xué)習(xí)而專門設(shè)置的。本實(shí)驗(yàn)的目的是鞏固和加強(qiáng)人工智能的基本原理和方法,并為今后進(jìn)一步學(xué)習(xí)更高級(jí)課程和信息智能化技術(shù)的研究與系統(tǒng)開發(fā)奠定良好的基礎(chǔ)。
全書共分為八個(gè)實(shí)驗(yàn):1.產(chǎn)生式系統(tǒng)實(shí)驗(yàn);2.模糊推理系統(tǒng)實(shí)驗(yàn);3.A*算法求解8數(shù)碼問(wèn)題實(shí)驗(yàn);4.A*算法求解迷宮問(wèn)題實(shí)驗(yàn);5.遺傳算法求解函數(shù)最值問(wèn)題實(shí)驗(yàn);6.遺傳算法求解TSP問(wèn)題實(shí)驗(yàn);7.基于神經(jīng)網(wǎng)絡(luò)的模式識(shí)別實(shí)驗(yàn);8.基于神經(jīng)網(wǎng)絡(luò)的優(yōu)化計(jì)算實(shí)驗(yàn)。每個(gè)實(shí)驗(yàn)包括有:實(shí)驗(yàn)?zāi)康摹?shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)條件、實(shí)驗(yàn)要求、實(shí)驗(yàn)步驟和實(shí)驗(yàn)報(bào)告等六個(gè)項(xiàng)目。
本實(shí)驗(yàn)指導(dǎo)書包括兩個(gè)部分。第一個(gè)部分是介紹實(shí)驗(yàn)的教學(xué)大綱;第二部分是介紹八個(gè)實(shí)驗(yàn)的內(nèi)容。
由于編者水平有限,本實(shí)驗(yàn)指導(dǎo)書的錯(cuò)誤和不足在所難免,歡迎批評(píng)指正。
人工智能課程組
2011年9月
目錄
實(shí)驗(yàn)教學(xué)大綱
1
實(shí)驗(yàn)一產(chǎn)生式系統(tǒng)實(shí)驗(yàn)
3
實(shí)驗(yàn)二模糊推理系統(tǒng)實(shí)驗(yàn)
5
實(shí)驗(yàn)三A*算法實(shí)驗(yàn)I
9
實(shí)驗(yàn)四A*算法實(shí)驗(yàn)II
12
實(shí)驗(yàn)五遺傳算法實(shí)驗(yàn)I
14
實(shí)驗(yàn)六遺傳算法實(shí)驗(yàn)II
18
實(shí)驗(yàn)七基于神經(jīng)網(wǎng)絡(luò)的模式識(shí)別實(shí)驗(yàn)
20
實(shí)驗(yàn)八
基于神經(jīng)網(wǎng)絡(luò)的優(yōu)化計(jì)算實(shí)驗(yàn)
24
實(shí)驗(yàn)教學(xué)大綱
一、學(xué)時(shí):16學(xué)時(shí),一般安排在第9周至第16周。
二、主要儀器設(shè)備及運(yùn)行環(huán)境:PC機(jī)、VisualC++6.0、Matlab7.0。
三、實(shí)驗(yàn)項(xiàng)目及教學(xué)安排
序號(hào)
實(shí)驗(yàn)名稱
實(shí)驗(yàn)
平臺(tái)
實(shí)驗(yàn)內(nèi)容
學(xué)時(shí)
類型
教學(xué)
要求
1
產(chǎn)生式系統(tǒng)應(yīng)用
VC++
設(shè)計(jì)知識(shí)庫(kù),實(shí)現(xiàn)系統(tǒng)識(shí)別或分類等。
2
設(shè)計(jì)
課內(nèi)
2
模糊推理系統(tǒng)應(yīng)用
Matlab
1)設(shè)計(jì)洗衣機(jī)的模糊控制器;
2)設(shè)計(jì)兩車追趕的模糊控制器。
2
驗(yàn)證
課內(nèi)
3
A*算法應(yīng)用I
VC++
設(shè)計(jì)與實(shí)現(xiàn)求解N數(shù)碼問(wèn)題的A*算法。
2
綜合
課內(nèi)
4
A*算法應(yīng)用II
VC++
設(shè)計(jì)與實(shí)現(xiàn)求解迷宮問(wèn)題的A*算法。
2
綜合
課內(nèi)
5
遺傳算法應(yīng)用I
Matlab
1)求某一函數(shù)的最小值;
2)求某一函數(shù)的最大值。
2
驗(yàn)證
課內(nèi)
6
遺傳算法應(yīng)用II
VC++
設(shè)計(jì)與實(shí)現(xiàn)求解不同城市規(guī)模的TSP問(wèn)題的遺傳算法。
2
綜合
課內(nèi)
7
基于神經(jīng)網(wǎng)絡(luò)的模式識(shí)別
Matlab
1)基于BP神經(jīng)網(wǎng)絡(luò)的數(shù)字識(shí)別設(shè)計(jì);
2)基于離散Hopfiel神經(jīng)網(wǎng)絡(luò)的聯(lián)想記憶設(shè)計(jì)。
2
驗(yàn)證
課內(nèi)
8
基于神經(jīng)網(wǎng)絡(luò)的優(yōu)化計(jì)算
VC++
設(shè)計(jì)與實(shí)現(xiàn)求解TSP問(wèn)題的連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)。
2
綜合
課內(nèi)
四、實(shí)驗(yàn)成績(jī)?cè)u(píng)定
實(shí)驗(yàn)課成績(jī)單獨(dú)按五分制評(píng)定。凡實(shí)驗(yàn)成績(jī)不及格者,該門課程就不及格。學(xué)生的實(shí)驗(yàn)成績(jī)應(yīng)以平時(shí)考查為主,一般應(yīng)占課程總成績(jī)的50%,其平時(shí)成績(jī)又要以實(shí)驗(yàn)實(shí)際操作的優(yōu)劣作為主要考核依據(jù)。對(duì)于實(shí)驗(yàn)課成績(jī),無(wú)論采取何種方式進(jìn)行考核,都必須按實(shí)驗(yàn)課的目的要求,以實(shí)際實(shí)驗(yàn)工作能力的強(qiáng)弱作為評(píng)定成績(jī)的主要依據(jù)。
評(píng)定各級(jí)成績(jī)時(shí),可參考以下標(biāo)準(zhǔn):
(一)優(yōu)秀
能正確理解實(shí)驗(yàn)的目的要求,能獨(dú)立、順利而正確地完成各項(xiàng)實(shí)驗(yàn)操作,會(huì)分析和處理實(shí)驗(yàn)中遇到的問(wèn)題,能掌握所學(xué)的各項(xiàng)實(shí)驗(yàn)技能,能較好地完成實(shí)驗(yàn)報(bào)告及其它各項(xiàng)實(shí)驗(yàn)作業(yè),有一定創(chuàng)造精神和能力。有良好的實(shí)驗(yàn)室工作作風(fēng)和習(xí)慣。
(二)良好
能理解實(shí)驗(yàn)的目的和要求,能認(rèn)真而正確地完成各項(xiàng)實(shí)驗(yàn)操作,能分析和處理實(shí)驗(yàn)中遇到的一些問(wèn)題。能掌握所學(xué)實(shí)驗(yàn)技能的絕大部分,對(duì)難點(diǎn)較大的操作完成有困難。能一般完成實(shí)驗(yàn)報(bào)告和其它實(shí)驗(yàn)作業(yè)。有較好的實(shí)驗(yàn)習(xí)慣和工作作風(fēng)。
(三)中等
能粗淺理解實(shí)驗(yàn)?zāi)康囊?,能認(rèn)真努力進(jìn)行各項(xiàng)實(shí)驗(yàn)操作,但技巧較差。能分析和處理實(shí)驗(yàn)中一些較容易的問(wèn)題,掌握實(shí)驗(yàn)技能的大部分。有30%掌握得不好。能一般完成各項(xiàng)實(shí)驗(yàn)作業(yè)和報(bào)告。處理問(wèn)題缺乏條理。工作作風(fēng)較好。能認(rèn)真遵守各項(xiàng)規(guī)章制度。學(xué)習(xí)努力。
(四)及格
只能機(jī)械地了解實(shí)驗(yàn)內(nèi)容,能一般按圖、或按實(shí)驗(yàn)步驟“照方抓藥”完成實(shí)驗(yàn)操作,能完成60%所學(xué)的實(shí)驗(yàn)技能,有些雖作但不準(zhǔn)確。遇到問(wèn)題常常缺乏解決的辦法,在別人啟發(fā)下能作些簡(jiǎn)單處理,但效果不理想。能一般完成實(shí)驗(yàn)報(bào)告,能認(rèn)真遵守實(shí)驗(yàn)室各項(xiàng)規(guī)章制度,工作中有小的習(xí)慣性毛病(如工作無(wú)計(jì)劃,處理問(wèn)題缺乏條理)。
(五)不及格
盲目地“照方抓藥”,只掌握50%的所學(xué)實(shí)驗(yàn)技能。有些實(shí)驗(yàn)雖能作,但一般效果不好,操作不正確。工作忙亂無(wú)條理。一般能遵守實(shí)驗(yàn)室規(guī)章制度,但常有小的錯(cuò)誤。實(shí)驗(yàn)報(bào)告較多的時(shí)候有結(jié)果,遇到問(wèn)題時(shí)說(shuō)不明原因,在教師指導(dǎo)下也較難完成各項(xiàng)實(shí)驗(yàn)作業(yè)?;蛴行┬÷斆鞯慌Γ磺笊线M(jìn)。
實(shí)驗(yàn)一產(chǎn)生式系統(tǒng)實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康模?/p>
熟悉一階謂詞邏輯和產(chǎn)生式表示法,掌握產(chǎn)生式系統(tǒng)的運(yùn)行機(jī)制,以及基于規(guī)則推理的基本方法。
二、實(shí)驗(yàn)內(nèi)容
運(yùn)用所學(xué)知識(shí),設(shè)計(jì)并編程實(shí)現(xiàn)一個(gè)小型人工智能系統(tǒng)(如分類、診斷、預(yù)測(cè)等類型)。
三、實(shí)驗(yàn)條件:
產(chǎn)生式系統(tǒng)實(shí)驗(yàn)程序,如下圖1所示。
圖1產(chǎn)生式系統(tǒng)實(shí)驗(yàn)程序界面
四、實(shí)驗(yàn)要求
1.具體應(yīng)用領(lǐng)域自選,具體系統(tǒng)名稱自定;但所做系統(tǒng)絕對(duì)不能雷同。
2.用一階謂詞邏輯和產(chǎn)生式規(guī)則作為知識(shí)表示,利用如圖1所示的產(chǎn)生式系統(tǒng)實(shí)驗(yàn)程序,建立知識(shí)庫(kù),分別運(yùn)行正、反向推理。
3.系統(tǒng)完成后,提交實(shí)驗(yàn)報(bào)告。
五、實(shí)驗(yàn)步驟:
1.基于如圖1所示的產(chǎn)生式系統(tǒng)實(shí)驗(yàn)程序,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)小型人工智能系統(tǒng):
1)系統(tǒng)設(shè)置,包括設(shè)置系統(tǒng)名稱和系統(tǒng)謂詞,給出謂詞名及其含義。
2)編輯知識(shí)庫(kù),通過(guò)輸入規(guī)則或修改規(guī)則等,完成整個(gè)規(guī)則庫(kù)的建立。
3)建立事實(shí)庫(kù)(綜合數(shù)據(jù)庫(kù)),輸入多條事實(shí)或結(jié)論。
4)運(yùn)行推理,包括正向推理和反向推理,給出相應(yīng)的推理過(guò)程、事實(shí)區(qū)和規(guī)則區(qū)。
2.撰寫實(shí)驗(yàn)報(bào)告。
六、實(shí)驗(yàn)報(bào)告
下面是實(shí)驗(yàn)報(bào)告的基本內(nèi)容和書寫格式。
遞交的報(bào)告文件名:班級(jí)_學(xué)號(hào)_姓名_實(shí)驗(yàn)名稱
———————————————————————
實(shí)驗(yàn)名稱
班級(jí):學(xué)號(hào):姓名:
一、實(shí)驗(yàn)?zāi)康?/p>
二、實(shí)驗(yàn)內(nèi)容
三、實(shí)驗(yàn)步驟
四、實(shí)驗(yàn)結(jié)果
1.系統(tǒng)名稱及謂詞定義
2.系統(tǒng)知識(shí)庫(kù)
3.系統(tǒng)正、反向推理過(guò)程、事實(shí)區(qū)和規(guī)則區(qū)。
五、實(shí)驗(yàn)總結(jié)
———————————————————————
實(shí)驗(yàn)二模糊推理系統(tǒng)實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?/p>
理解模糊邏輯推理的原理及特點(diǎn),熟練應(yīng)用模糊推理,了解可能性理論。
二、實(shí)驗(yàn)原理
模糊推理所處理的事物自身是模糊的,概念本身沒有明確的外延,一個(gè)對(duì)象是否符合這個(gè)概念難以明確地確定,模糊推理是對(duì)這種不確定性,即模糊性的表示與處理。模糊邏輯推理是基于模糊性知識(shí)(模糊規(guī)則)的一種近似推理,一般采用Zadeh提出的語(yǔ)言變量、語(yǔ)言值、模糊集和模糊關(guān)系合成的方法進(jìn)行推理。
三、實(shí)驗(yàn)條件
Matlab7.0的FuzzyLogicTool。
四、實(shí)驗(yàn)內(nèi)容及要求
1.設(shè)計(jì)洗衣機(jī)洗滌時(shí)間的模糊控制。已知人的操作經(jīng)驗(yàn)為:
“污泥越多,油脂越多,洗滌時(shí)間越長(zhǎng)”;
“污泥適中,油脂適中,洗滌時(shí)間適中”;
“污泥越少,油脂越少,洗滌時(shí)間越短”。
要求:
(1)假設(shè)污泥、油脂、洗滌時(shí)間的論域分別為[0,100]、[0,100]和[0,120],設(shè)計(jì)相應(yīng)的模糊推理系統(tǒng),給出輸入、輸出語(yǔ)言變量的隸屬函數(shù)圖,模糊控制規(guī)則表和推論結(jié)果立體圖。
(2)假定當(dāng)前傳感器測(cè)得的信息為,采用面積重心法反模糊化,給出模糊推理結(jié)果,并觀察模糊推理的動(dòng)態(tài)仿真環(huán)境,給出其動(dòng)態(tài)仿真環(huán)境圖。
提示:模糊控制規(guī)則如下表1所示,其中SD(污泥少)、MD(污泥中)、LD(污泥多)、NG(油脂少)、MG(油脂中)、LG(油脂多)、VS(洗滌時(shí)間很短)、S(洗滌時(shí)間短)、M(洗滌時(shí)間中等)、L(洗滌時(shí)間長(zhǎng))、VL(洗滌時(shí)間很長(zhǎng))。
圖1洗衣機(jī)的模糊控制規(guī)則表
x
y
z
SD
NG
VS
SD
MG
M
SD
LG
L
MD
NG
S
MD
MG
M
MD
LG
L
LD
NG
M
LD
MG
L
LD
LG
VL
2.假設(shè)兩汽車均為理想狀態(tài),即,Y為速度,U為油門控制輸入。
(1)設(shè)計(jì)模糊推理系統(tǒng)控制2號(hào)汽車由靜止啟動(dòng),追趕200m外時(shí)速90km的1號(hào)汽車并與其保持30m的距離。
(2)在25時(shí)刻1號(hào)汽車速度改為時(shí)速110km時(shí),仍與其保持30m距離。
(3)在35時(shí)刻1號(hào)汽車速度改為時(shí)速70km時(shí),仍與其保持30m距離。
要求:
(1)如下圖1所示,設(shè)計(jì)兩輸入一輸出的模糊推理系統(tǒng)作為2號(hào)汽車的模糊控制器,其中輸入為誤差e和誤差的變化,輸出為1號(hào)汽車的油門控制u,采用面積等分法反模糊化,給出輸入、輸出語(yǔ)言變量的隸屬函數(shù)圖,模糊控制規(guī)則表,推論結(jié)果立體圖和模糊推理的動(dòng)態(tài)仿真環(huán)境圖。
圖1兩車追趕的模糊控制系統(tǒng)框圖
(2)用SIMULINK仿真兩車追趕的模糊控制系統(tǒng),給出目標(biāo)車(1號(hào)汽車)的速度曲線圖,以及追趕車(2號(hào)汽車)的速度曲線圖和與目標(biāo)車(1號(hào)汽車)相對(duì)距離變化圖。
提示:模糊控制規(guī)則如下表2所示,其中,r、和油門控制u的論域分別為[0,1]、[-3,3]和[-1,1],r的隸屬函數(shù)如圖2所示。
表2模糊控制規(guī)則表
NB
ZE
PB
PB
ZE
NM
NB
PM
ZE
PM
PB
ZE
ZE
PM
PB
NM
ZE
NM
NB
NB
ZE
NM
NB
圖2r的隸屬函數(shù)圖
五、實(shí)驗(yàn)報(bào)告要求:
1.按照實(shí)驗(yàn)要求,給出相應(yīng)結(jié)果。
2.分析隸屬度、模糊關(guān)系和模糊規(guī)則的相互關(guān)系。
下面是實(shí)驗(yàn)報(bào)告的基本內(nèi)容和書寫格式。
實(shí)驗(yàn)名稱
班級(jí):學(xué)號(hào):姓名:
一、實(shí)驗(yàn)?zāi)康?/p>
二、實(shí)驗(yàn)內(nèi)容
三、實(shí)驗(yàn)結(jié)果
按照實(shí)驗(yàn)要求,給出相應(yīng)結(jié)果。
四、實(shí)驗(yàn)總結(jié)
1.分析隸屬度、模糊關(guān)系和模糊規(guī)則的相互關(guān)系。
2.總結(jié)實(shí)驗(yàn)心得體會(huì)
——————————————————————————————————
實(shí)驗(yàn)三A*算法實(shí)驗(yàn)I
一、實(shí)驗(yàn)?zāi)康?/p>
熟悉和掌握啟發(fā)式搜索的定義、估價(jià)函數(shù)和算法過(guò)程,并利用A*算法求解N數(shù)碼難題,理解求解流程和搜索順序。
二、實(shí)驗(yàn)原理
A*算法是一種啟發(fā)式圖搜索算法,其特點(diǎn)在于對(duì)估價(jià)函數(shù)的定義上。對(duì)于一般的啟發(fā)式圖搜索,總是選擇估價(jià)函數(shù)f值最小的節(jié)點(diǎn)作為擴(kuò)展節(jié)點(diǎn)。因此,f是根據(jù)需要找到一條最小代價(jià)路徑的觀點(diǎn)來(lái)估算節(jié)點(diǎn)的,所以,可考慮每個(gè)節(jié)點(diǎn)n的估價(jià)函數(shù)值為兩個(gè)分量:從起始節(jié)點(diǎn)到節(jié)點(diǎn)n的實(shí)際代價(jià)g(n)以及從節(jié)點(diǎn)n到達(dá)目標(biāo)節(jié)點(diǎn)的估價(jià)代價(jià)h(n),且,為節(jié)點(diǎn)到目的結(jié)點(diǎn)的最優(yōu)路徑的代價(jià)。
八數(shù)碼問(wèn)題是在3×3的九宮格棋盤上,擺有8個(gè)刻有1~8數(shù)碼的將牌。棋盤中有一個(gè)空格,允許緊鄰空格的某一將牌可以移到空格中,這樣通過(guò)平移將牌可以將某一將牌布局變換為另一布局。針對(duì)給定的一種初始布局或結(jié)構(gòu)(目標(biāo)狀態(tài)),問(wèn)如何移動(dòng)將牌,實(shí)現(xiàn)從初始狀態(tài)到目標(biāo)狀態(tài)的轉(zhuǎn)變。如下圖1表示了一個(gè)具體的八數(shù)碼問(wèn)題求解。
圖1八數(shù)碼問(wèn)題的求解
三、實(shí)驗(yàn)內(nèi)容
1.參考A*算法核心代碼,以8數(shù)碼問(wèn)題為例實(shí)現(xiàn)A*算法的求解程序(編程語(yǔ)言不限),要求設(shè)計(jì)兩種不同的估價(jià)函數(shù)。
2.設(shè)置相同的初始狀態(tài)和目標(biāo)狀態(tài),針對(duì)不同的估價(jià)函數(shù),求得問(wèn)題的解,并比較它們對(duì)搜索算法性能的影響,包括擴(kuò)展節(jié)點(diǎn)數(shù)、生成節(jié)點(diǎn)數(shù)等。
3.設(shè)置與上述2相同的初始狀態(tài)和目標(biāo)狀態(tài),用寬度優(yōu)先搜索算法(即令估計(jì)代價(jià)h(n)=0的A*算法)求得問(wèn)題的解,以及搜索過(guò)程中的擴(kuò)展節(jié)點(diǎn)數(shù)、生成節(jié)點(diǎn)數(shù)。
*4.參考A*算法核心代碼,實(shí)現(xiàn)A*算法求解15數(shù)碼問(wèn)題的程序,設(shè)計(jì)兩種不同的估價(jià)函數(shù),然后重復(fù)上述2和3的實(shí)驗(yàn)內(nèi)容。
5.提交實(shí)驗(yàn)報(bào)告和源程序。
四、實(shí)驗(yàn)報(bào)告要求
1.分析不同的估價(jià)函數(shù)對(duì)A*算法性能的影響。
2.根據(jù)寬度優(yōu)先搜索算法和A*算法求解8、15數(shù)碼問(wèn)題的結(jié)果,分析啟發(fā)式搜索的特點(diǎn)。
下面是實(shí)驗(yàn)報(bào)告的基本內(nèi)容和書寫格式。
實(shí)驗(yàn)名稱
班級(jí):學(xué)號(hào):姓名:
一、實(shí)驗(yàn)?zāi)康?/p>
二、實(shí)驗(yàn)原理
三、實(shí)驗(yàn)結(jié)果
按照實(shí)驗(yàn)內(nèi)容,把結(jié)果填入表1。
表1不同啟發(fā)函數(shù)h(n)求解8數(shù)碼問(wèn)題的結(jié)果比較
啟發(fā)函數(shù)h(n)
不在位數(shù)
0
初始狀態(tài)
目標(biāo)狀態(tài)
123804765
123804765
123804765
最優(yōu)解
擴(kuò)展節(jié)點(diǎn)數(shù)
生成節(jié)點(diǎn)數(shù)
運(yùn)行時(shí)間
*表2不同啟發(fā)函數(shù)h(n)求解15數(shù)碼問(wèn)題的結(jié)果比較
啟發(fā)函數(shù)h(n)
不在位數(shù)
0
初始狀態(tài)
目標(biāo)狀態(tài)
最優(yōu)解
擴(kuò)展節(jié)點(diǎn)數(shù)
生成節(jié)點(diǎn)數(shù)
運(yùn)行時(shí)間
四、實(shí)驗(yàn)總結(jié)
1.畫出A*算法求解N數(shù)碼問(wèn)題的流程圖
2.完成實(shí)驗(yàn)報(bào)告要求1和2。
3.總結(jié)實(shí)驗(yàn)心得體會(huì)
——————————————————————————————————
實(shí)驗(yàn)四A*算法實(shí)驗(yàn)II
一、實(shí)驗(yàn)?zāi)康?/p>
熟悉和掌握A*算法實(shí)現(xiàn)迷宮尋路功能,要求掌握啟發(fā)式函數(shù)的編寫以及各類啟發(fā)式函數(shù)效果的比較。
二、實(shí)驗(yàn)原理
A*(A-Star)算法是一種靜態(tài)路網(wǎng)中求解最短路最有效的方法。公式表示為:f(n)=g(n)+h(n),其中f(n)是節(jié)點(diǎn)n從初始點(diǎn)到目標(biāo)點(diǎn)的估價(jià)函數(shù),g(n)是在狀態(tài)空間中從初始節(jié)點(diǎn)到n節(jié)點(diǎn)的實(shí)際代價(jià),h(n)是從n到目標(biāo)節(jié)點(diǎn)最佳路徑的估計(jì)代價(jià)。保證找到最短路徑(最優(yōu)解的)條件,關(guān)鍵在于估價(jià)函數(shù)h(n)的選取:估價(jià)值h(n)小于等于n到目標(biāo)節(jié)點(diǎn)的距離實(shí)際值,這種情況下,搜索的點(diǎn)數(shù)多,搜索范圍大,效率低,但能得到最優(yōu)解。如果估價(jià)值大于實(shí)際值,搜索的點(diǎn)數(shù)少,搜索范圍小,效率高,但不能保證得到最優(yōu)解。
尋路問(wèn)題常見于各類游戲中角色尋路、三維虛擬場(chǎng)景中運(yùn)動(dòng)目標(biāo)的路徑規(guī)劃、機(jī)器人尋路等多個(gè)應(yīng)用領(lǐng)域。迷宮尋路問(wèn)題是在以方格表示的地圖場(chǎng)景中,對(duì)于給定的起點(diǎn)、終點(diǎn)和障礙物(墻),如何找到一條從起點(diǎn)開始避開障礙物到達(dá)終點(diǎn)的最短路徑。
假設(shè)在一個(gè)n*m的迷宮里,入口坐標(biāo)和出口坐標(biāo)分別為(1,1)和(5,5),每一個(gè)坐標(biāo)點(diǎn)有兩種可能:0或1,其中0表示該位置允許通過(guò),1表示該位置不允許通過(guò)。
如地圖:
00000
10101
00111
01000
00010
最短路徑應(yīng)該是
AB000
1C101
ED111
F1JKL
GHI1M
即:(1,1)-(1,2)-(2,2)-(3,2)-(3,1)-(4,1)-(5,1)-(5,2)-(5,3)-(4,3)-(4,4)-(4,5)-(5,5)
三、實(shí)驗(yàn)內(nèi)容
1.參考迷宮求解的核心代碼,觀察求解過(guò)程與思路,畫出用A*算法求解迷宮最短路徑的流程圖。
2.設(shè)置不同的地圖,以及不同的初始狀態(tài)和目標(biāo)狀態(tài),記錄A*算法的求解結(jié)果,包括最短路徑、擴(kuò)展節(jié)點(diǎn)數(shù)、生成節(jié)點(diǎn)數(shù)和算法運(yùn)行時(shí)間。
3.對(duì)于相同的初始狀態(tài)和目標(biāo)狀態(tài),設(shè)計(jì)不同的啟發(fā)式函數(shù),比較不同啟發(fā)式函數(shù)對(duì)迷宮尋路速度的提升效果,包括擴(kuò)展節(jié)點(diǎn)數(shù)、生成節(jié)點(diǎn)數(shù)和算法運(yùn)行時(shí)間。
4.提交實(shí)驗(yàn)報(bào)告和源程序。
四、實(shí)驗(yàn)報(bào)告要求:
1.畫出A*算法求解迷宮最短路徑問(wèn)題的流程圖。
2.試分析不同啟發(fā)式函數(shù)h(n)對(duì)迷宮尋路求解的速度提升效果。
3.分析A*算法求解不同規(guī)模迷宮最短路徑問(wèn)題的性能。
下面是實(shí)驗(yàn)報(bào)告的基本內(nèi)容和書寫格式。
實(shí)驗(yàn)名稱
班級(jí):學(xué)號(hào):姓名:
一、實(shí)驗(yàn)?zāi)康?/p>
二、實(shí)驗(yàn)原理
三、實(shí)驗(yàn)結(jié)果
按照實(shí)驗(yàn)內(nèi)容,給出相應(yīng)結(jié)果。
四、實(shí)驗(yàn)總結(jié)
1.完成實(shí)驗(yàn)報(bào)告要求2和3。
2.總結(jié)實(shí)驗(yàn)心得體會(huì)
——————————————————————————————————
實(shí)驗(yàn)五遺傳算法實(shí)驗(yàn)I
一、實(shí)驗(yàn)?zāi)康?/p>
熟悉和掌握遺傳算法的原理、流程和編碼策略,并利用遺傳求解函數(shù)優(yōu)化問(wèn)題,理解求解流程并測(cè)試主要參數(shù)對(duì)結(jié)果的影響。
二、實(shí)驗(yàn)原理
遺傳算法(GeneticAlgorithms,GA)是基于生物界自然選擇和基因遺傳學(xué)原理的一種廣為應(yīng)用的、高效的隨機(jī)搜索算法,20世紀(jì)60年代由美國(guó)的密執(zhí)根大學(xué)的Holland教授首先提出。該算法將優(yōu)化問(wèn)題看作是自然界中生物的進(jìn)化過(guò)程,通過(guò)模擬大自然中生物進(jìn)化過(guò)程中的遺傳規(guī)律,來(lái)達(dá)到尋優(yōu)的目的。近年來(lái),遺傳算法已廣泛地應(yīng)用于作業(yè)調(diào)度與排序、可靠性設(shè)計(jì)、車輛路徑選擇與調(diào)度、成組技術(shù)、設(shè)備布置與分配、交通問(wèn)題等等。
用遺傳算法求解優(yōu)化問(wèn)題,首先對(duì)優(yōu)化問(wèn)題的解進(jìn)行編碼,編碼后的一個(gè)解稱為一個(gè)染色體,組成染色體的元素稱為基因。一個(gè)群體由若干個(gè)染色體組成,染色體的個(gè)數(shù)稱為群體的規(guī)模。在遺傳算法中用適應(yīng)度函數(shù)表示環(huán)境,它是已編碼的解的函數(shù),是一個(gè)解適應(yīng)環(huán)境程度的評(píng)價(jià)。當(dāng)適應(yīng)度函數(shù)確定后,自然選擇規(guī)律以適應(yīng)度函數(shù)值的大小來(lái)決定一個(gè)染色體是否繼續(xù)生存下去的概率。生存下來(lái)的染色體成為種群,它們中的部分或全部以一定的概率進(jìn)行交叉、變異,從而得到下一代群體。
三、實(shí)驗(yàn)條件
Matlab7.X的遺傳算法工具箱。
四、實(shí)驗(yàn)內(nèi)容:
1.用遺傳算法求解下列函數(shù)的最大值,設(shè)定求解精度到15位小數(shù)。
給出適應(yīng)度函數(shù)(FitnessFunction)的M文件(Matlab中要求適應(yīng)度函數(shù)最小化)。
設(shè)計(jì)及選擇上述問(wèn)題的編碼、選擇操作、交叉操作、變異操作以及控制參數(shù)等,填入表1,給出最佳適應(yīng)度(Bestfitness)和最佳個(gè)體(Bestindividual)圖。
表1遺傳算法參數(shù)的選擇
編碼
編碼方式(populationtype)
種群參數(shù)
種群規(guī)模(populationsize)
初始種群的個(gè)體取值范圍(Initialrange)
選擇操作
個(gè)體選擇概率分配策略(對(duì)應(yīng)Fitnessscaling)
個(gè)體選擇方法(Selectionfunction)
最佳個(gè)體保存
優(yōu)良個(gè)體保存數(shù)量(Elitecount)
交叉操作
交叉概率(Crossoverfraction)
交叉方式(Crossoverfunction)
變異操作
變異方式(Mutationfunction)
停止參數(shù)
最大迭代步數(shù)(Generations)
最大運(yùn)行時(shí)間限制(Timelimit)
最小適應(yīng)度限制(Fitnesslimit)
停滯代數(shù)(Stallgenerations)
停滯時(shí)間限制(Stalltimelimit)
使用相同的初始種群(Userandomstatefrompreviousrun),設(shè)置不同的種群規(guī)模(populationsize),例如5、20和100,初始種群的個(gè)體取值范圍(Initialrange)為[0;1],其他參數(shù)同表1,然后求得相應(yīng)的最佳適應(yīng)度(Bestfitness)、平均適應(yīng)度(Meanfitness)和最佳個(gè)體(Bestindividual),填入下表2,分析種群規(guī)模對(duì)算法性能的影響。
表2不同的種群規(guī)模的GA運(yùn)行結(jié)果
種群規(guī)模
最佳適應(yīng)度
平均適應(yīng)度
最佳個(gè)體
x
y
5
20
100
*4)設(shè)置種群規(guī)模(populationsize)為20,初始種群的個(gè)體取值范圍(Initialrange)為[0;10],選擇不同的選擇操作、交叉操作和變異操作,其他參數(shù)同表1,然后獨(dú)立運(yùn)行算法10次,完成下表3,并分析比較采用不同的選擇策略、交叉策略和變異策略的算法運(yùn)行結(jié)果。
表3不同的選擇策略、交叉策略和變異策略的算法運(yùn)行結(jié)果
遺傳算法參數(shù)設(shè)置(gaoptimset)
1
2
3
4
選擇操作
個(gè)體選擇概率分配
FitnessScalingFcn
Rank(排序)
@fitscalingrank
√
√
√
Proportional(比率)
@fitscalingprop
√
個(gè)體選擇
SelectionFcn
Roulette(輪盤賭選擇)
@selectionroulette
√
√
√
Tournament(競(jìng)標(biāo)賽選擇)
@selectiontournament
√
交叉操作
CrossoverFcn
單點(diǎn)交叉@crossoversinglepoint
√
√
√
兩點(diǎn)交叉@crossovertwopoint
√
變異操作
MutationFcn
Uniform(均勻變異)@mutationuniform
√
√
√
Gaussian(高斯變異)@mutationgaussian
√
最好適應(yīng)度
最差適應(yīng)度
平均適應(yīng)度
備注:
1:options=gaoptimset('PopulationSize',20,'PopInitRange',[0;10],'FitnessScalingFcn',@fitscalingrank,'SelectionFcn',@selectionroulette,'CrossoverFcn',@crossoversinglepoint,'MutationFcn',@mutationuniform)
2.用遺傳算法求解下面一個(gè)Rastrigin函數(shù)的最小值,設(shè)定求解精度到15位小數(shù)。
1)給出適應(yīng)度函數(shù)的M文件(Matlab中要求適應(yīng)度函數(shù)最小化)。
設(shè)計(jì)上述問(wèn)題的編碼、選擇操作、交叉操作、變異操作以及控制參數(shù)等,填入表4,并畫出最佳適應(yīng)度(Bestfitness)和最佳個(gè)體(Bestindividual)圖。
表4遺傳算法參數(shù)的選擇
編碼
編碼方式(populationtype)
種群參數(shù)
種群規(guī)模(populationsize)
初始種群的個(gè)體取值范圍(Initialrange)
選擇操作
個(gè)體選擇概率分配策略(對(duì)應(yīng)Fitnessscaling)
個(gè)體選擇方法(Selectionfunction)
最佳個(gè)體保存
優(yōu)良個(gè)體保存數(shù)量(Elitecount)
交叉操作
交叉概率(Crossoverfraction)
交叉方式(Crossoverfunction)
變異操作
變異方式(Mutationfunction)
停止參數(shù)
最大迭代步數(shù)(Generations)
最大運(yùn)行時(shí)間限制(Timelimit)
最小適應(yīng)度限制(Fitnesslimit)
停滯代數(shù)(Stallgenerations)
停滯時(shí)間限制(Stalltimelimit)
設(shè)置種群的不同初始范圍,例如[1;1.1]、[1;100]和[1;2],畫出相應(yīng)的最佳適應(yīng)度值(Bestfitness)和平均距離(Distance)圖,比較分析初始范圍及種群多樣性對(duì)遺傳算法性能的影響。
設(shè)置不同的交叉概率(Crossoverfraction=0、0.8、1),畫出無(wú)變異的交叉(Crossoverfraction=1)、無(wú)交叉的變異(Crossoverfraction=0)以及交叉概率為0.8時(shí)最佳適應(yīng)度值(Bestfitness)和和平均距離(Distance)圖,分析交叉和變異操作對(duì)算法性能的影響。
五、實(shí)驗(yàn)報(bào)告要求:
1.畫出遺傳算法的算法流程圖。
2.根據(jù)實(shí)驗(yàn)內(nèi)容,給出相應(yīng)結(jié)果。
3.總結(jié)遺傳算法的特點(diǎn),并說(shuō)明適應(yīng)度函數(shù)在遺傳算法中的作用。
下面是實(shí)驗(yàn)報(bào)告的基本內(nèi)容和書寫格式。
實(shí)驗(yàn)名稱
班級(jí):學(xué)號(hào):姓名:
一、實(shí)驗(yàn)?zāi)康?/p>
二、實(shí)驗(yàn)原理
三、實(shí)驗(yàn)結(jié)果
按照實(shí)驗(yàn)內(nèi)容,給出實(shí)驗(yàn)結(jié)果以及結(jié)果分析。
四、實(shí)驗(yàn)總結(jié)
1.完成實(shí)驗(yàn)報(bào)告要求3。
2.總結(jié)實(shí)驗(yàn)心得體會(huì)
——————————————————————————————————
實(shí)驗(yàn)六遺傳算法實(shí)驗(yàn)II
一、實(shí)驗(yàn)?zāi)康?/p>
熟悉和掌握遺傳算法的原理、流程和編碼策略,理解求解TSP問(wèn)題的流程并測(cè)試主要參數(shù)對(duì)結(jié)果的影響,掌握遺傳算法的基本實(shí)現(xiàn)方法。
二、實(shí)驗(yàn)原理
旅行商問(wèn)題,即TSP問(wèn)題(TravelingSalesmanProblem)是數(shù)學(xué)領(lǐng)域中著名問(wèn)題之一。假設(shè)有一個(gè)旅行商人要拜訪n個(gè)城市,n個(gè)城市之間的相互距離已知,他必須選擇所要走的路徑,路經(jīng)的限制是每個(gè)城市只能拜訪一次,而且最后要回到原來(lái)出發(fā)的城市。路徑的選擇目標(biāo)是要求得的路徑路程為所有路徑之中的最小值。
用圖論的術(shù)語(yǔ)來(lái)說(shuō),假設(shè)有一個(gè)圖g=(v,e),其中v是頂點(diǎn)集,e是邊集,設(shè)d=(dij)是由頂點(diǎn)i和頂點(diǎn)j之間的距離所組成的距離矩陣,旅行商問(wèn)題就是求出一條通過(guò)所有頂點(diǎn)且每個(gè)頂點(diǎn)只通過(guò)一次的具有最短距離的回路。TSP問(wèn)題是一個(gè)典型的組合優(yōu)化問(wèn)題,該問(wèn)題可以被證明具有NPC計(jì)算復(fù)雜性,其可能的路徑數(shù)目與城市數(shù)目n是成指數(shù)型增長(zhǎng)的,所以一般很難精確地求出其最優(yōu)解,本實(shí)驗(yàn)采用遺傳算法求解。
遺傳算法的基本思想正是基于模仿生物界遺傳學(xué)的遺傳過(guò)程。它把問(wèn)題的參數(shù)用基因代表,把問(wèn)題的解用染色體代表(在計(jì)算機(jī)里用二進(jìn)制碼表示),從而得到一個(gè)由具有不同染色體的個(gè)體組成的群體。這個(gè)群體在問(wèn)題特定的環(huán)境里生存競(jìng)爭(zhēng),適者有最好的機(jī)會(huì)生存和產(chǎn)生后代。后代隨機(jī)化地繼承了父代的最好特征,并也在生存環(huán)境的控制支配下繼續(xù)這一過(guò)程。群體的染色體都將逐漸適應(yīng)環(huán)境,不斷進(jìn)化,最后收斂到一個(gè)最適應(yīng)環(huán)境的類似個(gè)體,即得到問(wèn)題最優(yōu)的解。
三、實(shí)驗(yàn)內(nèi)容
1、參考實(shí)驗(yàn)系統(tǒng)給出的遺傳算法核心代碼,用遺傳算法求解不同規(guī)模(例如10個(gè)城市,20個(gè)城市,100個(gè)城市)的TSP問(wèn)題,把結(jié)果填入表1。
表1遺傳算法求解不同規(guī)模的TSP問(wèn)題的結(jié)果
城市規(guī)模
最好適應(yīng)度
最差適應(yīng)度
平均適應(yīng)度
平均運(yùn)行時(shí)間
10
20
100
2、對(duì)于同一個(gè)TSP問(wèn)題(例如10個(gè)城市),設(shè)置不同的種群規(guī)模(例如10,20,100)、交叉概率(0,0.5,1)和變異概率(0,0.5,1),把結(jié)果填入表2。
3、設(shè)置種群規(guī)模為100,交叉概率為0.85,變異概率為0.15,然后增加1種變異策略(例如相鄰兩點(diǎn)互換變異、逆轉(zhuǎn)變異或插入變異等)和1種個(gè)體選擇概率分配策略(例如按線性排序或者按非線性排序分配個(gè)體選擇概率)用于求解同一TSP問(wèn)題(例如10個(gè)城市),把結(jié)果填入表3。
表2不同的種群規(guī)模、交叉概率和變異概率的求解結(jié)果
種群規(guī)模
交叉概率
變異概率
最好適應(yīng)度
最差適應(yīng)度
平均適應(yīng)度
平均運(yùn)行時(shí)間
10
0.85
0.15
20
0.85
0.15
100
0.85
0.15
100
0
0.15
100
0.5
0.15
100
1
0.15
100
0.85
0
100
0.85
0.5
100
0.85
1
表3不同的變異策略和個(gè)體選擇概率分配策略的求解結(jié)果
變異策略
個(gè)體選擇概率分配
最好適應(yīng)度
最差適應(yīng)度
平均適應(yīng)度
平均運(yùn)行時(shí)間
兩點(diǎn)互換
按適應(yīng)度比例分配
兩點(diǎn)互換
按適應(yīng)度比例分配
4、提交實(shí)驗(yàn)報(bào)告和源程序。
四、實(shí)驗(yàn)報(bào)告要求:
1、畫出遺傳算法求解TSP問(wèn)題的流程圖。
2、分析遺傳算法求解不同規(guī)模的TSP問(wèn)題的算法性能。
3、對(duì)于同一個(gè)TSP問(wèn)題,分析種群規(guī)模、交叉概率和變異概率對(duì)算法結(jié)果的影響。
4、增加1種變異策略和1種個(gè)體選擇概率分配策略,比較求解同一TSP問(wèn)題時(shí)不同變異策略及不同個(gè)體選擇分配策略對(duì)算法結(jié)果的影響。
下面是實(shí)驗(yàn)報(bào)告的基本內(nèi)容和書寫格式。
實(shí)驗(yàn)名稱
班級(jí):學(xué)號(hào):姓名:
一、實(shí)驗(yàn)?zāi)康?/p>
二、實(shí)驗(yàn)原理
三、實(shí)驗(yàn)結(jié)果
按照實(shí)驗(yàn)內(nèi)容,給出相應(yīng)結(jié)果。
四、實(shí)驗(yàn)總結(jié)
1.完成實(shí)驗(yàn)報(bào)告要求2,3和4。
2.總結(jié)實(shí)驗(yàn)心得體會(huì)
——————————————————————————————————
實(shí)驗(yàn)七基于神經(jīng)網(wǎng)絡(luò)的模式識(shí)別實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?/p>
理解BP神經(jīng)網(wǎng)絡(luò)和離散Hopfield神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和原理,掌握反向傳播學(xué)習(xí)算法對(duì)神經(jīng)元的訓(xùn)練過(guò)程,了解反向傳播公式。通過(guò)構(gòu)建BP網(wǎng)絡(luò)和離散Hopfield網(wǎng)絡(luò)模式識(shí)別實(shí)例,熟悉前饋網(wǎng)絡(luò)和反饋網(wǎng)絡(luò)的原理及結(jié)構(gòu)。
二、實(shí)驗(yàn)原理
BP學(xué)習(xí)算法是通過(guò)反向?qū)W習(xí)過(guò)程使誤差最小,其算法過(guò)程從輸出節(jié)點(diǎn)開始,反向地向第一隱含層(即最接近輸入層的隱含層)傳播由總誤差引起的權(quán)值修正。BP網(wǎng)絡(luò)不僅含有輸入節(jié)點(diǎn)和輸出節(jié)點(diǎn),而且含有一層或多層隱(層)節(jié)點(diǎn)。輸入信號(hào)先向前傳遞到隱節(jié)點(diǎn),經(jīng)過(guò)作用后,再把隱節(jié)點(diǎn)的輸出信息傳遞到輸出節(jié)點(diǎn),最后給出輸出結(jié)果。
離散Hopfield神經(jīng)網(wǎng)絡(luò)的聯(lián)想記憶過(guò)程分為學(xué)習(xí)和聯(lián)想兩個(gè)階段。在給定樣本的條件下,按照Hebb學(xué)習(xí)規(guī)則調(diào)整連接權(quán)值,使得存儲(chǔ)的樣本成為網(wǎng)絡(luò)的穩(wěn)定狀態(tài),這就是學(xué)習(xí)階段。聯(lián)想是指在連接權(quán)值不變的情況下,輸入部分不全或者受了干擾的信息,最終網(wǎng)絡(luò)輸出某個(gè)穩(wěn)定狀態(tài)。
三、實(shí)驗(yàn)條件
Matlab7.X的神經(jīng)網(wǎng)絡(luò)工具箱:在Matlab7.X的命令窗口輸入nntool,然后在鍵盤上輸入Enter鍵,即可打開神經(jīng)網(wǎng)絡(luò)工具箱。
四、實(shí)驗(yàn)內(nèi)容
1.針對(duì)教材P243例8.1,設(shè)計(jì)一個(gè)BP網(wǎng)絡(luò)結(jié)構(gòu)模型(63-6-9),并以教材圖8.5為訓(xùn)練樣本數(shù)據(jù),圖8.6為測(cè)試數(shù)據(jù)。
(1)從Matlab工作空間導(dǎo)入(Import)訓(xùn)練樣本數(shù)據(jù)(inputdata,outputdata)和測(cè)試數(shù)據(jù)(testinputdata),然后新建一個(gè)神經(jīng)網(wǎng)絡(luò)(NewNetwork),選擇參數(shù)如下表1,給出BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖。
表1BP網(wǎng)絡(luò)結(jié)構(gòu)模型的各項(xiàng)參數(shù)設(shè)置
NetworkName(神經(jīng)網(wǎng)絡(luò)名稱)
NetworkType(神經(jīng)網(wǎng)絡(luò)類型)
Feed-forwardbackprop(前饋反向傳播)
Inputranges(輸入信息范圍)
來(lái)自訓(xùn)練樣本的輸入數(shù)據(jù)(inputdata)
Trainingfunction(訓(xùn)練函數(shù))
TRAINGD(梯度下降BP算法)
Performancefunction(性能函數(shù))
MSE(均方誤差)
Numberoflayers(神經(jīng)網(wǎng)絡(luò)層數(shù))
2
Layer1(第1層)的Numberofneurons(神經(jīng)元個(gè)數(shù))
6
Layer1(第1層)的TransferFunction(傳遞函數(shù))
TANSIG(雙曲正切S型函數(shù))
Layer2(第2層)的Numberofneurons(神經(jīng)元個(gè)數(shù))
9
Layer2(第2層)的TransferFunction(傳遞函數(shù))
LOGSIG(S型函數(shù))
(2)輸入訓(xùn)練樣本數(shù)據(jù)(inputdata,outputdata),隨機(jī)初始化連接權(quán)(InitializeWeights),給出BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練成功后的誤差變化曲線圖,訓(xùn)練參數(shù)設(shè)置如表2所示。
表2BP網(wǎng)絡(luò)訓(xùn)練參數(shù)
訓(xùn)練次數(shù)(epochs)
1000
訓(xùn)練時(shí)間(time)
Inf
訓(xùn)練目標(biāo)(goal)
0
學(xué)習(xí)率(lr)
0.3
最大確認(rèn)失敗次數(shù)(max_fail)
5
最小性能梯度(min_grad)
1e-025
兩次顯示之間的訓(xùn)練步數(shù)(show)
25
(3)選擇不同的訓(xùn)練函數(shù),例如TRAINGDM(梯度下降動(dòng)量BP算法)、TRAINLMM(Levenberg-MarquardtBP訓(xùn)練函數(shù)),然后輸入訓(xùn)練樣本數(shù)據(jù)(inputdata,outputdata),訓(xùn)練參數(shù)設(shè)置如表2所示,設(shè)置相同的初始連接權(quán)(RevertWeights),觀察不同BP訓(xùn)練算法的學(xué)習(xí)效果,給出各訓(xùn)練算法下的誤差變化曲線圖。
(4)在上述3個(gè)訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)中,選擇訓(xùn)練誤差最小的一個(gè)網(wǎng)絡(luò),并給出訓(xùn)練后的連接權(quán)值和偏置,然后輸入測(cè)試數(shù)據(jù)(testinputdata)進(jìn)行仿真(Simulate),并把訓(xùn)練和測(cè)試的結(jié)果都導(dǎo)出到工作空間,給出訓(xùn)練后的輸出結(jié)果和輸出誤差,以及測(cè)試后的輸出結(jié)果和輸出誤差。
(5)針對(duì)Trainingfunction(訓(xùn)練函數(shù))為TRAINGD的BP網(wǎng)絡(luò),然后設(shè)置不同的學(xué)習(xí)率(lr),例如0.01、0.1、0.5、1,觀察TRAINGD訓(xùn)練算法的學(xué)習(xí)效果,給出各學(xué)習(xí)率下的誤差變化曲線圖。
2.已知字符點(diǎn)陣為模式,兩組訓(xùn)練數(shù)據(jù)為
大寫字母L小寫字母l
圖1訓(xùn)練數(shù)據(jù)
設(shè)計(jì)一個(gè)能夠存儲(chǔ)這兩個(gè)字符的離散Hopfield神經(jīng)網(wǎng)絡(luò),要求:
(1)給出相應(yīng)的離散Hopfield神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖;
(2)計(jì)算連接權(quán)值及閾值(閾值可設(shè)為0);
(3)輸入下列測(cè)試數(shù)據(jù)
圖2測(cè)試數(shù)據(jù)
給出網(wǎng)絡(luò)最終輸出的穩(wěn)定狀態(tài)。
五、實(shí)驗(yàn)報(bào)告要求:
1.按照實(shí)驗(yàn)內(nèi)容,給出相應(yīng)結(jié)果。
2.分析比較采用梯度下降訓(xùn)練算法的BP網(wǎng)絡(luò)學(xué)習(xí)率的變化對(duì)于訓(xùn)練結(jié)果的影響。
3.分析比較BP網(wǎng)絡(luò)和離散Hopfield網(wǎng)絡(luò)在模式識(shí)別方面的異同點(diǎn)。
下面是實(shí)驗(yàn)報(bào)告的基本內(nèi)容和書寫格式。
實(shí)驗(yàn)名稱
班級(jí):學(xué)號(hào):姓名:
一、實(shí)驗(yàn)?zāi)康?/p>
二、實(shí)驗(yàn)原理
三、實(shí)驗(yàn)結(jié)果
按照實(shí)驗(yàn)內(nèi)容,給出相應(yīng)結(jié)果。
四、實(shí)驗(yàn)總結(jié)
1.完成實(shí)驗(yàn)報(bào)告要求2。
2.總結(jié)實(shí)驗(yàn)心得體會(huì)
——————————————————————————————————
實(shí)驗(yàn)八基于神經(jīng)網(wǎng)絡(luò)的優(yōu)化計(jì)算實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康模?/p>
掌握連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和運(yùn)行機(jī)制,理解連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)用于優(yōu)化計(jì)算的基本原理,掌握連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)用于優(yōu)化計(jì)算的一般步驟。
二、實(shí)驗(yàn)原理
連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)的能量函數(shù)的極小化過(guò)程表示了該神經(jīng)網(wǎng)絡(luò)從初始狀態(tài)到穩(wěn)定狀態(tài)的一個(gè)演化過(guò)程。如果將約束優(yōu)化問(wèn)題的目標(biāo)函數(shù)與連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)的能量函數(shù)對(duì)應(yīng)起來(lái),并把約束優(yōu)化問(wèn)題的解映射到連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)的一個(gè)穩(wěn)定狀態(tài),那么當(dāng)連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)的能量函數(shù)經(jīng)演化達(dá)到最小值時(shí),此時(shí)的連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)的穩(wěn)定狀態(tài)就對(duì)應(yīng)于約束優(yōu)化問(wèn)題的最優(yōu)解。
三、實(shí)驗(yàn)條件:
VC++6.0。
四、實(shí)驗(yàn)內(nèi)容:
1、參考求解TSP問(wèn)題的連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)源代碼,給出15個(gè)城市和20個(gè)城市的求解結(jié)果(包括最短路徑和最佳路線),分析連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)求解不同規(guī)模TSP問(wèn)題的算法性能。
2、對(duì)于同一個(gè)TSP問(wèn)題(例如15個(gè)城市的TSP問(wèn)題),設(shè)置不同的網(wǎng)絡(luò)參數(shù),分析不同參數(shù)對(duì)算法結(jié)果的影響。
3、上交源代碼。
五、實(shí)驗(yàn)報(bào)告要求:
1、畫出連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)求解TSP問(wèn)題的流程圖。
2、根據(jù)實(shí)驗(yàn)內(nèi)容,給出相應(yīng)結(jié)果及分析。
3、總結(jié)連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)和遺傳算法用于TSP問(wèn)題求解時(shí)的優(yōu)缺點(diǎn)。
下面是實(shí)驗(yàn)報(bào)告的基本內(nèi)容和書寫格式。
實(shí)驗(yàn)名稱
班級(jí):學(xué)號(hào):姓名:
一、實(shí)驗(yàn)?zāi)康?/p>
二、實(shí)驗(yàn)原理
三、實(shí)驗(yàn)結(jié)果
按照實(shí)驗(yàn)內(nèi)容,給出相應(yīng)結(jié)果。
四、實(shí)驗(yàn)總結(jié)
1.完成實(shí)驗(yàn)報(bào)告要求1和3。
2.總結(jié)實(shí)驗(yàn)心得體會(huì)
——————————————————————————————————
附錄資料:不需要的可以自行刪除
Pascal/C/C++語(yǔ)句對(duì)比(補(bǔ)充版)
一、Helloworld
先看三種語(yǔ)言的樣例:
Pascal
begin
writeln(‘Helloworld’);
end.
C
#include<stdio.h>
intmain()
{
printf("Helloworld!\n");
return0;
}
C++
#include<iostream>
usingnamespacestd;
intmain()
{
cout<<"Helloworld!"<<endl;
return0;
}
從這三個(gè)程序可以看到一些最基本的東西。在Pascal中的begin和end,在C/C++里就是{};Pascal主程序沒有返回值,而C/C++返回0(好像在C中可以為NULL)。在C/C++中,main函數(shù)以前的是頭文件,樣例中C為stdio.h,C++除了iostream還有第二行的usingnamespacestd,這個(gè)是打開命名空間的,NOIP不會(huì)考這個(gè),可以不管,只要知道就行了。
此外說(shuō)明注釋單行用//,段落的話Pascal為{},C/C++為/**/。
**常用頭文件(模板)
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<ctime>
#include<string>
usingnamespacestd;
intmain()
{
……
system(“pause”);
return0;
}
二、數(shù)據(jù)類型及定義
這里只列出常用的類型。
1、整型
Pascal
C/C++
范圍
shortint
-
-128…127
integer
short
-32768…32767
longint
Int
-2147483648…2147483647
int64
longlong
-9223372036854775808…9223372036854775807
byte
-
0…255
word
unsignedshort
0…65535
longword
unsignedint
0…4294967295
qword
unsignedlonglong
0…18446744073709551615
**當(dāng)對(duì)longlong變量賦值時(shí),后要加LL
Longlongx=6327844632743269843LL
**如果位移x<<2LL
**Linux:printf(“%lld\n”,x);
**Windows:printf(“%I64d\n”,x);
2、實(shí)型
Pascal
C/C++
范圍
real
float
2.9E-39…1.7E38
single
-
1.5E-45…3.4E38
double
double
5.0E-324…1.7E308
3、字符即字符串
字符在三種語(yǔ)言中都為char,C里沒有字符串,只有用字符數(shù)組來(lái)代替字符串,Pascal和C++均為string。Pascal中字符串長(zhǎng)度有限制,為255,C++則沒有。
字符串和字符在Pascal中均用單引號(hào)注明,在C/C++中字符用單引號(hào),字符串用雙引號(hào)。
4、布爾類型
Pascal中為boolean,C/C++為bool。值均為True或False。C/C++中除0外bool都為真。
5、定義
常量的定義均為const,只是在C/C++中必須要注明常量的類型。在C/C++中還可以用宏來(lái)定義常量,此時(shí)不注明類型。
Pascal
C/C++
const
a=60;
b=-a+30;
d=‘‘;
constinta=60;
constintb=-a+30;
conststringd=“”;
defineMAXN501//這個(gè)是宏
**宏定義其實(shí)就是直接在程序相應(yīng)的位置替換:
#definerandomizesrand(unsignedtime(NULL))
#definewaitfor(intw=0;w<100000;w++)
變量的定義,C/C++在定義的同時(shí)可以賦值:
Pascal
C/C++
var
a,b:integer;
c:char;
d:string;
inta,b=50;
charc=‘A’;
stringd;
boolflag;
三、輸入輸出
C/C++中沒有以回車作為結(jié)束的讀入方式(就本人所知)。”\n”表示換行。常規(guī)輸入輸出:
Pascal
C
C++
read(a);//讀入變量a
readln(a);//讀入變a,回車結(jié)束
write(a);//輸出a
writeln(a);//輸出a并換行
scanf(“%d”,&a);
printf(“%d”,a);
printf(“%d\n”,a);
cin>>a;
cout<<a;
cout<<a<<endl;
特別說(shuō)明C++中cin一個(gè)字符的話會(huì)自動(dòng)跳過(guò)空格和回車,Pascal和C則會(huì)讀入空格和回車。在Pascal中writeln(a:n:m)表示在n個(gè)字符寬的輸出域上輸出a保留m位小數(shù)。
例如:pascalwrite(a:6)c/c++printf(“%6d”,a)
Pascalwrite(a:6:2)c/c++printf(“%6.2f”,a)
C++如果用cout?(繁瑣!!)
需要加頭文件#inlude<iomanip>
cout<<setprecision(2)<<a;//作用永久
cout<<setw(6)<<a;//作用臨時(shí)
以下三個(gè)進(jìn)制設(shè)定都是永久作用:
cout<<dec<<a;相當(dāng)printf(“%d”,a);//十進(jìn)制
cout<<hex<<a;相當(dāng)printf(“%X”,a);//十六進(jìn)制
cout<<oct<<a;相當(dāng)printf(“%o”,a);//八進(jìn)制
例如:cout<<12<<hex<<12<<oct<<12<<12<<endl;
輸出:12c1414
C的輸入輸出里面的字符串中%表示變量,%后面的字目表示變量類型。下面是類型表:
%hd
1個(gè)short型整數(shù)
%d
1個(gè)int型整數(shù)
%u
1個(gè)unsignedint型整數(shù)
%I64d
1個(gè)longlong型整數(shù)
%c
1個(gè)字符
%s
1個(gè)C字符串
%f
1個(gè)float型實(shí)數(shù)
%lf
1個(gè)double型實(shí)數(shù)
%10.4f
輸出1個(gè)總寬度為10,保留4位小數(shù)的實(shí)數(shù)
文件輸入輸出:
Pascal
assign(input,‘test.in’);
assign(output,‘test.out’);
reset(input);
rewrite(output);
read(a,b);
writeln(a,b);
close(input);
close(output);
C
FILE*fin=fopen(“test.in”,“r”);
FILE*fout=fopen(“test.out”,“w”);
fscanf(fin,“%d%d”,&a,&b);
fprintf(fout,“%d%d”,a,b);
fclose(fin);
fclose(fout);
C++
#include<fstream>
usingnamespacestd;
ifstreamfin(“test.in”);
ofstreamfout(“test.out”);
fin>>a>>b;
fout<<a<<b<<endl;
fin.close();
fout.close();
因?yàn)镃++的讀入較慢,個(gè)人建議C++的話使用C的輸入方式。當(dāng)然也有人用C的讀入,C++的輸出的,這種方式我們稱之為城鄉(xiāng)結(jié)合。
**中國(guó)計(jì)算機(jī)學(xué)會(huì)競(jìng)賽須知發(fā)布的C讀寫程序:
(C++也能用,cin,cout,scanf,printf可混用)
#include<stdio.h>
intmain()
{
inta,b;
freopen(“sum.in”,”r”,stdin);
freopen(“sum.out”,”w”,stdout);
scanf(“%d%d”,&a,&b);
printf(“%d\n”,a+b);
return0;
}
或者:
freopen(“sum.in”,”r”,stdin);
freopen(“sum.out”,”w”,stdout);
ios::sync_with_stdio(false);\\取消同步,cin,cout的速度就不慢了!!
cin>>a>>b;
cout<<a+b<<endl;
return0;
以下擴(kuò)充c/c++混用是可行的:
#include<iostream>
#include<cstdio>
usingnamespacestd;
intmain()
{
inta,b,c,d;
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
scanf("%d%d",&a,&b);
cin>>c>>d;
printf("%d\n",a+b);
cout<<a+b+c+d<<endl;
return0;
}
**如何判斷文件結(jié)束(EOF)?
C++
while(cin>>s>>n)
{
...
}
C
while(scanf(%s%d",s,&n)!=EOF)
{
...
}
四、賦值語(yǔ)句及運(yùn)算符號(hào)
一一對(duì)應(yīng)的關(guān)系
Pascal
C/C++
賦值運(yùn)算
賦值
:=
=
基本運(yùn)算
加
+
+
減
-
-
乘
*
*
除(實(shí)數(shù))
/
/(double)
除法
取整
div
(int)/(int)
取余
mod
%
比較
等于
=
==
不等于
<>
!=
大于
>
>
大于等于
>=
>=
小于
<
<
小于等于
<=
<=
邏輯
且
and
&&
或
or
||
非
not
!
位運(yùn)算
左移(*2)
shl
<<
右移(/2)
shr
>>
且
and
&
或
or
|
非
not
~
異或
xor
^
其他
增一
inc(x)
x++
減一
dec(x)
x--
在C/C++中對(duì)某個(gè)變量自身進(jìn)行運(yùn)算可以簡(jiǎn)寫為
變量名運(yùn)算符號(hào)=改變量
如x+=8就表示x=x+8,即inc(x,8)。
在C/C++里還存在一種三目運(yùn)算
變量名=條件?值A(chǔ):值B
如x=x>0?x:-x;//表示若x>0則取x,否則取–x,
同ifx>0thenx:=xelsex:=-x;
五、條件語(yǔ)句
1、if
C/C++中if語(yǔ)句的條件必須要用括號(hào)括起來(lái),后面不使用then。
Pascal
C/C++
ifa>bthenflag:=true
elseflag:=false;
if(a>b)flag=true;
elseflag=false;
2、多種分支
C/C++中為switch,Pascal為case:
Pascal
C/C++
casexof
1:inc(x);
2:dec(x);
elsex:=x*x;
end;
switch(x)
{
case1:x++;break;
case2:x--;break;
default:x*=x;
}
切記C/C++中一定要寫break,后果你可以去掉break,運(yùn)行看看就知道了。
六、循環(huán)語(yǔ)句
1、for
Pascal
C/C++
for變量名:=初始值to(downto)終止值do
for(變量名=初始值;條件;改變方式)
fori:=5to10dodec(a);
//終止值大于初始值用to
fori:=5downto1dodec(a);
//終止值小于于初始值用downto
for(i=5;i<=10;i++)a--;
for(i=5;i>=1;i--)a--;
/*只要i滿足條件就會(huì)一直循環(huán)。
C/C++中i是實(shí)數(shù)、指針都可以*/
C/C++中for的特殊用法:
//變量為實(shí)數(shù)
for(doublei=1;i<=2;i*=1.01)
k++;
//變量為指針,->符號(hào)為間接引用,后面會(huì)提到。
for(type1*p=head->next;p;p=p->next)
printf(“%d”,p->k);
2、while
Pascal
C/C++
while條件do
while(條件)
whilei<>0dodec(i);
while(i!=0)i--;
//也可寫作while(i)i--;
//在C/C++中非0即為真。
3、repeat-until&do-while
Pascal
C/C++
repeat語(yǔ)句until結(jié)束條件;
do{}while(運(yùn)行條件)
repeatint(i)untili>100;
do{i++;}while(i<=100);
七、數(shù)組
Pascal中數(shù)組的下標(biāo)可以隨意定義,而C/C++下標(biāo)始終為從0開始到(數(shù)組大小–1)。
Pascal
C/C++
定義
a:array[1..100]ofinteger;
b:array[1..10,1..10]ofint64;
inta[100];
intb[10][10];
含義
a為大小為100的integer數(shù)組,合法下標(biāo)為1到100
b為大小為10*10的int64數(shù)組,合法下標(biāo)為1,1到10,10
a為大小為100的int數(shù)組,合法下標(biāo)為0到99
b為大小為10*10的int數(shù)組,合法下標(biāo)為0,0到9,9;
使用
inc(a[21]);
b[2,2]:=b[1,1]+b[1,2]+b[2,1];
a[21]++;
b[1][1]=b[0][1]+b[0][0]+b[1][0];
數(shù)組清零
Pascal
C/C++
Fillchar(a,sizeof(a),0);
memset(a,0,sizeof(a));
//頭文件包含string.h
**如果要填最大:memset(a,127,sizeof(a))(但達(dá)不到INT_MAX)
如果要填最?。簃emset(a,128,sizeof(a))(但達(dá)不到INT_MIN)
如果填0:memset(a,0,sizeof(a))
如果填-1:memset(a,-1,sizeof(a))
八、字符串
C風(fēng)格的字符串就是字符數(shù)組。
C++和Pascal的字符串使用基本相同,只是C++中字符串下標(biāo)以0開始,Pascal以1開始。字符串處理很多這里不一一列舉,只寫最常用的幾個(gè)。
Pascal
C(包含<string.h>)
定義用:chars[]
C++(包含<string>)
定義用:strings
輸入
輸
出
Readln(s);
Writeln(s);
Scanf(“%s”,s);
Printf(“%s\n”,s);
注:不能輸入輸出c++的字符串
Cin>>s;
Cout<<s<<endl;
注:可以輸入輸出c的字符串
查找
pos(‘a(chǎn)’,s);//不存在返回0
沒有
s.find(‘a(chǎn)’);//不存在返回-1
串
長(zhǎng)
len=length(s);
Strlen(s)
len=s.size();或
Len=s.length();
復(fù)制
copy(st,pos,num);
st:=‘a(chǎn)bcde’;
s:=copy(st,3,2);
//s=‘cd’
Strcpy(s1,s2)
全部復(fù)制
Strncpy(s1,s2,n)
前n個(gè)復(fù)制
但沒有從第幾個(gè)開始的!
substr(pos,n)//返回從pos開始的長(zhǎng)度為n的子串;
strings1=“abcde”,s2;
s2=s1.substr(2,2);
//s2=“cd”
插入
insert(obj,target,pos);
st:=‘helloworld’;
st:=insert(‘‘,st,6);
//st=‘helloworld’
沒有
insert(pos,s)//在pos位置處插入字符串s;
strings1=“0123”;
s1.insert(1,“XYZ”);//s1=“0XYZ123”
刪除
delete(st,pos,num);
st:=‘helloworld’;
st:=delete(st,6,1);
//st=‘helloworld’
沒有
erase(pos,n)//從pos位置開始刪除n個(gè)字符;
strings1="abcdefghi";
s1.erase(5,3);//得到"abcdei"
C++還有以下功能:
用s.replace(2,2,"ttt")可以部分替換
用s.empty()判斷是否為空
可訪問(wèn)s[i],位置從0算起
可以s1+s2
可以s1=s2
可以比較s1==s2當(dāng)然><=>=<=!=都可以比較。
C++字符串整串讀入:
getline(cin,s)和cin>>s的區(qū)別:
getline(cin,s)
cin>>s
一次性整行讀入,直至行末尾。
只讀入一個(gè)“單詞”,遇空格和行末停止。
例如輸入;Howareyou?
s=”Howareyou?”
讀入整串含空格
例如輸入;Howareyou?
s=”How”
如果三個(gè)都讀:cin>>s1>>s2>>s3
**C++數(shù)字與數(shù)值之間的轉(zhuǎn)換:
#include<iostream>
#include<string>
#include<sstream>//必須加入
usingnamespacestd;
intmain()
{
stringtext="152";
intnumber;
stringstreamss;
ss<<text;//可以是其他數(shù)據(jù)類型
ss>>number;//string->int
cout<<number+100<<endl;
ss<<number;//int->string
stringstr=ss.str();
return0;
}
九、過(guò)程和函數(shù)
1、過(guò)程
在C/C++中沒有過(guò)程,但可以把返回值為“空”的函數(shù)理解為過(guò)程。
Pascal
C/C++
無(wú)參過(guò)程
procedure過(guò)程名;
說(shuō)明部分
begin語(yǔ)句部分end;
//說(shuō)明部分、begin、end語(yǔ)句部分統(tǒng)稱為過(guò)程體
void函數(shù)名();
{
主體部分;
return;
}
帶參過(guò)程
procedure過(guò)程名(形參表)
過(guò)程體
void函數(shù)名(形參表)
過(guò)程體
值傳和址傳:當(dāng)一個(gè)參數(shù)是值傳時(shí),形參在子過(guò)程中相當(dāng)于一個(gè)局部變量,對(duì)它的改變不影響實(shí)在的參數(shù)值。址傳則會(huì)影響。下例中a為值傳,b為址傳。初始a=5,b=5,運(yùn)行后a=5,b=10;
Pascal
C/C++
vara,b:integer;
proceduredoit(a:integer;varb:integer);
begin
b:=a+b;
a:=a+b;
end;
begin
a:=5;
b:=5;
doit(a,b);
writeln(a,‘‘,b);
end.
voiddoit(inta,int&b)
{
\\a
認(rèn)為值參,b認(rèn)為變量傳參
b+=a;
a+=b;
return;
}
intmain()
{
inta=5,b=5;
doit(a,b);
cout<<a<<‘‘<<b;
return0;
}
**用若干地址傳參可以給調(diào)用者傳回若干值
Voidtryit(int&x,int&y,int&z)
調(diào)用時(shí):tryit(a,b,c),可以傳回a,b,c的值。
**用數(shù)組名(也是地址)傳參可以傳回整組的數(shù)據(jù)
Voidtryit(inta[])
調(diào)用時(shí):tryit(x),可以傳回整個(gè)數(shù)組。
例如:
voidtryit(inta[])
{
for(inti=0;i<=10;i++)a[i]=i*2;
return;
}
intmain()
{
intx[10];
tryit(x);
for(inti=0;i<=10;i++)
cout<<x[i]<<endl;
system("pause");
return0;
}
**用指向函數(shù)的指針作為參數(shù),可以執(zhí)行指定的函數(shù)。(略)
STL的兩個(gè)應(yīng)用:
**C++快排函數(shù)
#include<algorithm>
Boolcom(inta,intb)
{
Returna>b;
}
Intmain()
{
Inta[10]={5,7,3,2,6,8,4,3,5,7};
Sort(a,a+10,com);//如果升序可以省略com.
For(
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 必修二專題三第20課時(shí)偉大的歷史性轉(zhuǎn)折及走向社會(huì)主義現(xiàn)代化建設(shè)新階段
- 2021年國(guó)貿(mào)專業(yè)畢業(yè)論文題目-.10審核結(jié)果
- 2024-2025學(xué)年新教材高中物理第二章勻變速直線運(yùn)動(dòng)的研究1實(shí)驗(yàn):探究小車速度隨時(shí)間變化的規(guī)律練習(xí)含解析新人教版必修第一冊(cè)
- 2024-2025學(xué)年高中歷史專題四“亞洲覺醒”的先驅(qū)四“土耳其之父”凱末爾2教學(xué)教案人民版選修4
- 2024-2025學(xué)年新教材高中物理課時(shí)作業(yè)18光電效應(yīng)及其解釋含解析魯科版選擇性必修3
- 2024-2025學(xué)年高中英語(yǔ)Module2TheRenaissance單元評(píng)估課時(shí)作業(yè)含解析外研版選修8
- 2024年職業(yè)教育變革:《教育學(xué)原理》課件在技能培訓(xùn)中的應(yīng)用
- 網(wǎng)絡(luò)營(yíng)銷培訓(xùn)服務(wù)協(xié)議
- 網(wǎng)絡(luò)社交平臺(tái)輿情監(jiān)控及處理預(yù)案
- 電子行業(yè)電子產(chǎn)品研發(fā)與制造方案
- 北京科技大學(xué)第二批非教學(xué)科研崗位招考聘用模擬預(yù)測(cè)(共500題)筆試參考題庫(kù)附答案詳解
- 公務(wù)員制度、職業(yè)生涯發(fā)展及工作方法
- 水球(集體球類運(yùn)動(dòng))
- T-JLA 003-2023 高速公路車距抓拍系統(tǒng)技術(shù)要求和檢驗(yàn)方法
- 玄學(xué)凈明明派丹法轉(zhuǎn)自萬(wàn)景元
- 基層中醫(yī)藥適宜技術(shù)培訓(xùn)
- 斯派克直讀光譜儀
- 數(shù)學(xué)成語(yǔ)故事《朝三暮四》-完整版課件
- 教練場(chǎng)地技術(shù)條件說(shuō)明
- 《網(wǎng)上圖書銷售系統(tǒng)(設(shè)計(jì)論文)》
- 裝卸工考核評(píng)分表〔月度〕(2023版)
評(píng)論
0/150
提交評(píng)論