白梅 李冠宇 張俊 寧博 王習(xí)特
摘 要:探討如何開(kāi)展進(jìn)化計(jì)算的教學(xué)工作,從教學(xué)內(nèi)容和教學(xué)安排兩方面展開(kāi)介紹,最后說(shuō)明幾點(diǎn)啟示。目的是將進(jìn)化計(jì)算這一重要思想介紹給學(xué)生,使他們能夠了解進(jìn)化計(jì)算的內(nèi)容,更能靈活掌握進(jìn)化計(jì)算的思想,解決今后實(shí)際生活和科研中遇到的各類問(wèn)題。
關(guān)鍵詞:智能系統(tǒng)導(dǎo)論;遺傳算法;教學(xué)啟示
1 背 景
智能科學(xué)與技術(shù)專業(yè)是面向高新技術(shù)的基礎(chǔ)型本科專業(yè)[1-2]。隨著科技的不斷發(fā)展,智能科學(xué)與技術(shù)專業(yè)的地位越發(fā)重要,為國(guó)家培養(yǎng)大量的專業(yè)型技術(shù)人才,是我國(guó)推動(dòng)人工智能發(fā)展的基礎(chǔ)。智能系統(tǒng)導(dǎo)論作為智能科學(xué)與技術(shù)專業(yè)的基礎(chǔ)課程,主要對(duì)人工智能發(fā)展歷史過(guò)程中的各種主要技術(shù)展開(kāi)專題性的介紹,旨在幫助學(xué)生理清人工智能學(xué)習(xí)中的各類技術(shù)脈絡(luò),從而對(duì)不同種類的人工智能技術(shù)進(jìn)行良好的梳理[3]。
進(jìn)化計(jì)算[4]是智能系統(tǒng)導(dǎo)論中的一個(gè)重要專題,其深入模仿進(jìn)化原理,是人工智能發(fā)展歷史上一項(xiàng)突破性的科研成果。進(jìn)化思想可以有效應(yīng)用在各類組合優(yōu)化問(wèn)題中,能夠?yàn)閷W(xué)生將來(lái)的工作和研究提供良好的理論基礎(chǔ)。
2 教學(xué)內(nèi)容
進(jìn)化計(jì)算就是用計(jì)算機(jī)程序來(lái)模擬自然進(jìn)化的過(guò)程,是人工智能發(fā)展歷史上一個(gè)里程碑式的進(jìn)展。進(jìn)化計(jì)算的授課內(nèi)容包括以下幾個(gè)方面。
(1)進(jìn)化計(jì)算的簡(jiǎn)介。包括進(jìn)化計(jì)算的歷史起源、進(jìn)化計(jì)算的核心思想、進(jìn)化計(jì)算的分類以及進(jìn)化計(jì)算的應(yīng)用等方面。通過(guò)對(duì)進(jìn)化計(jì)算的簡(jiǎn)介,使學(xué)生對(duì)進(jìn)化計(jì)算有整體的了解。
(2)遺傳算法及其應(yīng)用。詳細(xì)講解遺傳算法的基本原理、遺傳算法的步驟以及各種遺傳操作,并通過(guò)案例對(duì)遺傳算法的應(yīng)用進(jìn)行詳細(xì)介紹。
(3)進(jìn)化策略的介紹。詳細(xì)講解進(jìn)化策略的問(wèn)題編碼、算法步驟以及進(jìn)化策略的遺傳操作。
(4)遺傳編程的介紹。詳細(xì)講解遺傳編程的問(wèn)題編碼、算法步驟和遺傳操作。
(5)總結(jié)。對(duì)比3種不同進(jìn)化計(jì)算方法的優(yōu)缺點(diǎn)及他們遺傳操作的不同之處,并概括總結(jié)他們適用的實(shí)際問(wèn)題。
3 教學(xué)安排
3.1 問(wèn)題引入
智能系統(tǒng)導(dǎo)論作為本科生的專業(yè)基礎(chǔ)課,不僅需要讓學(xué)生明白所學(xué)的知識(shí),更需要有效引導(dǎo)學(xué)生的興趣,使他們對(duì)該學(xué)科產(chǎn)生興趣自發(fā)學(xué)習(xí)。那么在進(jìn)行問(wèn)題引入時(shí),就需要對(duì)學(xué)生進(jìn)行興趣引導(dǎo),使他們明確該知識(shí)點(diǎn)所依托的實(shí)際背景。在進(jìn)行一些基礎(chǔ)學(xué)習(xí)時(shí),學(xué)生經(jīng)常會(huì)有疑問(wèn),這個(gè)知識(shí)有什么用、是否有實(shí)際使用背景。這種情況下,就需要老師對(duì)學(xué)生進(jìn)行有效的知識(shí)聯(lián)想,清楚地告訴學(xué)生這個(gè)知識(shí)點(diǎn)所依托的實(shí)際背景,從而激發(fā)學(xué)生的學(xué)習(xí)興趣,由教師灌輸知識(shí)模式轉(zhuǎn)變成學(xué)生主動(dòng)學(xué)習(xí)知識(shí)模式。
為達(dá)到上述目的,在對(duì)進(jìn)化計(jì)算進(jìn)行問(wèn)題引入時(shí),教師對(duì)進(jìn)化計(jì)算的開(kāi)發(fā)背景進(jìn)行深入探討,從達(dá)爾文進(jìn)化理論入手,以短片的形式來(lái)引起學(xué)生的興趣,接著對(duì)照短片中的每個(gè)場(chǎng)景,進(jìn)行逐步講解,從而歸納出進(jìn)化計(jì)算的核心思想,并引出進(jìn)化計(jì)算的重要發(fā)展分枝:遺傳算法、進(jìn)化策略和遺傳編程。
3.2 理論介紹
當(dāng)把進(jìn)化計(jì)算思想成功引入后,需要對(duì)進(jìn)化計(jì)算的理論進(jìn)行有效的歸納和總結(jié)。進(jìn)化計(jì)算在長(zhǎng)久的發(fā)展過(guò)程中,出現(xiàn)了3個(gè)重要分枝算法:遺傳算法、進(jìn)化策略和遺傳編程。盡管這3種算法的核心思想相同,都是模擬 “優(yōu)勝劣汰”的自然選擇機(jī)制和遺傳信息傳遞的計(jì)算機(jī)程序,但在處理信息時(shí),他們所采用的遺傳操作卻并不相同。因此,在授課過(guò)程中,教師需要對(duì)3種進(jìn)化計(jì)算方法以流程圖的形式并結(jié)合具體的案例分別進(jìn)行描述,然后以問(wèn)答的形式總結(jié)3種進(jìn)化計(jì)算的各自特點(diǎn),并與學(xué)生共同探討,最終以表格的形式來(lái)描述3種進(jìn)化計(jì)算方法的不同點(diǎn)(見(jiàn)表1)。
表1 遺傳算法、進(jìn)化策略和遺傳編程的不同處項(xiàng)目 遺傳算法 進(jìn)化策略 遺傳編程
染色體表示 二進(jìn)制數(shù)字串 范圍變量 LISP列表處理語(yǔ)言
遺傳操作 選擇、交叉、突變 突變 選擇、交叉、突變
優(yōu)化方式 數(shù)值優(yōu)化 數(shù)值優(yōu)化 函數(shù)優(yōu)化
染色體長(zhǎng)度 固定 固定 不固定
在清晰描述3種進(jìn)化計(jì)算的不同之處后,以遺傳算法為例進(jìn)行詳細(xì)的講解,使學(xué)生對(duì)該案例進(jìn)行充分的了解,然后引導(dǎo)學(xué)生采用其他2種進(jìn)化計(jì)算方法對(duì)相同的案例進(jìn)行解決,從而強(qiáng)化學(xué)生對(duì)3種不同進(jìn)化計(jì)算方法的理解。
3.3 知識(shí)應(yīng)用
進(jìn)化計(jì)算有著非常廣泛的應(yīng)用,尤其在求解最優(yōu)化問(wèn)題上取得非常好的效果。為了在各種實(shí)際問(wèn)題中活用進(jìn)化計(jì)算方法,使學(xué)生不只是生硬的照搬照抄該思想,還需要從多種案例入手,在保證進(jìn)化計(jì)算核心思想的前提下,靈活使用不同遺傳操作方式,達(dá)到解決實(shí)際問(wèn)題的效果。
在課堂教學(xué)過(guò)程中,可以把進(jìn)化計(jì)算思想帶入到傳統(tǒng)的最優(yōu)化問(wèn)題中,如最大覆蓋問(wèn)題、旅行商問(wèn)題、中位數(shù)問(wèn)題等。以遺傳算法為例,分別帶入不同的最優(yōu)化問(wèn)題進(jìn)行解決。在解題過(guò)程中,對(duì)于不同的題干要求,需要設(shè)計(jì)不同的染色體編碼,并對(duì)他們進(jìn)行相應(yīng)的調(diào)整,使得他們滿足具體的問(wèn)題。通過(guò)這種加強(qiáng)學(xué)習(xí),使學(xué)生能夠活用相關(guān)知識(shí),做到具體問(wèn)題具體分析,并具備一定的科研創(chuàng)新能力。
3.4 實(shí)踐練習(xí)
為鞏固教學(xué)效果,在學(xué)生課程實(shí)踐中,安排相應(yīng)的最優(yōu)化問(wèn)題,使得學(xué)生能夠動(dòng)手實(shí)踐,更加深入地掌握進(jìn)化計(jì)算方法:以10個(gè)學(xué)生為一個(gè)小組進(jìn)行實(shí)踐練習(xí),首先每個(gè)小組可以自主選擇實(shí)踐題目,而后以小組為單位進(jìn)行相應(yīng)題目的系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),最終以小組的形式進(jìn)行成果演示和問(wèn)題講解,并提交實(shí)踐報(bào)告。
關(guān)于進(jìn)化計(jì)算的設(shè)計(jì)題目包括2個(gè)。題目一:旅行商系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。具體地,給出一系列城市和每?jī)蓚€(gè)城市之間的距離,求解一組序列,使得旅行商可以依照該序列依次訪問(wèn)每個(gè)城市僅1次,并保證旅行商走過(guò)的總路程最短。要求:在系統(tǒng)設(shè)計(jì)過(guò)程中,城市的數(shù)目和任意兩城市間的距離可以隨機(jī)生成,并在系統(tǒng)中采用進(jìn)化計(jì)算的方法實(shí)現(xiàn)最優(yōu)路徑的選取。題目二:最優(yōu)化選址問(wèn)題的設(shè)計(jì)與實(shí)現(xiàn)。具體地,某市計(jì)劃興建幾個(gè)供電站,共有n個(gè)候選地址,在任意候選地址興建供電站,可以解決周邊的供電問(wèn)題,如何興建盡可能少的供電站,使得興建的供電站可以覆蓋該城市的所有地區(qū)。要求:供電站的候選地址以及每個(gè)候選地址的覆蓋范圍可以隨機(jī)生成,且該城市的總區(qū)域可由一個(gè)矩形代替,在系統(tǒng)中采用進(jìn)化計(jì)算的方法實(shí)現(xiàn)最優(yōu)候選地址的選取方案。endprint
通過(guò)上述實(shí)踐練習(xí),不僅使學(xué)生深刻理解進(jìn)化計(jì)算的思想原理,還強(qiáng)化學(xué)生的能力鍛煉,在攻克一個(gè)個(gè)問(wèn)題的過(guò)程中,學(xué)生可以把所學(xué)知識(shí)與實(shí)踐良好地聯(lián)系起來(lái)。同時(shí),在系統(tǒng)開(kāi)發(fā)過(guò)程中,也對(duì)學(xué)生的團(tuán)隊(duì)協(xié)作能力進(jìn)行鍛煉,為學(xué)生今后進(jìn)入工作和科研系統(tǒng)打下堅(jiān)實(shí)的基礎(chǔ)。
4 教學(xué)啟示
在教進(jìn)化計(jì)算的過(guò)程中,教師得到了教學(xué)以外的幾點(diǎn)啟示。
(1)案例與教學(xué)結(jié)合,是引起學(xué)生興趣的最好手段。都知道興趣是學(xué)生學(xué)習(xí)最好的老師,但是如何激發(fā)學(xué)生的興趣則是教師需要思考的問(wèn)題。由于人工智能科學(xué)的特殊性,教師可以發(fā)現(xiàn),任何智能技術(shù)都有著一定仿生學(xué)的影子,因此,教師要以實(shí)際案例為導(dǎo)向,激發(fā)起學(xué)生的學(xué)習(xí)興趣。只有當(dāng)學(xué)生清楚所學(xué)的知識(shí)有用,他們才會(huì)全身心的投入到該技術(shù)的學(xué)習(xí)中。
(2)豐富靈活的案例,是掌握知識(shí)的最好通道。掌握知識(shí),不僅僅是指學(xué)生學(xué)會(huì)考試內(nèi)容,可以做出計(jì)算題,更多的是指學(xué)生掌握該技術(shù),能夠把該技術(shù)用到合適的場(chǎng)景中。那么在教學(xué)過(guò)程中,就需要教師通過(guò)各類不同的案例,并且不斷變化案例的題干,來(lái)加深學(xué)生對(duì)該知識(shí)的了解。教師還需要多留思考題,開(kāi)動(dòng)學(xué)生的大腦,對(duì)問(wèn)題進(jìn)行深入分析,從而盡早掌握該知識(shí)。
(3)理論聯(lián)系實(shí)際,是提高學(xué)生能力的最好方法。單純的理論學(xué)習(xí),并不能使學(xué)生對(duì)該知識(shí)形成深刻的印象。那么在后期的課程實(shí)踐中,可以通過(guò)安排相應(yīng)的最優(yōu)化選題,不斷加深學(xué)生對(duì)進(jìn)化計(jì)算知識(shí)的掌握。在實(shí)踐過(guò)程中,可以使學(xué)生的團(tuán)隊(duì)協(xié)作能力和科研創(chuàng)新能力得到全面的提升。
5 結(jié) 語(yǔ)
在課程教學(xué)中,筆者精心設(shè)計(jì)進(jìn)化計(jì)算中所需要的各類案例,通過(guò)調(diào)整題干,使得學(xué)生在理解進(jìn)化計(jì)算核心思想的基礎(chǔ)上,能夠靈活掌握該知識(shí)點(diǎn),做到具體問(wèn)題具體分析,理論聯(lián)系實(shí)際。在接下來(lái)的教學(xué)過(guò)程中,筆者將會(huì)就進(jìn)化計(jì)算問(wèn)題進(jìn)行更加深入的探索,擬引入當(dāng)前該領(lǐng)域內(nèi)的最新研究問(wèn)題,進(jìn)行實(shí)例探討,并留給學(xué)生更多的討論思考時(shí)間,為培養(yǎng)高素質(zhì)的科研型人才奠定良好的基礎(chǔ)。同時(shí),筆者會(huì)對(duì)智能系統(tǒng)導(dǎo)論中的其他專題展開(kāi)有針對(duì)性的深入研究,爭(zhēng)取將智能系統(tǒng)導(dǎo)論的每個(gè)專題設(shè)計(jì)得更加靈活生動(dòng),幫助學(xué)生掌握該門課程的同時(shí),為學(xué)生學(xué)習(xí)人工智能研究奠定良好的基礎(chǔ)。
參考文獻(xiàn):
[1] 鐘義信. 傳播創(chuàng)新成果, 服務(wù)社會(huì)需求: 論核心課程的設(shè)計(jì)[J]. 計(jì)算機(jī)教育, 2014(19): 22-25.
[2] 李曉東. 關(guān)于智能科學(xué)與技術(shù)專業(yè)建設(shè)的幾點(diǎn)思考: 以中山大學(xué)智能科學(xué)與技術(shù)專業(yè)為例[J]. 計(jì)算機(jī)教育, 2015(18): 2-5.
[3] Negnevitsky M. 人工智能: 智能系統(tǒng)指南[M]. 北京: 機(jī)械工業(yè)出版社, 2011.
[4] 閻平凡, 張長(zhǎng)水. 人工神經(jīng)網(wǎng)絡(luò)與模擬進(jìn)化計(jì)算[M]. 北京: 清華大學(xué)出版社, 2005.
(編輯:史志偉)endprint