国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

人工智能教學(xué)難點(diǎn)剖析及經(jīng)驗(yàn)總結(jié)

2018-12-15 11:25杜立智
計(jì)算機(jī)時(shí)代 2018年10期
關(guān)鍵詞:人工智能教學(xué)

摘 要: 人工智能是一門新興學(xué)科,經(jīng)常發(fā)現(xiàn)所用教材存在諸多缺憾。人工智能所包含的問題思維方式抽象,思路復(fù)雜,學(xué)生在學(xué)習(xí)時(shí)普遍存在困難,尤其是在其核心,符號主義和圖搜索算法上。為了克服這些困難,便于教和學(xué),以多年的教學(xué)經(jīng)驗(yàn)和思考,匯總了該課程難以把握、容易理解錯(cuò)的關(guān)鍵點(diǎn)和難點(diǎn),揭示了其實(shí)質(zhì),并進(jìn)行了深入的解讀和說明,為清晰透徹地理解和掌握開辟了通道。

關(guān)鍵詞: 人工智能; 符號主義; 圖搜索; 教學(xué)

中圖分類號:TP301 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2018)10-87-04

Abstract: Artificial intelligence is a comparatively new discipline, it is often found that there are some defects in textbooks used. Artificial intelligence is very abstract and complicated that most students will feel difficult in studying, especially in its core parts the symbolism and graph search algorithm. In order to overcome these difficulties and facilitate teaching and learning, with the years of teaching experience and thinking, this paper summarizes the key points and difficult points that are difficult to grasp or easy to misunderstand, reveal their essence, and deeply explains them, so as to develop a clear road for students to understand and grasp them.

Key words: artificial intelligence; symbolism; graph search; teaching

0 引言

當(dāng)代IT業(yè)經(jīng)歷了兩次大的浪潮,這兩次浪潮都極大地影響和改變了人類的生產(chǎn)和生活。第一次是微軟操作系統(tǒng)的出現(xiàn)及由此所導(dǎo)致的個(gè)人計(jì)算機(jī)的普及;第二次是互聯(lián)網(wǎng)的興起及其蓬勃發(fā)展所帶來的生產(chǎn)規(guī)模和對人類工作生活的影響??梢灶A(yù)料,即將到來的下一次浪潮其影響力將更加空前,這就是人工智能的發(fā)展及其無邊的前景。

人工智能的學(xué)習(xí)和教學(xué),顯得尤為重要。

由于該課程為新興學(xué)科,其教材或是直接翻譯外文[1],或由編者編輯整理而成[2],往往存在錯(cuò)愕之處,而且表達(dá)方式也不太符合中國學(xué)生的學(xué)習(xí)習(xí)慣,不利于中國學(xué)生理解和掌握。

本文以張仰森、黃改娟所著“人工智能教程”[3]為例來說明人工智能這門課的教學(xué)。本科生教學(xué)主要內(nèi)容是這本書的前六章,也就是其原理篇。筆者認(rèn)為,這六章的內(nèi)容,有兩章是核心,即第三章符號主義和第五章搜索算法。

按該書的觀點(diǎn),人工智能發(fā)展至今,有三大主要流派:符號主義、聯(lián)結(jié)主義和行為主義。其中最主要的是符號主義,人工智能的大部分研究成果都集中在符號主義領(lǐng)域。人工智能的發(fā)展依賴于兩大方面,一是思維方式的不斷改進(jìn)和更新,二是搜索算法。搜索算法與人工智能可以說是如影隨形。

人工智能這門課有難度,如符號主義和Herbrand定理,有相當(dāng)?shù)碾y度。一整套符號主義的方法相當(dāng)于一個(gè)算法,這是一個(gè)比較大的算法,難度大而復(fù)雜。就其原理、定理方法而論,符號主義的思維方式高度抽象,顯然有別于其他課程,其思路復(fù)雜,學(xué)生普遍感覺難以掌握。

一個(gè)復(fù)雜的算法之所以難學(xué),關(guān)鍵是它包含有一長串復(fù)雜的思路。要掌握一個(gè)復(fù)雜算法,需要具備沿著一長串思維脈絡(luò)深入下去的思維能力[4]。這一長串思維彼此關(guān)聯(lián),必須將它們同時(shí)印在腦海里并關(guān)聯(lián)起來。并且這一長串思路往往還包含一些關(guān)鍵步驟和關(guān)鍵點(diǎn),理解難度大。問題是僅僅孤立地理解這些關(guān)鍵步驟和關(guān)鍵點(diǎn)還遠(yuǎn)遠(yuǎn)不夠,還必須將其與其他許多地方關(guān)聯(lián)起來,綜合理解。一般說來,復(fù)雜算法的原創(chuàng)者需要具備強(qiáng)大的想象力和掌控深入的復(fù)雜思路的能力,而學(xué)習(xí)者至少必須具備后者。

為了教好和讓學(xué)生學(xué)好該門課,筆者總結(jié)多年的教學(xué)經(jīng)驗(yàn)。

要讓學(xué)生的思維動(dòng)起來、活躍起來,讓學(xué)生自己進(jìn)入思路,在課堂教學(xué)中安排提問和討論,針對關(guān)鍵點(diǎn)/要點(diǎn)向?qū)W生提問,并給機(jī)會(huì)讓學(xué)生提問,這種提問討論環(huán)節(jié)能活躍課堂氣氛,有助于學(xué)生真正學(xué)進(jìn)去。

對于復(fù)雜的算法問題,教師進(jìn)行思維引導(dǎo)很重要,通過提出問題,講解概念、原理和步驟,引導(dǎo)學(xué)生進(jìn)入思考,然后通過提問討論環(huán)節(jié),讓學(xué)生自己弄清算法思路,達(dá)到能真正透徹掌握之目的。

思維方式和思維能力這兩點(diǎn)推動(dòng)著計(jì)算機(jī)科學(xué)不斷向前發(fā)展[5],人工智能作為一個(gè)新興的專業(yè)領(lǐng)域,恰恰站在思維方式不斷變革更新的前沿。同時(shí)人工智能的深入研究,都伴隨著復(fù)雜的算法能力也就是思維能力。正是因?yàn)檫@一點(diǎn),人工智能這門課學(xué)習(xí)難度大,有別于其他課程。本文試圖針對其學(xué)科特點(diǎn),剖析高效有力的人工智能教學(xué)方法。

本文對符號主義的一些關(guān)鍵點(diǎn)/難點(diǎn)和容易理解錯(cuò)的地方進(jìn)行深入剖析,以簡明的方式揭示其實(shí)質(zhì),為學(xué)生高效正確地掌握該門知識(shí)提供引導(dǎo)。

1 深入解析符號主義的本質(zhì)和學(xué)習(xí)過程

符號主義有五大步驟:第一大步,寫謂詞;第二大步,將謂詞化為標(biāo)準(zhǔn)范式和子句集;第三大步,置換合一;第四大步,匹配規(guī)則和推理算法;第五大步,那就是透徹理解其完備性,主要是理解和掌握Herbrand定理。

學(xué)習(xí)符號主義有兩個(gè)層面:一是掌握其方法,能正確任用,也就是知道怎么做;二是透徹理解其原理定理,即理解為什么這樣做。就學(xué)生而論,第一個(gè)層面是最基本要求,必須達(dá)到。

其中前四步屬于第一層面,而第五大步是第二層面,也是難度最大的一步。即使第五大步?jīng)]有達(dá)到,只要很好地掌握了前四大步,就能運(yùn)用好符號主義。

第一大步,寫謂詞應(yīng)該是比較容易的,但初學(xué)者亦感到困難。對此筆者總結(jié)出三條經(jīng)驗(yàn):一是清晰區(qū)分蘊(yùn)含語句和與語句。關(guān)于量詞表達(dá)的書寫,屬普通知識(shí),一般無大問題。但要注意全稱量詞與存在量詞的不同對待,不要模糊概念。如,男人都喜歡足球,謂詞是:?x man(x)->like(x,football)。又如,有的男人喜歡足球,謂詞是:?x man(x)like(x,football)。

一般說來,對“只要……就”、“所有的如何如何”這樣的語句,就用蘊(yùn)含;而對于“存在什么什么”、“有部分如何如何”這樣的句型,就用與語句。有同學(xué)提出,從語義的角度,既然對全稱用蘊(yùn)含,存在時(shí)也可用蘊(yùn)含。這樣說確實(shí)有道理,但這個(gè)語義是模糊的。在謂詞推理中,A蘊(yùn)含B有確切清晰的邏輯含義,那就是非A或B。若是用這個(gè)含義來考察,存在時(shí)用蘊(yùn)含導(dǎo)致的是邏輯混亂。

然后是大膽設(shè)計(jì)謂詞,初學(xué)者往往覺得困難就是因?yàn)椴桓掖竽懺O(shè)計(jì)謂詞。謂詞不過是判定是和否的布爾函數(shù)而已,若問題需要,就大膽設(shè)謂詞及其參數(shù),完全無必要有畏難情緒,就像C語言編程中若需要就設(shè)一個(gè)新的變量一樣。接著針對各種不同句型多練習(xí),這個(gè)確實(shí)沒有什么深?yuàn)W之處,多練習(xí),自然就會(huì)。

筆者舉兩個(gè)具有趣味性和啟發(fā)性的例子,以此來說明著名的數(shù)學(xué)難題都可用符號主義來解決。

例1,哥德巴赫猜想:?x E(x)->?y?z D(x,y,z)S(y)S(z),任何一個(gè)大于2的偶數(shù)都可以表示為兩個(gè)素?cái)?shù)之和。

例2,費(fèi)馬大定理:~?x?y?z?u D(f(x,u),f(y,u),f(z,u))I(x)I(y)I(z)GE(u)。

第二大步,化標(biāo)準(zhǔn)范式及子句集[3]。這一大步?jīng)]有包含難點(diǎn)和深?yuàn)W的因素,多練習(xí)就能掌握。筆者總是強(qiáng)調(diào)兩點(diǎn)。第一點(diǎn)是各步驟的順序非常重要,絕不能將順序搞錯(cuò),比如,第1步必須是去蘊(yùn)含符,第2步是內(nèi)移否定符。若是反過來先內(nèi)移否定符,再去蘊(yùn)含符,就會(huì)導(dǎo)致大錯(cuò)。第3步是去存在量詞,同樣,這一步只有在前兩步完成后才能做。第二點(diǎn)是強(qiáng)調(diào)第3步改變量名非常重要。每一個(gè)量詞必須有自己惟一的變量名,其作用范圍的所有變量都必須用這個(gè)同樣的名字。同時(shí)不同子句之間的變量名不能重復(fù)。這一點(diǎn)非常重要,因?yàn)橐院蟮闹脫Q合一,變量名的異同具有決定性影響。必須在這一步完成變量的改名,以后的置換合一和推理中不允許再改名,否則可能導(dǎo)致混淆和錯(cuò)誤。教材中這一點(diǎn)沒有講清楚,可能導(dǎo)致混亂。

第三大步,置換合一。這個(gè)有難度,學(xué)生普遍反映較難。筆者使用過多個(gè)不同教材,對此都沒能透徹講解清楚。一些地方容易產(chǎn)生歧義,導(dǎo)致誤讀。其實(shí)置換合一,關(guān)鍵是必須透徹理解:兩個(gè)同名謂詞合一,本質(zhì)上是找它們參數(shù)也就是自變量定義域或者個(gè)體域的公共部分。能從邏輯上透徹理解這個(gè),置換合一問題也就好解決了。講這個(gè)問題時(shí),筆者總是提這個(gè)問題:最一般合一置換與普通的合一置換,哪個(gè)公共部分大?不少學(xué)生回答不上。答案是最一般合一置換公共部分大。最一般合一置換就是找兩者的最大公共部分。從公式θ=σ*λ可知,普通合一置換在經(jīng)過了最一般合一置換之后,還要經(jīng)過λ再置換一次,而每次置換,公共部分只可能減少(或不變)。

求最一般合一置換的算法見[3]:

其中第5步是關(guān)鍵步驟,關(guān)鍵點(diǎn)有兩個(gè):一是對不一致集的兩個(gè)項(xiàng)xk、tk,至少有一個(gè)必須是變量;二是這句話非常關(guān)鍵:xk不在tk中出現(xiàn)。因?yàn)橹挥袧M足這兩個(gè)條件,才能保證它們的個(gè)體域有公共部分。下面舉兩個(gè)例子來說明:謂詞P(x,y)與P(y,x),如何合一?若是認(rèn)為兩者的變元x, y均是不受約束的,它們合一的結(jié)果就應(yīng)該是P(x,y)。按教材中例題的做法,先將p(y,x)改名為p(u,v),然后再合一,結(jié)果為p(x,y)。若這兩個(gè)謂詞分屬于不同的子句,那當(dāng)然可以先改名再合一,問題是置換合一既可以在不同子句之間進(jìn)行,也可能在同一子句之中進(jìn)行。若是后者,改名就會(huì)出錯(cuò)。故統(tǒng)一規(guī)定:在化標(biāo)準(zhǔn)子句時(shí)改名,在置換合一階段不允許再改名。從而,p(x,y)和p(y,x)合一,結(jié)果是p(x,x),因?yàn)槲覀兗俣?,改名的工作以前都做過了,此時(shí)兩者的x, y是互相約束的(不能排除此情況發(fā)生的可能),故正確的合一結(jié)果是P(x,x)。

我們再來看另一個(gè)合一的例子:P(x,f(x))與P(y,y)。

第1步,找出不一致集(x,y)。由x置換y我們得到:P(x,f(x)), P(x,x)。

第2步,不一致集為:(f(x),x)。許多同學(xué)在此容易出錯(cuò),他們用f(x)取代x,最后得到的合一結(jié)果是P(f(x),f(x))。教科書上求最一般合一的算法,不一致集tk,xk,其中前者是項(xiàng),后者是變元。用項(xiàng)tk置換xk,前提是xk不在tk中出現(xiàn)。請注意教科書上并沒有解釋為什么xk不在tk中出現(xiàn),若出現(xiàn)了又該如何處理。這里是,若出現(xiàn)了,就不能合一,算法終止。所以這兩個(gè)謂詞是不能合一的。

如前所述,合一的實(shí)質(zhì)是:找出兩個(gè)謂詞相應(yīng)參量的公共部分,若無公共部分,就不能合一。而最一般合一的實(shí)質(zhì)是,找出兩個(gè)謂詞相應(yīng)參量的最大公共部分,類似于最大公約數(shù)。

項(xiàng)有三類:變元x,函數(shù)f(x),常量a。只有變元x才可能與其他項(xiàng)有肯定的公共部分,因?yàn)樽冊娜≈捣秶侨w個(gè)體域,函數(shù)則取其中的部分值,而常量只取其某個(gè)特定值。故常量與變元有公共部分,那就是常量本身。函數(shù)f(y)與變元x也有公共部分,就是f(y)。而函數(shù)f(x)與變元x是沒有公共部分的,從而不能合一。當(dāng)然,f(x)與常量a也沒有公共部分。

講解完這個(gè)算法之后,給學(xué)生時(shí)間,讓他們自己讀通算法,并解答他們的疑問。最后問學(xué)生一個(gè)問題,若能清楚回答,基本已掌握好。筆者的問題是:第5步在什么條件下轉(zhuǎn)到步驟6?為什么?答案是在兩種情況下:一種是:不一致集中沒有變元,沒有變元,從而也就沒有公共部分。第二種是:不一致集為f(x)和x,盡管有變元,但x在f(x)中出現(xiàn),同樣不能合一。

第四大步,沖突處理和算法設(shè)計(jì)。這不是教材的重點(diǎn),關(guān)于沖突處理也就是推理的優(yōu)先級排序,教科書上給出了若干條匹配策略[3]。這些策略只具有啟發(fā)性意義,而不具備系統(tǒng)的實(shí)質(zhì)性價(jià)值。正是在這個(gè)優(yōu)先級別的確定上,產(chǎn)生了符號主義最難以逾越的瓶頸。若是能高效解決這個(gè)問題,則符號主義能快速推理出任何高難度的問題。故匹配策略的教學(xué)意義在于:告訴學(xué)生這些策略并非系統(tǒng)性知識(shí),不具備決定意義,學(xué)生要在領(lǐng)會(huì)的基礎(chǔ)上靈活任用,并能根據(jù)工作實(shí)際加以發(fā)揮。這里必須理解的概念是,歸結(jié)策略具有完備性。

筆者主要給學(xué)生講清楚這幾點(diǎn):①符號主義的推理方法是完備的,只要謂詞寫正確,前提條件表達(dá)充分,就必能推出正確的結(jié)果;②該問題屬NP難問題,在最壞情況下,推理算法所需時(shí)間呈指數(shù)型遞增,迄今沒有普適的好算法使之高效。這也是符號主義的瓶頸;③隨著量子計(jì)算機(jī)也就是并行計(jì)算機(jī)的問世,符號主義的前景極其廣闊。

下面談第五大步,也是難度最大最深?yuàn)W的一步,如何理解Herbrand定理。

第五大步,必須將一個(gè)解釋和不可滿足這兩個(gè)概念非常清晰地印在腦海里。這一點(diǎn)非常重要。然后必須清晰透徹理解H域、原子集、基例,以及H域上的一個(gè)解釋。這幾個(gè)概念盡管不能說多復(fù)雜,但初學(xué)者依然容易模糊。筆者講完這些概念之后,總是提一個(gè)問題:假設(shè)原子集里面的成員個(gè)數(shù)為n,那么在H域上共有多少個(gè)不同的解釋?若能回答是2n,表明已經(jīng)完全理解了H域上的一個(gè)解釋。

然后就是理解定理了。

必須說明的是,教材中的證明[3]是有問題的,從而也是不成立的。這個(gè)證明涉及到的思路相當(dāng)復(fù)雜深邃,而絕不是那么簡單。若學(xué)生自己能發(fā)現(xiàn)證明中的這些問題,那就意味著已經(jīng)深入理解了,且算法功力強(qiáng)大。多年還沒有遇到這樣的學(xué)生。作為老師,筆者總是給學(xué)生點(diǎn)撥如下要點(diǎn):

邏輯上,證明必須全面關(guān)聯(lián)考慮謂詞的結(jié)構(gòu)形式、基例、H域、原子集這些概念的嚴(yán)格定義,才可能得證。教材中的證明基本沒有做這樣的考慮。

定理3.4僅證明了它所說的必要性,而它的充分性證明等于什么也沒有說。必須理解H域是一個(gè)特殊的域,而并非普通個(gè)體域集的一個(gè)子集。很明顯,即使將H域去掉一部分,必要性也成立,而按照教材的證明邏輯,充分性是當(dāng)然成立的。這就意味著H域去掉一部分也行,這當(dāng)然是荒謬的。

定理3.5的充分性證明只談一個(gè)解釋是概念錯(cuò)誤,而必要性談到至少有一個(gè)基例為假同樣也是概念錯(cuò)誤。多個(gè)基例不能同時(shí)為真與至少有一個(gè)基例為假是不同的。并且,既然你說至少有一個(gè)基例為假,后面又加一句證明不可滿足的基例集有限,不是自我矛盾嗎?因?yàn)檫@個(gè)證明完全沒必要。

總而言之,要理解和證明Herbrand定理,必須清晰嚴(yán)格理解前述各個(gè)概念,這些概念的內(nèi)涵外延,并將它們與證明思路嚴(yán)格關(guān)聯(lián)起來。具體證明可查閱有關(guān)資料,此處不贅述。

此外,筆者在講解符號主義這一章時(shí),總是舉個(gè)小例子來引導(dǎo)學(xué)生自己進(jìn)入到推理邏輯中去。舉例:已知f(x),求證f(a)。很明顯,此時(shí)將結(jié)論取反,然后與f(x)歸結(jié),得到空子句nil,得證。問題是:已知f(a),求證f(x)。此時(shí)將結(jié)論取反得到~f(x),然后與f(a)歸結(jié),同樣得到空子句nil,得證。很明顯,結(jié)論是錯(cuò)的。那么,證明過程問題出在哪里?剛開始學(xué)生往往回答不上。因?yàn)閒(x)實(shí)際上是?xf(x),取反后為?x~f(x),用常量置換得~f(b),請注意此時(shí)的常量名必須是新的,不能與已有的a相同。經(jīng)解釋理解后,就是收獲。

2 搜索算法教學(xué)要點(diǎn)

搜索算法這一章含多個(gè)算法,其中最基本最關(guān)鍵的是“狀態(tài)空間圖的一般搜索算法”。其他算法均是以此算法為基礎(chǔ),只有完全掌握好這個(gè)算法,這一章的其他算法也就迎刃而解了。應(yīng)該說,該算法是一個(gè)小算法,有一定難度,但難度不太大。筆者教學(xué)人工智能這一算法時(shí),學(xué)生都是大三年級,已經(jīng)在算法課程里學(xué)過這一算法,對其有了大致初步的掌握。但若對他們提深一些的問題,往往回答不上來。真正透徹理解該算法的標(biāo)志是:能將算法的正確性證明出來?;蛘咄艘徊剑芮逦刈x懂算法的證明。該算法詳見文獻(xiàn)[3]第五章。

此算法的關(guān)鍵步驟是第⑹⑺步,其中三類不同的節(jié)點(diǎn)是關(guān)鍵點(diǎn),必須通過舉例講透徹。第⑹步中“生成不是自己祖先的子節(jié)點(diǎn)”也非常重要,必須理解透徹。

筆者講解完了各步之后,給學(xué)生以時(shí)間,要求學(xué)生自己看懂,將它們串起來形成一個(gè)整體思路。然后請學(xué)生提問,就還有什么疑難點(diǎn)或在哪里思路走不通提問,并予以解答。最后對學(xué)生提問:既然你們沒問題了,也就是認(rèn)為自己已經(jīng)掌握了,那現(xiàn)在我對你們提問:①第⑹步為何要強(qiáng)調(diào)“不是n的祖先”,n的祖先以后是否還有可能成為它的后繼節(jié)點(diǎn);②第⑹步,closed 表中的節(jié)點(diǎn)是否還有可能再回到open表中,若可能,會(huì)否產(chǎn)生死循環(huán)?若能清楚回答這幾個(gè)問題,就基本透徹理解了該算法。最后,若是能不依賴書中定理,獨(dú)立完整證明單調(diào)啟發(fā)策略是可采納的,就意味著具有徹底掌握該搜索算法的功力,達(dá)到這一步的學(xué)生極少見。

3 結(jié)束語

人工智能課程抽象深?yuàn)W,教學(xué)難度大,通常灌輸式的講課方式難以滿足要求。本文提出了一種提問-互動(dòng)-討論模式的教學(xué)法。其核心是:給學(xué)生時(shí)間,讓學(xué)生自己進(jìn)入思考和形成思路;讓學(xué)生提問,解答學(xué)生在形成思路時(shí)遇到的障礙;針對關(guān)鍵點(diǎn)/要點(diǎn)向?qū)W生提問,學(xué)生若能清晰作答,則意味著已經(jīng)掌握了。邏輯和經(jīng)驗(yàn)表明,對于難度大的概念原理算法,這是使學(xué)生能真正掌握的有效途徑。運(yùn)用本文所論述的方法能顯著提高教與學(xué)的效率。

參考文獻(xiàn)(References):

[1] (美)Nils J. Nilsson,鄭扣根,莊越挺譯.人工智能[M].機(jī)械工業(yè)出版社,2003.

[2] 高濟(jì),朱淼良,何欽銘.人工智能基礎(chǔ)[M].高等教育出版社,2002.

[3] 張仰森,黃改娟.人工智能教程[M].高等教育出版社,20116.

[4] Sara Baase etc. Computer Algorithms: Introduction to Design and Analysis[M]. New York: Addison Wesley Publishing Company,2000.

[5] 杜立智.論如何考核和提高大學(xué)教師的授課水平[J].計(jì)算機(jī)時(shí)代,2012.6.

猜你喜歡
人工智能教學(xué)
我校新增“人工智能”本科專業(yè)
微課讓高中數(shù)學(xué)教學(xué)更高效
如何讓高中生物教學(xué)變得生動(dòng)有趣
2019:人工智能
人工智能與就業(yè)
“自我診斷表”在高中數(shù)學(xué)教學(xué)中的應(yīng)用
數(shù)讀人工智能
對外漢語教學(xué)中“想”和“要”的比較
跨越式跳高的教學(xué)絕招
初中50米迎面接力跑教學(xué)心得