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