《高中息技術(shù) 初識PROLOG語言教學(xué)案例 選修5》由會員分享,可在線閱讀,更多相關(guān)《高中息技術(shù) 初識PROLOG語言教學(xué)案例 選修5(4頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、初識PROLOG語言(人工智能初步)
一、 教學(xué)內(nèi)容
教學(xué)內(nèi)容選用教育部制訂的《普通高中技術(shù)課程標(biāo)準(zhǔn)》中信息技術(shù)部分的選修模塊5“人工智能初步”(廣東教育出版社)第二章2.6 Prolog語言。本節(jié)給出Visual Prolog語言程序段,從自然語言的觀點對Visual Prolog提供一個概括性的介紹,討論如何把自然語言的語句和問題轉(zhuǎn)換為Prolog的事實、規(guī)則和詢問。講解Prolog的事實、規(guī)則和詢問的語法規(guī)則,了解人工智能語言的主要特征。
二、 教材分析
智能語言解決人工智能問題,是解決人工智能問題的最基本手段,是人們把現(xiàn)實世界的任務(wù)轉(zhuǎn)換成計算機可以直接識別并執(zhí)行的指令代碼。
2、通過學(xué)習(xí)本節(jié)的內(nèi)容,讓學(xué)生了解到智能語言是怎樣解決實際問題的,學(xué)習(xí)智能程序設(shè)計語言為研究人工智能與專家系統(tǒng)提供了有效的工具和手段。
三、 教學(xué)目標(biāo)
知識性目標(biāo)
1、讓學(xué)生掌握對現(xiàn)實問題的自然語言的描述,將自然語言轉(zhuǎn)換成Prolog語言。
2、初步學(xué)會使用該語言設(shè)計程序求解邏輯問題,并能夠上機調(diào)試、執(zhí)行相應(yīng)的程序。
技能性目標(biāo)
1、培養(yǎng)學(xué)生發(fā)現(xiàn)舊知識的規(guī)律、方法和步驟,并把它運用到新知識中去的能力。
2、培養(yǎng)學(xué)生調(diào)試程序的能力。
3、培養(yǎng)學(xué)生合作、討論、觀摩、交流和自主學(xué)習(xí)的能力。
情感性目標(biāo)
通過簡單的邏輯問題求解,讓學(xué)生體驗人工智能語言解決問題的豐富魅力,增強
3、對信息技術(shù)發(fā)展前景的向往和對未來生活的追求。
四、 重點難點
教學(xué)重點
將自然語言轉(zhuǎn)換為Prolog語言,了解Prolog其程序結(jié)構(gòu)。
教學(xué)難點
掌握Prolog語言事實、規(guī)則、詢問。
五、 教學(xué)方法與準(zhǔn)備
可以在多媒體電腦室進(jìn)行,以講解、討論、動手相結(jié)合的方法
六、教學(xué)過程
教學(xué)過程
設(shè)計意圖
(一)引入:(教師活動)
Prolog是Programming in Logic的縮寫,意思就是使用邏輯的語言編寫程序。prolog不是很高深的語言,相反,比較其他的一些程序語言,例如c、basic等等語言,prolog是更加容易理解的語言。
邏輯思維在我
4、們?nèi)粘I钪斜缺冉允?,prolog正是把這種思維用文字描述出來的計算機語言。還是首先舉個例子吧:
李明喜歡踢足球
李明喜歡打籃球
劉麗喜歡看電視
劉麗喜歡打羽毛球
李明喜歡的運動,張軍都喜歡
…………
這應(yīng)該算是一道最簡單邏輯推理題目了,那么我們?nèi)绾斡胮rolog語言實現(xiàn)呢?
通過實際例子,結(jié)合學(xué)生已有經(jīng)驗,了解Prolog程序語言是怎樣表達(dá)自然語言
(二)思考討論:(學(xué)生活動)
“李明喜歡踢足球”是一條已知的事實,用prolog語言怎樣來表達(dá)呢?“李明喜歡的運動,張軍都喜歡”定義怎樣表達(dá)呢?
分組:
每三、四個同學(xué)一組一起討論問題,利用已學(xué)過的知識
5、表達(dá)事實。
教師在這過程中到同學(xué)中去,引導(dǎo)、幫助同學(xué)分析問題。
激發(fā)學(xué)生學(xué)習(xí)興趣,活躍課堂氣氛,培養(yǎng)學(xué)生協(xié)作學(xué)習(xí)的能力
(三)了解概念(教師講解、上機操作演示)
通過例舉同學(xué)討論的結(jié)果:
likes(liming,football).
引入
………
Prolog的事實
事實是用來說明一個問題中已知對象和它們之間關(guān)系的語句。在Prolog程序中,事實由謂詞(或稱為關(guān)系)名后跟用括號括起來的一個或幾個對象組成。謂詞和對象可由用戶自己定義,事實是邏輯推理的前提。
“李明喜歡的運動,張軍都喜歡”定義怎樣表達(dá)呢?也很簡單!
likes(zhangjun,X):
6、-likes(liming,X).
:-在prolog中表示“如果”的意思,我們使用它來定義規(guī)則。
注意:在prolog中以小寫字符開頭的字符串代表確知的事物,比如likes表示喜歡這種關(guān)系,而liming表示李明。而以大寫字母開頭的字符串表示未確定的事物,翻譯成漢語就是某某。
完整的可運行的prolog程序如下:
predicates
nondeterm likes(symbol,symbol)
clauses
likes(liming,football).
likes(liming,basktball).
likes(liuli, tennis).
likes(
7、liuli, badminton).
likes(zhangjun,X):-likes(liming,X).
goal
likes(zhangjun,X).
我們可以看出來,完整的prolog程序是有事實和規(guī)則組成的。事實用來儲存一些數(shù)據(jù),而規(guī)則用來儲存某種可以推理出來的關(guān)系。
Prolog程序有幾種基本結(jié)構(gòu),如定義謂詞(predicates)、存放事實和規(guī)則(clauses)、詢問(goal)等。
如果把上面的程序調(diào)入prolog解釋,然后就可以對以上的程序進(jìn)行詢問。讓我們來看第一個詢問:
?-likes(zhangjun,X).
解釋將回答
footb
8、all.
basketball.
因為它在事實、規(guī)則中發(fā)現(xiàn)likes(zhangjun,X):-likes(liming,X).這個事實。
教學(xué)內(nèi)容融合在任務(wù)中,引導(dǎo)學(xué)生自主完成,充分體現(xiàn)“教師主導(dǎo),學(xué)生主體”的教學(xué)思想。
(四)上機調(diào)試(學(xué)生操作,教師個別輔導(dǎo))
1、根據(jù)前面教師編制的程序,啟動visual prolog程序設(shè)計環(huán)境,輸入代碼,進(jìn)行調(diào)試最后得到運行結(jié)果,完成下表:
詢問(goal)
結(jié)果
likes(X,basketball).
likes(liuli,X).
likes(zhangjun,X).
likes(X,Y)
2、課本P4
9、2的練習(xí)。
理解、練習(xí)目標(biāo),探索問題
(五)歸納總結(jié)
1、prolog中不允許使用除了基本字符以外字符的,不能使用漢字,上面的句子必須寫成likes(liming,football).,電腦才能夠真正的理解。
2、最末尾的“.”一定不能掉,它表示一個句子結(jié)束。
3、上面詞匯對于電腦來說并沒有真正的含義,所以我們完全可以用 ai(xyz,abc).來表達(dá)這個關(guān)系,更進(jìn)一步,我們甚至可以用 xxx(a,b).來表達(dá),只要你自己心里清楚xxx表示喜歡,a表示李明,b表示足球就可以了。
記憶、鞏固知識、解決問題
(六)交流
人工智能語言解決問題和人工解決問題有什么異同?如果你選修過《算法與程序設(shè)計》,那么人工智能語言和其它程序設(shè)計語言有什么異同?
求解問題的方式
相同點
不同點
智能語言
人工求解問題
其它程序語言
交流、加深鞏固知識
七)自我評價
知識要點
認(rèn)識水平層次
了解
理解
掌握
運用
1、自然語言轉(zhuǎn)換人工智能語言
2、事實
3、規(guī)則
4、詢問
5、visual prolog編輯環(huán)境