江蘇航運職業(yè)技術(shù)學(xué)院智能制造與信息學(xué)院 顧晴 周軍
直觀形象的多媒體數(shù)字教學(xué)資源可以顯著促進學(xué)習(xí)者知識和能力的提升,因此,高質(zhì)量的數(shù)字資源被學(xué)習(xí)者和教育工作者持續(xù)關(guān)注。演示文稿作為典型的數(shù)字教學(xué)資源,在課堂教學(xué)和課后自學(xué)中發(fā)揮著重要的作用。研究演示文稿自主進化方法,獲得豐富的、高質(zhì)量演示文稿,對于提高課堂教學(xué)知識傳授的效率以及課堂趣味性,具有十分重要的作用。利用遺傳算法搜索廣度的優(yōu)勢,設(shè)計了針對演示文稿進化的適應(yīng)度函數(shù),構(gòu)建了演示文稿特征的基因表示。同時充分考慮了用戶的偏好介入,保證了最終方案與用戶概念設(shè)計的相容性。
教育是一個國家發(fā)展的基礎(chǔ),高品質(zhì)的教育是提升全民素質(zhì)、實施科教興國、推動社會創(chuàng)新發(fā)展的重要前提。教學(xué)品質(zhì)的提升與教學(xué)資源的品質(zhì)關(guān)系密切,于是教學(xué)資源作為教學(xué)工具的價值逐漸被挖掘,圍繞不同類型資源的開發(fā)、整合、利用已經(jīng)成為教育領(lǐng)域的重要課題。因此,“教學(xué)資源”走進了相關(guān)學(xué)者的研究視野[1],教學(xué)資源進化已逐步成為教育信息化研究的熱點。
教學(xué)演示文稿作為教育資源的重要組成,其品質(zhì)的高低對教、學(xué)質(zhì)量的提高具有重要影響。然而在我國各教育階段中教學(xué)演示文稿存在著普遍的共性問題,文稿呈現(xiàn)的質(zhì)量有待提升,呈現(xiàn)的豐富性有待提高。借助演示文稿的自主進化,能夠為該問題的快速解決提供有力的支撐,對于促進教育資源的優(yōu)化、促進教育水平的提升具有積極的推動作用[1]。
優(yōu)化問題是工程實踐中的常見問題,在機器學(xué)習(xí)中,很多算法的本質(zhì)也就是優(yōu)化問題。群智能算法是優(yōu)化算法中的一個重要分支,是一種比較成熟的,具有廣范圍適用性的全局性優(yōu)化方法,它的自組織、自適應(yīng)、自學(xué)習(xí)的性質(zhì),亦可不受問題性質(zhì)的限定,有效解決使用傳統(tǒng)優(yōu)化算法不便解決的問題。
基于群智優(yōu)化算法的優(yōu)勢,以及遺傳算法在教學(xué)資源中已有的利用程度,本文研究了演示文稿自主進化方法,重點對演示文稿的自主配色方法進行了探索。利用遺傳算法搜索廣度的優(yōu)勢,設(shè)計了針對演示文稿進化的適應(yīng)度函數(shù),構(gòu)建了演示文稿特征的基因表示,提出了借助適當(dāng)?shù)挠脩艚换崿F(xiàn)自主進化的新方法。
教學(xué)演示文稿借助多媒體,提供了多角度、多層次、多變化的整體式演示效果,使籠統(tǒng)的講習(xí)有了更加直觀的“模擬實驗”,在一定程度上能夠減少教師板書時間的浪費,以前傳統(tǒng)的黑板形式的教學(xué)是無法與演示文稿的直觀便捷相比擬的。并且演示文稿可以獲得和分配更多的信息資源,增大對教學(xué)資源的控制范圍,擴大課堂的教學(xué)容量,調(diào)動學(xué)生在學(xué)習(xí)上的積極性,提升教學(xué)效率。在對演示文稿的優(yōu)化設(shè)計上,孫永麗等人[2]則通過視覺的特征,對怎樣合理的使用色彩配搭原則、怎樣在最佳視覺域呈現(xiàn)教學(xué)信息、怎樣在課堂中引起視覺注意等,提出了基本的優(yōu)化原則。高鷗[3]也提出如何使用線性結(jié)構(gòu)使演示文稿結(jié)構(gòu)更清晰。
自Holland 教授在《自然界和人工系統(tǒng)的適應(yīng)性(Adaptation in Natural and Arti-ficial systems)》 中提出遺傳算法后,遺傳算法作為求解問題一類自組織與自適應(yīng)的人工智能技術(shù),被廣泛研究和應(yīng)用。
交互式遺傳算法在傳統(tǒng)遺傳算法的基礎(chǔ)上繼承和發(fā)展。相比于傳統(tǒng)遺傳算法,交互式遺傳算法加入了與用戶的互動評價,將用戶的偏好與感知等隱性因素嵌入算法中,能夠得到更符合用戶感知的滿意解[4]。近年來,對復(fù)雜產(chǎn)品的概念設(shè)計,大量國內(nèi)外學(xué)者采用了交互式遺傳算法來解決[5],在方案的評價過程中,采用交互式遺傳算法,根據(jù)用戶的評價直接取得了隱式機能指標問題的順應(yīng)值, 將用戶的偏好、經(jīng)驗、直覺等人類主管因素和知識融合在方案設(shè)計生成過程中, 實現(xiàn)了人機交互的緊密結(jié)合。
交互式遺傳算法的研究重點是查找種群規(guī)模小、收斂性好的優(yōu)化方式,但是同樣,使用合適的應(yīng)用對象也是重中之重。如今演示文稿應(yīng)用領(lǐng)域越來越廣泛,尤其是在多媒體教學(xué)中,它的使用不僅讓教師節(jié)約了大量的時間,也讓學(xué)生對書本中的內(nèi)容有了更重點的把握。很多人不習(xí)慣使用演示文稿,認為它片段化的段落寫作不利于學(xué)生的思考,然而,這些抱怨的觀點主要還是落腳在了設(shè)計糟糕的演示文稿上,這些問題是不容忽視的。
恰當(dāng)?shù)木幋a方式,對問題解的效率有著直接的影響。二進制編碼為常見的編碼方式之一,所謂二進制編碼,即用一串0,1 符號組成的符號串進行編碼,操作簡單,便于進行遺傳算子的運算。
本實驗的初始種群的設(shè)計:
(1)將展示頁面的方案個數(shù)的行數(shù)定義為nRow,列數(shù)定義為nCol 計算得到種群規(guī)模nDesignsInGroup。
(2)定義整數(shù)nColor 為色彩數(shù)量,為初始種群中的每一個個體設(shè)置編號并以此修改nColor 種色彩,RGB 的取值范圍為[0,255]。
為種群中的每一個個體設(shè)置編號
在[0,255]的范圍內(nèi)隨機生成一種顏色
(3)提前將演示文稿中的對象進行分組,每一組中的對象為相同顏色,MyColor 為一組色彩對象,然后將每一組對象進行色彩分量定義為rr、gg、bb,分別表示紅色通道、綠色通道和藍色通道。
(4)存儲種群的編碼。
保存一種色彩
Next
將nColor 種色彩保存后存儲在designCode 中,形成一個色彩方案
(5)為方案得分賦初值。
從界面中獲取用戶輸入的初值(默認值=5 分)
Next
在傳統(tǒng)遺傳算法中,使用適應(yīng)度函數(shù)來計算種群中每個個體在進化過程中接近于最優(yōu)解的優(yōu)良水平,也稱為所研究問題的目標函數(shù),下一代得到的基因極大可能性的來自上一代適應(yīng)度值較高的個體基因。
本實驗的這個模塊設(shè)定為10 分制。默認等分設(shè)置為中值5 分,用戶只需對最有興趣和最無興趣的個體進行評分,其他直接采用默認中值。
(1)選擇需要進行評價的方案(相同好感度的個體可以同時進行多選操作),在得分框內(nèi)輸入分數(shù)值。
For i = 1 To 選擇的方案個數(shù)
得到被選方案的數(shù)字編號
寫分數(shù)值
(2)運行程序,彈出對話框,展示所有方案分值。
Dim 顯示得分As 字符串
For i = 0 To 最后一個方案的地址
將每一個方案的得分賦給顯示得分的字符串
MsgBox 顯示得分
這個得分值,即可稱為遺傳算法中的適應(yīng)度,是在進行遺傳操作中的評價指標。
遺傳包括選擇、交叉和變異3 種操作。
2.4.1 選擇操作
通過適應(yīng)度對群落中的個體實現(xiàn)選擇操作,選擇優(yōu)質(zhì)個體而放棄不是優(yōu)勢的個體,體現(xiàn)了適者生存、優(yōu)勝劣汰的進化機制,提高了全局收斂性和計算效率。
本實驗也采用了輪盤賭選擇法,在輪盤上劃分區(qū)域,得分越高的占有的區(qū)域越大,被選中的幾率越高。
按照得分高低,使用輪盤賭選擇法得出父本和母本。
(1)給定0-1 之間的一個隨機數(shù),和一個概率密度數(shù)組,返回隨機數(shù)組的序號。
(2)累積數(shù)組的和,作為輪盤中的格子數(shù)。
For i = 0 To 總格子數(shù)
累加得分
Next
(3)數(shù)組中的變量數(shù)相當(dāng)于下注人數(shù)。
(4)數(shù)組中的每個變量值相等于下注格子數(shù)。
(5)計算得分累計值,累加比例值,直至超出骰子所擲數(shù)值,保存返回值,終止。
For i = 0 To 總個字數(shù)
累加比例值
If 比例值超出骰子所擲數(shù)值
保存返回值
退出
End If
Next
2.4.2 交叉操作和淘汰操作
交叉算子是指對兩個交叉體的部分結(jié)構(gòu)按某種方式相互交換,從而形成兩個新的個體,有利于整個種群的穩(wěn)定發(fā)展,朝著最優(yōu)解的方向進化。
本實驗對輪盤賭方法選擇出的父本和母本進行交叉,重新構(gòu)建子代編碼,生成對應(yīng)組數(shù)據(jù)。
(1)交叉。隨機從父本或母本中選擇色彩,保存新子代。
For j = 0 To 最后一個色彩地址
If 隨機數(shù)<= 0.5 Then
從母本中取色彩
Else
從父本中取色彩
End If
Next
保存新生成的子代
(2)淘汰。
For i = 0 To 舊種群最后一個方案的地址
If 方案分值 > 淘汰分值 Then
將此方案加入新的種群中
End If
Next
2.4.3 變異操作
在遺傳算法的進化過程中,根據(jù)變異幾率參數(shù)使用其他基因值來取代編碼串中個體的某些基因值,主要是擔(dān)保群體特定程度上的多樣性,整個群落中的每個個體都有均等機會經(jīng)歷變異。
根據(jù)輸入的變異概率,隨機挑選符合變異概率的數(shù)據(jù)實行變異操作。本實驗利用變異算子的局部隨機搜索能力加速向最優(yōu)解收斂。設(shè)定的默認變異率為0.03,表示有3%的方案進行變異。變異概率取值較小,使得接近最優(yōu)解的方案不會因變異而遭到破壞。變化比例設(shè)置為20%,如果過高,則RGB 值會因為過大的變化導(dǎo)致降低方案的收斂速度;如果過低,則RGB 值也因為比例調(diào)整太小同樣降低收斂速度。
For i = 0 To 最后一個方案的地址
產(chǎn)生隨機值
If 隨機值 < 變異概率 Then
For j = 0 To 最后一個色彩地址
依次修改方案的3 種色彩
RGB 三個值以20%的變化比例逐個修改
重新形成修改后的方案編碼
MsgBox ″種群換代成功!″
2.4.4 解碼
重新創(chuàng)建新頁面,對新生成的種群進行解碼操作,通過頁面展示給用戶新的種群方案,同時所有得分回歸初始化的中值5 分。用戶重復(fù)以上操作,直到獲得通過計算機優(yōu)化和用戶偏好選擇的最佳方案。
(1)增加新頁面,將原始對象粘貼至新頁面。
Dim 新頁面 As Page
設(shè)置新頁面長度
設(shè)置新頁面寬度
圖形參考點設(shè)置為圖形中心
新頁面.ActiveLayer.拷貝復(fù)制
Dim 循環(huán)變量i、j、k
For i = 1 To 行數(shù)
For j = 1 To 列數(shù)
Set 原始物體 = 新頁面.Shapes(k)
原始物體的橫坐標位置
原始物體的縱坐標位置
Next
Next
(2)依次修改nColors 種色彩,給當(dāng)前頁面方案上色。
For j = 1 To nColors
從保存的色彩編碼中取出色彩數(shù)據(jù)rr、gg、bb
新對象.Fill.UniformColor.RGBAssign rr, gg, bb
Next
(3)修改初始得分。
For i = 0 To 最后一個方案的地址
給每一個方案賦初始得分
Next
實驗在Windows10 系統(tǒng)下運行,初始種群方案在限定范圍內(nèi)隨機生成,設(shè)置默認交叉率為0.5,默認變異率為0.03,默認種群規(guī)模數(shù)量為12 個。

圖1 流程設(shè)計Fig.1 Process design
為了直觀、方便地讓用戶操作整個模型流程,本系統(tǒng)設(shè)計了一個交互式操作界面,打開操作界面后按照界面流程直接進行操作。
本實驗根據(jù)用戶存在疲勞性的特點,默認限定用戶進行評價超過20 代就結(jié)束程序。種群換代操作結(jié)束后,需要通過展示新種群按鈕,才能向用戶展示出新種群方案。
3.3.1 獲取設(shè)計對象
如圖2 所示給出了4 個演示文稿示例對象以供選擇,通過配色上的操作詳細演示整個過程。由于配色對象必須是群組對象,所以4 個演示文稿頁面中的所有對象,均已提前根據(jù)色彩分配的需要,如圖3 所示劃分成了不同的分組,每個分組里的對象至少有2 個,相同分組在操作過程中會被賦予同一種顏色。

圖2 供選擇演示文稿示例Fig.2 Sample presentation for selection

圖3 演示文稿對象劃分Fig.3 Presentation object partition
選擇第一排第二個演示文稿,獲取對象數(shù)量后,得到對象數(shù)為3,即需要進行配色的對象數(shù)量為3。
3.3.2 建立初始種群
這個功能,只有在第一步獲取了編碼組數(shù)后才變得有意義,點擊后,通過用戶可以手動修改的行列數(shù),生成相應(yīng)數(shù)量的初始種群。考慮到用戶的疲勞性,設(shè)定量一般在10-20 之間的小規(guī)模選擇區(qū)域。
點擊建立按鈕后,通過代碼創(chuàng)建出一個新的頁面,將之前選擇的演示文稿示例復(fù)制12 個,整齊排列在新頁面,并且根據(jù)對象分組的情況,在編碼范圍內(nèi),隨機生成12 個配色方案,形成初始種群如圖4 所示。用數(shù)字1-12 從第一排開始從右往左為每一個方案編號,以便于之后的選擇評分,所有編號順序格式如圖5 所示。

圖4 初始種群Fig.4 Initial population

圖5 編號順序Fig.5 Numbering sequence
3.3.3 用戶進行評價
用戶可以選擇一個方案,然后手動輸入得分值,確定后顯示出最新得分,則修改完成。也可以選擇多個對于用戶來講偏好度相同的方案同時進行評分,沒有選擇的方案直接按照默認值進行評分,每個方案的得分值,即為當(dāng)前方案的適應(yīng)度。重復(fù)操作,顯示出的第一代最終得分框如圖6 所示。

圖6 第1 代最終得分Fig.6 Final score of the first generation
3.3.4 種群換代
評價完成之后,種群換代按鈕被成功激活。
如圖7 所示,淘汰框的分值被設(shè)定為7.5 分,評價得分在7.5 分以下的方案將被淘汰,只留下高分群體,有利于算法的快速收斂。低分方案在淘汰之前,還有機會通過變異留下后代,變異率設(shè)置為0.03,點擊種群換代按鈕后,跳出提示框,種群換代成功。

圖7 種群換代成功Fig.7 Successful population replacement
3.3.5 展示新種群
種群換代提示成功后,并不會立馬展示出新種群,需要通過展示新種群按鈕,點擊后創(chuàng)建出一個新界面,實現(xiàn)新產(chǎn)生方案的展示,這個過程即為“解碼”。第一次操作后,展示出的新種群如圖8 所示。

圖8 第2 代種群Fig.8 The 2nd generation population
3.3.6 重復(fù)操作、尋找最優(yōu)
重復(fù)實現(xiàn)選擇、評分、種群換代操作,直到算法不停收斂。算法終止條件一般有兩種: (1)用戶找到最符合偏好的個體;(2)用戶疲勞,放棄尋優(yōu)。這樣既能考慮人的疲勞因素,又能方便地記錄找到最合適演示文稿經(jīng)過的進化代數(shù)。進化到第18 代,如圖9 所示,可以看到所有配色基本趨向于一個色調(diào)。

圖9 第18 代種群Fig.9 The 18th generation population
仔細觀察后發(fā)現(xiàn)很多方案配色十分接近,基本可以結(jié)束整個進化過程,從中直接選擇出用戶偏好的最優(yōu)選項。
在本次系統(tǒng)實驗過程中,手動選定了設(shè)計對象,并且根據(jù)需要建立了規(guī)模為12 的初始種群,用戶根據(jù)偏好及實際需要對種群中的某些方案進行評分,系統(tǒng)根據(jù)用戶輸入的變異幾率等自動進行遺傳操作,形成新種群。對新種群解碼后,向用戶展示出新種群的表現(xiàn)型,再重復(fù)進行用戶評分、系統(tǒng)遺傳操作。由于交互式遺傳算法優(yōu)化結(jié)果的不確定性,其最優(yōu)解是從一個區(qū)域到一個優(yōu)化區(qū)域,當(dāng)實驗到達第18 代時,基本收斂完成,獲得了最優(yōu)解集。本次實驗聯(lián)合了人工選擇和機器智能相結(jié)合的方法,以較少的代數(shù)盡快實現(xiàn)算法的收斂。
本文研究對象為演示文稿。通過對交互式遺傳算法的介紹,以及在演示文稿配色中應(yīng)用交互式遺傳算法進化求解的過程,對演示文稿的交互進化機制進行了研究。針對用戶在對演示文稿評價的過程中,對隨機產(chǎn)生的配色有一個認知的過程,而且用戶評價是屬于難以使用顯性函數(shù)表達的問題,本模型采用交互式遺傳算法來對用戶的評價進行分析進化,對使用交互式遺傳算法的實現(xiàn)進行了論述并建立了演示文稿配色設(shè)計模型。
數(shù)字技術(shù)與應(yīng)用2023年4期