第一篇:人工智能實驗
《人工智能應用》課程實驗教學大綱時間:2010-05-23 00:04來源:知行網 編輯:麥田守望者 點擊:168次
一、實驗課程基本情況與說明
(一)課程中文名稱:人工智能應用
(二)課程英文名稱:Application of Artificial Intelligence
(三)實驗學分:1
(四)實驗學時:36
(五)適用專業及年級:教育技術學3年級
(六)所屬實驗室名稱:軟件實驗室
(七)實驗教材及參考書:
1.實驗教科書(五號宋體加粗)
[1]《人工智能教程》,張仰森、黃改娟編著,2008年,高等教育出版社;
2.實驗參考書(五號宋體加粗)
[1]《人工智能及其應用》李長河主編,2006年,機械工業出版社;
[2] 《人工智能》,[美]Rob Callan編,2004年,黃厚寬、田盛豐等譯,電子工業出版社;
[3] 《人工智能及其應用》(第三版),2004年,蔡自興、徐光佑編,清華大學出版社。
[4] 《人工智能技術導論》(第二版),2000年,廉師友編,西安電子科技大學出版社;
(八)實驗目的和內容:
目的:通過本課程的學習,培養學生掌握計算機如何來模仿人腦所從事的推理、學習、思考和規劃等思維活動,來解決需人類專家才能解決的復雜問題,進一步熟悉知識的獲取、知識的表示方法和知識的使用等。
內容:
1、產生式系統
2、問題歸約
3、邏輯推理
4、機器人問題求解
5、專家系統
(九)考核方式及成績評定:(五號宋體加粗)
上機考試、編程并運行通過,提交實驗報告。成績評定標準:學生成績以20%的比例計入《人工智能應用》這門課程。
(十)實驗環境:
硬件最低要求:586微型計算機,主頻450MHZ以上,內存64MB以上,硬盤10G。每個學生每次上機實驗使用一臺計算機。
軟件: C、lisp、C++、prolog任選;
所有實驗使用到的設備:微機、服務器、網絡設備、打印機、編程環境等。
(十一)實驗項目及安排
以下實驗項目中必做題目在學期結束時必須完成,并提交實驗報告;選做題可以根據實際情況選擇做和不做。
序號 實驗名稱 實驗類型 學時 每組人數 備注
1產生式系統 基礎與驗證性 4 1 必做
2問題歸約 基礎與驗證性 4 1 必做
3邏輯推理 基礎與驗證性 4 1 必做BP網絡解決XOR分類問題(用BP神經網絡實現XOR分類)基礎與驗證性 4 1 4、5二
選一狀態空間搜索(8數碼問題)基礎與驗證性 4 1機器人問題求解 綜合性、設計性 8 1 必做專家系統 綜合性、設計性 12 1 必做
(十二)實驗報告要求
基礎和驗證性實驗:理工類:參照范本、計算機類:電子版數據全部存盤
設計性、綜合性實驗:按照定義(設計性實驗是指給定實驗目的要求和實驗條件,由學生自行設計實驗方案并加以實現的實驗;綜合性實驗是指實驗內容涉及本課程的綜合知識或與本課程相關課程知識的實驗)來做,理工類:紙質材料存檔,、計算機類:電子版數據全部存盤。
二、實驗課程授課大綱
實驗一 產生式系統
1、實驗目的熟悉和掌握產生式系統的運行機制,掌握基于規則推理的基本方法。
2、實驗設備
(1)硬件最低要求:586微型計算機,主頻450MHZ以上,內存64MB以上,硬盤10G。每個學生每次上機實驗使用一臺計算機。
(2)軟件: C、lisp、C++、prolog任選;
3、實驗要求
(1)認真閱讀和掌握和本實驗相關的教材內容。
(2)分析問題的要求,編寫和調試完成程序。
(3)保存和打印出程序的運行結果,并分析程序的運行結果。
4、實驗內容及步驟
(1)對已有的產生式系統(默認的例子)進行演示,同時可以更改其規則庫或(和)事實庫,進行正反向推理,了解其推理過程和機制。
(2)自己建造產生式系統(包括規則庫和事實庫),然后進行推理,即可以自己輸入任何的規則和事實,并基于這種規則和事實進行推理。
5、實驗報告
學院______________________系____________________專業_____________________ 班級_______________________姓名__________________學號____________________ 實驗時間______________________實驗地點___________________________________ 組號_____________________________同組人_________________________________
實驗名稱_______________________________________________________
一、實驗目的二、實驗內容及原理
三、實驗儀器
四、實驗步驟
五、實驗過程及實驗數據記錄
六、實驗數據處理與分析,并得出結論
七、實驗心得與體會
實驗二問題歸約
1、實驗目的熟悉和掌握問題規約法的原理、實質和規約過程;理解規約圖的表示方法。
2、實驗設備
(1)硬件最低要求:586微型計算機,主頻450MHZ以上,內存64MB以上,硬盤10G。每個學生每次上機實驗使用一臺計算機。
(2)軟件: C、lisp、C++、prolog任選;
3、實驗要求
(1)認真閱讀和掌握和本實驗相關的教材內容。
(2)分析問題的要求,編寫和調試完成程序。
(3)保存和打印出程序的運行結果,并分析程序的運行結果。
4、實驗內容及步驟
(1)演示已有的梵塔問題(默認程序例程),可以更改圓盤數量,了解問題解決的歸約過程。
(2)分析歸約機理,熟悉問題規約的詳細過程。
(3)自己建造一個梵塔問題歸約系統,然后根據歸約原理進行逆向推理,得到本原問題集合。通過解決這些本原問題,最終求解問題。
5、實驗報告
學院______________________系____________________專業_____________________ 班級_______________________姓名__________________學號____________________ 實驗時間______________________實驗地點___________________________________ 組號_____________________________同組人_________________________________
實驗名稱_______________________________________________________
一、實驗目的二、實驗內容及原理
三、實驗儀器
四、實驗步驟
五、實驗過程及實驗數據記錄
六、實驗數據處理與分析,并得出結論
七、實驗心得與體會
實驗三 邏輯推理
1、實驗目的熟悉和掌握邏輯推理的原理、實質和過程。
2、實驗設備
(1)硬件最低要求:586微型計算機,主頻450MHZ以上,內存64MB以上,硬盤10G。每個學生每次上機實驗使用一臺計算機。
(2)軟件: C、lisp、C++、prolog任選;
3、實驗要求
(1)認真閱讀和掌握和本實驗相關的教材內容。
(2)分析問題的要求,編寫和調試完成程序。
(3)保存和打印出程序的運行結果,并分析程序的運行結果。
4、實驗內容及步驟
(1)編寫公理系統證明程序。
(2)上機運行。打印出運行結果,并結合程序運行結果進行分析。
5、實驗報告
學院______________________系____________________專業_____________________ 班級_______________________姓名__________________學號____________________ 實驗時間______________________實驗地點___________________________________ 組號_____________________________同組人_________________________________
實驗名稱_______________________________________________________
一、實驗目的二、實驗內容及原理
三、實驗儀器
四、實驗步驟
五、實驗過程及實驗數據記錄
六、實驗數據處理與分析,并得出結論
七、實驗心得與體會
實驗四 BP網絡解決XOR分類問題
1、實驗目的用BP神經網絡實現XOR分類。
2、實驗設備
(1)硬件最低要求:586微型計算機,主頻450MHZ以上,內存64MB以上,硬盤10G。每個學生每次上機實驗使用一臺計算機。
(2)軟件: C、lisp、C++、prolog任選;
3、實驗要求
(1)認真閱讀和掌握和本實驗相關的教材內容。
(2)分析問題的要求,編寫和調試完成程序。
(3)保存和打印出程序的運行結果,并分析程序的運行結果。
4、實驗內容及步驟
(1)用BP神經網絡實現XOR分類
(2)上機運行。打印出運行結果,并結合程序運行結果進行分析。
5、實驗報告
學院______________________系____________________專業_____________________ 班級_______________________姓名__________________學號____________________ 實驗時間______________________實驗地點___________________________________ 組號_____________________________同組人_________________________________
實驗名稱_______________________________________________________
一、實驗目的二、實驗內容及原理
三、實驗儀器
四、實驗步驟
五、實驗過程及實驗數據記錄
六、實驗數據處理與分析,并得出結論
七、實驗心得與體會
實驗五 狀態空間搜索
1、實驗目的用實驗方法模擬8數碼問題。
2、實驗設備
(1)硬件最低要求:586微型計算機,主頻450MHZ以上,內存64MB以上,硬盤10G。每個學生每次上機實驗使用一臺計算機。
(2)軟件: C、lisp、C++、prolog任選;
3、實驗要求
(1)認真閱讀和掌握和本實驗相關的教材內容。
(2)分析問題的要求,編寫和調試完成程序。
(3)保存和打印出程序的運行結果,并分析程序的運行結果。
4、實驗內容及步驟
(1)用實驗方法模擬8數碼問題。
(2)上機運行。打印出運行結果,并結合程序運行結果進行分析。
5、實驗報告
學院______________________系____________________專業_____________________ 班級_______________________姓名__________________學號____________________ 實驗時間______________________實驗地點___________________________________ 組號_____________________________同組人_________________________________
實驗名稱_______________________________________________________
一、實驗目的二、實驗內容及原理
三、實驗儀器
四、實驗步驟
五、實驗過程及實驗數據記錄
六、實驗數據處理與分析,并得出結論
七、實驗心得與體會
實驗六 機器人問題求解
1、實驗目的了解機器人的信息處理流程,比較基于行為主義和符號主義的人工智能方法在機器人中的應用特點和效果,以及結合兩者的規劃與決策方式。
2、實驗設備
(1)硬件最低要求:586微型計算機,主頻450MHZ以上,內存64MB以上,硬盤10G。每個學生每次上機實驗使用一臺計算機。
(2)軟件: C、lisp、C++、prolog任選;
3、實驗要求
(1)認真閱讀和掌握和本實驗相關的教材內容。
(2)分析問題的要求,編寫和調試完成程序。
(3)保存和打印出程序的運行結果,并分析程序的運行結果。
4、實驗內容及步驟
(1)了解AmigoBot移動機器人的傳感器和驅動器工作情況;
(2)觀察機器人的反射式避障行為;
(3)編程控制機器人路徑,觀察行為并比較其避障效果;
(4)觀察混合式方法的導航效果,分析行為決策和規劃在系統中的作用;
(5)分析根據先驗地圖規劃路徑的導航系統的優缺點。
5、實驗報告
學院______________________系____________________專業_____________________ 班級_______________________姓名__________________學號____________________ 實驗時間______________________實驗地點___________________________________ 組號_____________________________同組人_________________________________
實驗名稱_______________________________________________________
一、實驗目的二、實驗內容及原理
三、實驗儀器
四、實驗步驟
五、實驗過程及實驗數據記錄
六、實驗數據處理與分析,并得出結論
七、實驗心得與體會
實驗七 專家系統
1、實驗目的加深學生對專家系統原理的理解,使學生初步掌握專家系統的設計和實現方法。
2、實驗設備
(1)硬件最低要求:586微型計算機,主頻450MHZ以上,內存64MB以上,硬盤10G。每個學生每次上機實驗使用一臺計算機。
(2)軟件: C、lisp、C++、prolog任選;
3、實驗要求
(1)了解專家系統設計與實現的一般方法;
(2)熟悉和掌握產生式系統的運行機制、產生式規則的程序語言實現;
4、實驗內容及步驟
綜合利用人工智能的產生式系統、圖搜索算法以及專家系統的框架,建造一個小型的醫療診斷專家系統,要求系統具有知識庫、推理機和動態數據庫三部分。
5、實驗報告
學院______________________系____________________專業_____________________ 班級_______________________姓名__________________學號____________________ 實驗時間______________________實驗地點___________________________________ 組號_____________________________同組人_________________________________
實驗名稱_______________________________________________________
一、實驗目的二、實驗內容及原理
三、實驗儀器
四、實驗步驟
五、實驗過程及實驗數據記錄
六、實驗數據處理與分析,并得出結論
七、實驗心得與體會
(責任編輯:麥田守望者
第二篇:人工智能專家系統實驗
河南城建學院
《 人工智能 》實驗報告
實驗名稱:__實驗四 名稱實現一個基于產生式系統的小型專家系統(動物識別)成績: 專業班級: 0814112 學號: 081411202 姓名: xxxxxxxxxxxx 實 驗 日 期 : 2014 年 5 月 20 日
實驗器材:VC6.0軟件,多媒體計算機。
一、實驗目的
掌握產生式系統的運行機制和基于規則推理的基本方法。通過一個實例了解小型專家系統的結構、設計和實現過程,初步掌握專家系統的設計和實現方法。
二、實驗要求
設計并實現一個某領域的小型專家系統(動物識別),該系統能對輸入的詢問回答分類或預測的結果,并根據推理過程回答“為什么”或“怎樣得出該結論”的問題。
三、實驗步驟
(1)定義變量,包括變量名和變量的值。(2)建立規則庫,其方法是:(a)輸入規則的條件:每條規則至少有一個條件和一個結論,選擇變量名,輸入條件(符號);選擇變量值,按確定按鈕就完成了一條條件的輸入。重復操作,可輸入多條條件;
(b)輸入規則的結論:輸入完規則的條件后,就可以輸入規則的結論了,每條規則必須也只能有一個結論。選擇變量名,輸入條件(符號),選擇變量值,按確定按鈕就完成了一個結論的輸入。重復以上兩步,完成整個規則庫的建立。
(3)建立事實庫(總數據庫):建立過程同步驟2。重復操作,可輸入多條事實。
該動物識別專家系統由15條規則組成,可以識別七種動物,在15條規則中,共出現 30個概念(也稱作事實),共30個事實,每個事實給一個編號,從編 號從1到30,在規則對象中我們不存儲事實概念,只有該事實的編號,同樣規則的結論也是事實概念的編號,事實與規則的數據以常量表示,其結構如下:
char *feature[]={“有毛”,“產奶”,“有羽毛”,“會飛”,“會下蛋”,“吃肉”,“有犬齒”,“有爪”,“眼睛盯前方”,“有蹄”,“反芻”,“黃褐色”,“有斑點”,“有黑色條紋”,“長脖”,“長腿”,“不會飛”,“會游泳”,“黑白兩色”,“善飛”,“哺乳類”,“鳥類”,“肉食類”,“蹄類”,“企鵝”,“海燕”,“鴕鳥”,“斑馬”,“長頸鹿”,“虎”,“金錢豹”};存放規則的結構體: typedef struct
{ int relation[5];
int name;}Rule;存放產生式規則推理過程的數組: Rule rule[15]={ {{0,-1},20}, {{1,-1},20}, {{2,-1},21}, {{3,4,-1},21}, {{20,5,-1},22}, {{6,7,8,-1},22}, {{20,8,-1},23}, {{20,9,-1},23}, {{22,11,12,-1},30}, {{22,11,13,-1},29}, {{23,14,15,12,-1},28}, {{23,13,-1},27},//如果動物是蹄類(23),且有黑色條紋(13),則該動物對應事實數組的第27個“斑馬”
{{21,14,15,16,-1},26}, {{21,19,-1},25},//如果動物是鳥類(21),且是肉食類(19),則該動物對應事實數組的第25個“海燕”。
{{21,17,18,16,-1},24} };程序用編號序列的方式表達了產生式規則,如資料中規則14,如果動物是鳥,且是肉食類,則該動物對應事實數組的第二十五個“海燕”。如資料中規則12,如果動物是蹄類,且有黑色條紋,則該動物對應事實數組的第二十七個“斑馬”。
(4)按“開始”或“單步”按鈕即可。
此外,利用實例演示,可以運行系統默認的產生式系統,并且可以進行正反向推理。其他的可參見其幫助文件。
三、源代碼
#include
“有黑色條紋”,“長脖”,“長腿”,“不會飛”,“會游泳”,“黑白兩色”,“善飛”,“哺乳類”,“鳥類”,“肉食類”,“蹄類”,//13
“企鵝”,“海燕”,“鴕鳥”,“斑馬”,“長頸鹿”,“虎”,“金錢豹”};
//24
typedef struct //存放規則的結構體 { int relation[5];
int name;}Rule;Rule rule[15]={ {{0,-1},20}, {{1,-1},20}, {{2,-1},21}, {{3,4,-1},21}, {{20,5,-1},22}, {{6,7,8,-1},22}, {{20,8,-1},23}, {{20,9,-1},23}, {{22,11,12,-1},30}, {{22,11,13,-1},29}, {{23,14,15,12,-1},28}, {{23,13,-1},27}, {{21,14,15,16,-1},26}, {{21,19,-1},25}, {{21,17,18,16,-1},24}};int flag[23]={0};//標記各個特征是否選擇 int IsAnimal(int a);int inference();void input();void menu();void menu(){ int i=0;
for(i=0;i<24;i++){
if(i%4==0&&i!=0)
{
cout< } printf(“%-3d.%-15s”,i,feature[i]); } } void input(){ int ti=0;for(int i=0;i<24;i++){ flag[i]=0;} while(ti!=-1){ cout<<“n輸入選擇(-1結束):”; cin>> ti; if(ti>=0&&ti<=23) flag[ti]=1; else if(ti!=-1) { cout<<“輸入錯誤!請輸入0~23//notanimal=25 cin.clear();//清除流錯誤錯誤標 cin.sync();////////////清空輸入緩沖區 } } } int IsAnimal(int a){ if(a>=24&&a<=30) return 1; else return 0;} int inference()//正向推理 { int ti; int i,j; int tres; cout< for(i=0;i<15;i++) { j=0; 之間的數字!”<< endl; ti=rule[i].relation[j]; while(ti!=-1)//-1作為結束 { if(flag[ti]==0) break; j++; ti=rule[i].relation[j]; } if(ti==-1)//ti==-1代表規則滿足 { tres=rule[i].name; flag[tres]=1; printf(“運用了規則%d : ”,i); j=0; while(rule[i].relation[j]!=-1) { cout< j++; } cout<<“====> ”< if(IsAnimal(tres)) { return 1; } } } if(i==15) { cout<<“沒有這種動物”; } return-1;} void main(){ char q; while(q!='n') { menu(); input(); inference(); cout<<“n繼續?(Y/N)”< cin>>q; system(“cls”); } } 四、結果分析 1、若已知:動物是蹄類(23),且有黑色條紋(13),則結果:該動物對應事實數組的第27個“斑馬”。使用了推理規則12,即:{{23,13,-1},27},使用規則運行結果如圖1所示: 圖1 2、若已知:動物是鳥類(21),且是肉食類(19),則結果該動物對應事實數組的第25個“海燕”。使用了推理規則14,即:{{21,19,-1},25},使用規則運行結果如圖2所示: 圖2 五、心得體會 本實驗環境主要提供一個能夠實現模擬產生式專家系統的驗證、設計和開發的可視化操作平臺。使用戶既能用本系統提供的范例進行演示或驗證性實驗,也能夠用它來設計并調試自己的實驗模型。 通過這次實驗,我對產生式系統有了更深刻的認識。產生式系統是由一組規則組成的、能夠協同作用的推理系統。其模型是設計各種智能專家系統的基礎.產生式系統主要由規則庫、綜合數據庫和推理機三大部分組成。產生式系統用來描述若干個不同的以一個基本概念為基礎的系統,這個基本概念就是產生式規則或產生式條件和操作對。在產生式系統中,論域的知識分為兩部分:用事實表示靜態知識;用產生式規則表示推理過程和行為。專家系統的規則是由專家定的,在該實驗中,是由本人制定的。 教師評語: 教師簽名: 人工智能技術基礎 PROLOG語言編程練習 實驗報告 一、實驗目的: 加強對邏輯程序運行機能的理解,更好地掌握PROLOG語言的特點、熟悉其編程環境,同時為后面的人工智能程序設計做好準備。 二、實驗要求: (1)程序自選,但必須是描述某種邏輯關系的小程序。(2)跟蹤程序的運行過程,理解邏輯程序的特點。 (3)對原程序可作適當修改,以便熟悉程序的編輯、編譯和調試過程。 三、實驗內容: 在Turbo PROLOG或Visual Prolog集成環境下調試運行簡單的PROLOG程序,如描述親屬關系的PROLOG程序或其他小型演繹數據庫程序等。 四、實驗結果: (1)驗證題1源程序 domains d=integer predicates not_(D,D)and_(D,D,D)or_(D,D,D)xor(D,D,D)clauses not_(1,0).not_(0,1).and_(0,0,0).and_(0,1,0).and_(1,0,0).and_(1,1,1).or_(0,0,0).or_(0,1,1).or_(1,0,1).or_(1,1,1).xor(Input1,Input2,Output):- not_(Input1,N1),/*(1,0)*/ not_(Input2,N2),/*(0,1)*/ and_(Input1,N2,N3),and_(Input2,N1,N4),or_(N3,N4,Output).(2)驗證題2源程序 predicates student(integer,string,real)grade goal grade.clauses student(1,“zhang”,90.2).student(2,“li”,95.5).student(3,“wang”,96.4).grade:-write(“Please input name:”),readln(Name),student(_,Name,Score),nl,write(Name,“grade is”,Score).grade:-write(“Sorry,the student cannot find!”).(3)驗證題3源程序 domains n,f=integer predicates factorial(n,f)goal readint(I), factorial(I,F), write(I,“!=”,F).clauses factorial(1,1).factorial(N,Res):- N>0,N1=N-1,factorial(N1,FacN1),Res=N*FacN1.(4)驗證題4源程序 domains s=symbol predicates p(s)p1(s)p2(s)p3(s)p4(s)p5(s,s)p11(s)p12(s)p31(s)goal p(X),write(“the x is ”,X).clauses p(a1):-p1(b),p2(c).p(a2):-p1(b),p3(d),p4(e).p(a3):-p1(b),p5(f,g).p1(b):-p11(b1),p12(b2).p3(d):-p31(d1).p2(c1).p4(e1).p5(f,g).p11(b1).p12(b2).p31(d11).(5)驗證題5源程序 domains name=symbol age =integer predicates player(name,age)match(name,name)clauses player(peter, 9).player(paul, 10).player(chris, 9).player(susan, 9).match(X,Y):-player(X,9), player(Y,9), X<>Y.match(X,Y):-!, player(X,9), player(Y,9), X<>Y.match(X,Y):-player(X,9),!, player(Y,9), X<>Y.match(X,Y):-player(X,9), player(Y,9),!, X<>Y.match(X,Y):-player(X,9), player(Y,9), X<>Y,!.在外部Goal: match(X,Y)條件下,“分別”采用以上各match謂詞,觀察對應的執行結果如下: (a) (b) (c) (d) (e) 五、實驗總結 (1)實驗中出現的問題 a、做完驗證題一,用load加載已改為.PRO格式的驗證題二文本,加載不成功。b、由于驗證題五需要在外部Goal: match(X,Y)條件下,“分別”采用以上各match謂詞,觀察對應的執行結果。我采用建立一個源程序文本,load加載進去,修改刪除五次match謂詞結構,結果第一次編輯運行完,第二次load加載,還是第一次修改后的結果。 (2)對問題的解決方法 a、驗證題一運行驗證完后,加以保存,再進行load加載下一驗證實驗。 b、由于在進行第二個match謂詞驗證之前,對第一個match謂詞運行的結果進行了保存,所以第二次load加載是第一個保存后的結果。為了減少不必要的麻煩分別建立了五個獨立.PRO文本。分別load加載后,實驗運行成功。(3)心得體會 本次實驗,課上基本都有提到,課上的理論推理知識較易掌握,實驗是對課上理論知識的實踐,進一步的夯實。在實驗前,認真閱讀了實驗指導,加以課上老師的指點,實驗完成的十分順利。 通過本次上機實驗,使自己對PROLOG語言集成環境下調試運行,有了一定的掌握,目前所接觸到的語言的調試運行都大同小異。掌握一門新語言,除了掌握理論知識外,上機實驗,多動腦分析代碼,多動手調試運行代碼十分重要。對于工科類學生深知實踐對工作學習的重要性。 實驗二——專家系統一、源代碼 import javax.swing.JCheckBox;import javax.swing.JOptionPane;import javax.swing.JPanel; public class Index extends javax.swing.JFrame { jmilk = new javax.swing.JCheckBox();jclaw = new javax.swing.JCheckBox();jhoof = new javax.swing.JCheckBox();jbird = new javax.swing.JCheckBox();jloogLeg = new javax.swing.JCheckBox();jflyable = new javax.swing.JCheckBox();jeatMeat = new javax.swing.JCheckBox();jfur = new javax.swing.JCheckBox();jruminate = new javax.swing.JCheckBox();jswim = new javax.swing.JCheckBox();jfeather = new javax.swing.JCheckBox();jdogTooth = new javax.swing.JCheckBox();jflyest = new javax.swing.JCheckBox();jlayEgg = new javax.swing.JCheckBox();jblackWhite = new javax.swing.JCheckBox();jyellow = new javax.swing.JCheckBox();jinFlyable = new javax.swing.JCheckBox();jdarkDot = new javax.swing.JCheckBox();jhoofAnimal = new javax.swing.JCheckBox();jpredator = new javax.swing.JCheckBox();jmammal = new javax.swing.JCheckBox();jblackStrip = new javax.swing.JCheckBox();jgaze = new javax.swing.JCheckBox();jLabel1 = new javax.swing.JLabel();btnOk = new javax.swing.JButton();jloogNeck = new javax.swing.JCheckBox();private void initComponents(){ public Index(){ } initComponents();數組設置//: checkBoxs[0] = jmilk;checkBoxs[1] = jclaw;checkBoxs[2] = jhoof;checkBoxs[3] = jbird;checkBoxs[4] = jloogLeg;checkBoxs[5] = jflyable;checkBoxs[6] = jeatMeat;checkBoxs[7] = jfur;checkBoxs[8] = jruminate;checkBoxs[9] = jswim;checkBoxs[10] = jfeather;checkBoxs[11] = jdogTooth;checkBoxs[12] = jflyest;checkBoxs[13] = jlayEgg;checkBoxs[14] = jblackWhite;checkBoxs[15] = jyellow;checkBoxs[16] = jinFlyable;checkBoxs[17] = jdarkDot;checkBoxs[18] = jhoofAnimal;checkBoxs[19] = jpredator;checkBoxs[20] = jmammal;checkBoxs[21] = jblackStrip;checkBoxs[22] = jgaze;checkBoxs[23] = jloogNeck;://數組設置 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jmilk.setText(“u5976”);jclaw.setText(“u722a”);jhoof.setText(“u8e44”);jbird.setText(“u9e1f”);jloogLeg.setText(“u957fu817f”);jflyable.setText(“u4f1au98de”);jeatMeat.setText(“u5403u8089”); { jfur.setText(“u6bdbu53d1”);jruminate.setText(“u53cdu520d”);jswim.setText(“u6e38u6cf3”);jfeather.setText(“u7fbdu6bdb”);jdogTooth.setText(“u72acu9f7f”);jflyest.setText(“u5584u98de”);jlayEgg.setText(“u4e0bu86cb”);jblackWhite.setText(“u9ed1u767du8272”);jyellow.setText(“u9ec4u8910u8272”);jinFlyable.setText(“u4e0du4f1au98de”);jdarkDot.setText(“u6697u6591u70b9”);jhoofAnimal.setText(“u6709u8e44u7c7bu52a8u7269”);jpredator.setText(“u98dfu8089u52a8u7269”);jmammal.setText(“u54fau4e73u52a8u7269”);jblackStrip.setText(“u9ed1u8272u6761u7eb9”);jgaze.setText(“u773cu775bu76efu7740u524du65b9”);jLabel1.setFont(new java.awt.Font(“黑體”, 0, 24));jLabel1.setText(“u4e13u5bb6u7cfbu7edf”);btnOk.setText(“u731cu731cu662fu4ec0u4e48uff1f”);btnOk.addActionListener(new java.awt.event.ActionListener(){ public void actionPerformed(java.awt.event.ActionEvent evt)} btnOkActionPerformed(evt);});jloogNeck.setText(“u957fu8116u5b50”); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout .setHorizontalGroup(layout .createParallelGroup(.addGroup(layout .createSequentialGroup().addGap(35, 35, 35).addGroup(layout .addGroup(layout javax.swing.GroupLayout.Alignment.LEADING).createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addComponent(jmilk).addComponent(jclaw).addComponent(jhoof) .addComponent(jbird)).addGap(44, 44, 44).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jeatMeat).addComponent(jfur).addComponent(jflyable).addComponent(jruminate))) .addGroup(layout .createSequentialGroup().addComponent(jloogLeg) .addGap(32, 32, 32).addComponent(jswim))) .addGap(26, 26, 26).addGroup(layout .addComponent(.addComponent(btnOk).addGroup(layout 98,jLabel1,.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jflyest).addComponent(jdogTooth).addComponent(jfeather).addComponent(jlayEgg).addComponent(jgaze)).addGap(23, 23, 23).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jloogNeck).addGroup(layout .createSequentialGroup().addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jyellow) .addComponent(jblackWhite) .addComponent(jinFlyable) .addComponent(jdarkDot)) .addGap(18, 18, 18) .addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jmammal) .addComponent(jpredator) .addComponent(jblackStrip) .addComponent(jhoofAnimal)))))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE)));layout.setVerticalGroup(layout .createParallelGroup(.addGroup(layout .createSequentialGroup().addGroup(layout .addGroup(layout javax.swing.GroupLayout.Alignment.LEADING).createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).createSequentialGroup().addGap(81, 81, 81).addComponent(jLabel1) .addGap(65, 65, 65).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jfeather, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(jfur).addComponent(jmilk).addComponent(jyellow)).addGap(18, 18,18).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jdogTooth).addComponent(jeatMeat).addComponent(jclaw).addComponent(jblackWhite).addComponent(jpredator)).addGap(24, 24, 24).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jflyable) .addComponent(jhoof)).addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jlayEgg) .addComponent(jinFlyable) .addComponent(jblackStrip))).addGap(18,18, 18).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jflyest).addComponent(jbird).addComponent(jruminate).addComponent(jdarkDot).addComponent(jhoofAnimal)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)) .addGroup(layout .createSequentialGroup().addContainerGap(175,Short.MAX_VALUE).addComponent(jmammal, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(141, 141, 141))) .addPreferredGap(.addGroup(layout .addGroup(layout javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jswim).addComponent(jgaze) .addComponent(jloogNeck)).addComponent(jloogLeg)) .addGap(73, 73,.addGap(27, 27, 27)));73).addComponent(btnOk)pack();}// //GEN-END:initComponents private void btnOkActionPerformed(java.awt.event.ActionEvent evt){ // TODO add your handling code here: if(jfur.isSelected()&& count()== 1){ show(“哺乳動物”);} else if(jmilk.isSelected()&& count()== 1){ show(“哺乳動物”);} else if(jfeather.isSelected()&& count()== 1){ 主要代碼//: show(“鳥”);} else if(jflyable.isSelected()&& jlayEgg.isSelected()&& count() show(“鳥”);} else if(jeatMeat.isSelected()&& count()== 1){ show(“食肉動物”);} else if(jdogTooth.isSelected()&& jclaw.isSelected()&& show(“食肉動物”);} else if(jmammal.isSelected()&& jhoof.isSelected()&& count()show(“有蹄類動物”);} else if(jmammal.isSelected()&& jruminate.isSelected()&& show(“有蹄類動物”);} else if(jmammal.isSelected()&& jpredator.isSelected()&& show(“金錢豹”);} else if(jmammal.isSelected()&& jpredator.isSelected()&& show(“虎”);} else if(jhoofAnimal.isSelected()&& jloogNeck.isSelected()&& show(“長頸鹿”);== 2){ jgaze.isSelected()&& count()== 3){ == 2){ count()== 2){ jyellow.isSelected()&& jdarkDot.isSelected()&& count()== 4){ jyellow.isSelected()&& jblackStrip.isSelected()&& count()== 4){ jloogLeg.isSelected()&& jdarkDot.isSelected()&& count()== 4){ } else if(jhoofAnimal.isSelected()&& jblackStrip.isSelected()show(“斑馬”);} else if(jbird.isSelected()&& jinFlyable.isSelected()&& && count()== 2){ jloogNeck.isSelected()&& jloogLeg.isSelected()&& jblackWhite.isSelected()&& count()== 5){ //GEN-BEGIN:variables public static void main(String args[]){ } java.awt.EventQueue.invokeLater(new Runnable(){ public void run(){ } new Index().setVisible(true);public void show(String message){ } public int count(){ } int sum = 0;for(int i = 0;i < checkBoxs.length;i++){ } return sum;if(checkBoxs[i].isSelected()){ } sum ++;JOptionPane.showMessageDialog(this, message);} show(“鴕鳥”);} else if(jbird.isSelected()&& jinFlyable.isSelected()&& show(“企鵝”);} else if(jbird.isSelected()&& jflyest.isSelected()&& count()show(“信天翁”);} else { show(“我不知道是什么。。”);} jblackWhite.isSelected()&& jswim.isSelected()&& count()== 4){ == 2){ ://主要代碼 }); } // Variables declaration-do not modify private javax.swing.JButton btnOk;private javax.swing.JLabel jLabel1;private javax.swing.JCheckBox jbird;private javax.swing.JCheckBox jblackStrip;private javax.swing.JCheckBox jblackWhite;private javax.swing.JCheckBox jclaw;private javax.swing.JCheckBox jdarkDot;private javax.swing.JCheckBox jdogTooth;private javax.swing.JCheckBox jeatMeat;private javax.swing.JCheckBox jfeather;private javax.swing.JCheckBox jflyable;private javax.swing.JCheckBox jflyest;private javax.swing.JCheckBox jfur;private javax.swing.JCheckBox jgaze;private javax.swing.JCheckBox jhoof;private javax.swing.JCheckBox jhoofAnimal;private javax.swing.JCheckBox jinFlyable;private javax.swing.JCheckBox jlayEgg;private javax.swing.JCheckBox jloogLeg;private javax.swing.JCheckBox jloogNeck;private javax.swing.JCheckBox jmammal;private javax.swing.JCheckBox jmilk;private javax.swing.JCheckBox jpredator;private javax.swing.JCheckBox jruminate;private javax.swing.JCheckBox jswim;private javax.swing.JCheckBox jyellow;// End of variables declaration//GEN-END:variables public JCheckBox[] checkBoxs = new JCheckBox[24]; 二、結果截圖 示例1: 示例2: 三、推理樹 應用: 個人助理(智能手機上的語音助理、語音輸入、家庭管家和陪護機器人)產品舉例:微軟小冰、百度度秘、科大訊飛等、Amazon Echo、Google Home等 安防(智能監控、安保機器人)產品舉例:商湯科技、格靈深瞳、神州云海 自駕領域(智能汽車、公共交通、快遞用車、工業應用)產品舉例:Google、Uber、特斯拉、亞馬遜、奔馳、京東等 醫療健康(醫療健康的監測診斷、智能醫療設備)產品舉例: Enlitic、Intuitive Sirgical、碳云智能、Promontory等 電商零售(倉儲物流、智能導購和客服)產品舉例:阿里、京東、亞馬遜 金融(智能投顧、智能客服、安防監控、金融監管)產品舉例:螞蟻金服、交通銀行、大華股份、kensho 教育(智能評測、個性化輔導、兒童陪伴)產品舉例:學吧課堂、科大訊飛、云知聲 發展方向思路: (一)人工智能新興產業 這部分主要任務是進行人工智能前沿技術布局,推動核心技術產業化,并為人工智能產業發展奠定公共基礎。本部分涉及核心技術研發與產業化、基礎資源公共服務平臺兩大工程。其中,核心技術研發與產業化工程主要涉及三個方面的技術。一是人工智能基礎理論,包括深度學習、類腦智能等。二是人工智能共性技術,包括人工智能領域的芯片、傳感器、操作系統、存儲系統、高端服務器、關鍵網絡設備、網絡安全技術設備、中間件等基礎軟硬件技術。三是人工智能應用技術,包括基于人工智能的計算機視聽覺、生物特征識別、復雜環境識別、新型人機交互、自然語言理解、機器翻譯、智能決策控制、網絡安全等。基礎資源公共服務平臺工程主要涉及四個方面的建設內容。一是各種類型人工智能海量訓練資源庫和標準測試數據集建設,包括文獻、語音、圖像、視頻、地圖及行業應用數據等,這些數據集需要面向社會開放,為廣大科研機構和企業進行人工智能研究和開發提供服務。二是基礎資源服務平臺建設,包括滿足深度學習計算需求的新型計算集群共享平臺、云端智能分析處理平臺、算法與技術開放平臺、智能系統安全情報共享平臺等。三是類腦智能基礎服務平臺建設,要能夠模擬真實腦神經系統的認知信息處理過程。四是產業公共服務平臺建設,可以為人工智能創新創業提供相關研發工具、檢驗評測、安全、標準、知識產權、創業咨詢等專業化服務。 (二)重點領域智能應用 這部分主要任務是加快人工智能技術的產業化進程,推動人工智能在家居、汽車、無人系統、安防、制造、教育、環境、交通、商業、健康醫療、網絡安全、社會治理等重要領域開展試點,使得人工智能能夠在第一時間轉化為生產力并惠及民生。本部分以基礎較好的智能家居、智能汽車、智能無人系統、智能安防等領域為主。智能家居示范工程主要支持利用健康醫療、智慧娛樂、家庭安全、環境監測、能源管理等應用技術,進行具有人工智能的酒店、辦公樓、商場、社區、家庭等建設,提升百姓生活品質。智能汽車研發與產業化工程主要面向自動駕駛和安全駕駛,支持智能汽車芯片和車載智能操作系統、高精度地圖及定位、智能感知、智能決策與控制等,支持智能汽車試點。智能無人系統應用工程主要面向無人機、無人船等無人設備,支持與人工智能相關的結構設計、智能材料、自動巡航、遠程遙控、圖像回傳等技術研發,及其在物流、農業、測繪、電力巡線、安全巡邏、應急救援等重要行業領域的創新應用。智能安防推廣工程主要面向與百姓安全息息相關的社會治安、工業安全以及火災、有害氣體、地震、疫情等問題,支持利用圖像精準識別、生物特征識別、編碼識別、智能感知等技術的研發和應用。 (三)智能化終端產品 這部分的主要任務是希望通過合適的終端,實現智能化生產和服務。本部分涉及三大工程。智能終端應用能力提成工程主要是面向具有一定智能計算能力的終端及附屬應用,支持其在智能交互、智能翻譯等云端協同方面及圖像處理、操作系統基礎軟硬件方面進一步改進。智能可穿戴設備發展工程主要支持輕量級操作系統、低功耗高性能芯片、柔性顯示、高密度儲能、快速無線充電、虛擬現實和增強現實等關鍵技術的成果轉化與應用。智能機器人研發與應用工程主要支持智能感知、模式識別、智能分析、智能控制等技術在機器人方面的研發和應用,包括生產用智能工業機器人,救災救援、反恐防暴等特殊領域的智能特種機器人,醫療康復、教育娛樂、家庭服務等領域的智能服務機器人。 (四)標準體系和知識產權 目前人工智能標準領域還處于一片空白狀態,關于人工智能的概念仍然沒有達成一致意見,人工智能也還沒有一個統一的技術體系架構,平臺與應用之間的接口五花八門,而且基本上都是私有協議,網絡、軟硬件、數據、系統、測試評估等方面的研發、應用、服務也無章可循。這直接導致了人工智能領域進入門檻過高,無法形成良性發展的產業生態。因此,建設人工智能領域標準化體系,建立并完善基礎共性、互聯互通、行業應用、網絡安全、隱私保護等技術標準,已經成為擺在眼前的現實問題。當然,標準化工作需要相關各方的積極參與,并積極開展國際合作,才能保證對人工智能產業發展的有效促進,推動標準走出去才能增強國際話語權。另一方面,在我們所處的這個全球經濟一體化時代,專利已經成為發展的硬實力,必須要加快重點技術和應用領域的專利布局,同時加強專利合作,提高知識產權成果轉化效率,積極防控專利風險,增強標準與專利政策的有效銜接,才能保證我國人工智能產業擁有強大的競爭力并得到持續健康發展。 政策: 2015年5月國務院在《中國制造2025》提出“加快發展智能制造裝備和產品”,指出“組織研發具有深度感知、智慧決策、自動執行功能的高檔數控機床、工業機器人、增材制造裝備等智能制造裝備以及智能化生產線,統籌布局和推動智能交通工具、智能工程機械、服務機器人、智能家電、智能照明電器、可穿戴設備等產品研發和產業化。” 2015年7月4日國務院在《國務院關于積極推進“互聯網+”行動的知道意見》明確提出人工智能作為11個重點布局的領域之一,促進人工智能在智能家居、智能終端、智能汽車、機器人等領域的推廣應用。 2016年1月國務院在《“十三五”國家科技創新規劃》提出智能制造和機器人成為“科技創新2030項目”重大工程之一。 2016年3月18日國務院在《國民經濟和社會發展第十三個五年規劃綱要(草案)》提出人工智能概念進入“十三五”重大工程。 2016年5月18日國家發展改革委、科技部、工業和信息化部、中央網信辦在《“互聯網+”人工智能三年行動實施方案》明確了要培育發展人工智能新興產業、推進重點領域智能產品創新、提升終端產品智能化水平、并且政府將在資金、標準體系、知識產權、人才培養、國際合作、組織實施等方面進行保障。 人工智能技術帶來的產業影響 當前,人工智能技術對互聯網行業產生的影響和變革主要有如下三個方面: 其一,在理論技術層面,人工智能技術為基于互聯網和移動互聯網等領域的創新應用,提供理論基礎。例如,自動定理推理,為網絡信息檢索、問題求解、遠程診斷等問題提供了自動求解方案;自然語言理解,為計算機人類語言理解提供理論和方法;數據挖掘為從數據庫中挖掘有意義,提煉出具有必然性、蘊含本質規律的數據提供了規則、聚類等數據處理、建模、評估標準。 其二,在技術應用和創新層面,人工智能技術的發展,為未來ICT等網絡技術的發展指引了方向。當前,以智能算法、深度學習、云計算為代表的大規模網絡應用已經成為ICT產業的重要發展方向。各大互聯網公司在深度學習領域在不斷做積極探索,深度學習是機器學習研究中的一個重點關注領域,其研究側重于建立、模擬人腦進行分析學習的神經網絡。在創新方面,深度學習帶來了機器學習的新浪潮,推動“大數據+深度模型+數據發現挖掘”時代的來臨。人工智能技術與互聯網的融合,是兩個領域發展到一定階段,探索創新的必然結果,深度學習為擁有強大計算能力和數據資源的互聯網巨頭公司帶來下一次全面領跑的機會。例如,谷歌、百度在硅谷的研發實驗室,在對深度學習、算法升級,對機器學習模仿人腦的智能活動,讓機器像人腦一樣識別圖像、理解自然語言,解析網絡內容之間關系做深度探索。百度語音和圖像等相關網絡產品應用的快速崛起,正是受益于對機器學習等領域的技術突破。 其三,在融合發展層面,人工智能技術的發展促進多種科學與網絡技術的深度融合。從國際上看,人工智能技術在美國,歐洲和日本發展迅速,并且帶動了多種信息科學領域的發展,信息學、控制學、仿生學、計算機學等領域的技術突破均被運用到人工智能應用中去。從技術發展脈絡發展上,人工智能很多技術一直處于創新的前沿,未來會在很大程度上影響信息產業的發展方向。人工智能發展至今涉及到多個研究領域,研究方向包括符號計算、語言識別、模式識別和計算機視覺、機器翻譯與機器學習、智能信息檢索、問題求解與專家系統、邏輯推理與邏輯證明、自然語言處理等,逐漸成為更為廣泛的智能科學學科。 新時期下面對人工智能快速發展對策: 在人工智能技術發展過程中,我們總體上應該貫徹落實創驅動發展戰略,立足自主創新的同時,放眼國內國際兩個大局技術發展情況,加強跟蹤高新技術產業技術的發展態勢調整產業結構,統籌全局發展,切實推進由技術革新到推進經濟發展方式的轉變,實現工業經濟產型升級,同步大力支持我國人工智能相關研究和產業化工作。在具體工作上,我們應該采取以下策略: 一是要建立針對相關科研成果的產業追蹤機制。針對國際國內相關企業和科研機構正在進行的相關科研活動進行動態追蹤,對其科研成果在各行各業的信息化應用進行預研預判,為制定信息化發展相關政策規劃提供線索和根據。 二是適時引導和推動人工智能相關產業領域的研發應用。加強對人工智能和人腦科學工業領域應用的深入調研分析,掌握工業機器人、新型計算產品、人工神經網絡等的發展和應用現狀,堅持應用牽引,整合產學研現有資源,形成一批人工智能關聯技術的實驗室和技術中心,推動人工智能關聯技術在網絡、通訊等行業快速發展的應用示范。 三是要加大對人工智能關聯技術的資金支持力度,引導人工智能關聯技術向通用技術領域的演進和轉化。 未來人工智能技術將進一步推動關聯技術和新興科技、新興產業的深度融合,推動新一輪的信息技術革命,其人工智能技術將成為我國經濟結構轉型升級的新支點。第三篇:人工智能實驗一
第四篇:漢諾塔實驗(人工智能)
第五篇:人工智能相關材料