〔摘 要〕本文在介紹交互式遺傳算法的基礎(chǔ)上,提出了基于交互式遺傳算法網(wǎng)站信息分類體系交互設(shè)計(jì)的基本思路;并采用JSP實(shí)現(xiàn)了MVC模式下網(wǎng)站信息分類體系交互設(shè)計(jì)程序。
〔關(guān)鍵詞〕交互式遺傳算法;MVC;信息分類體系
〔中圖分類號(hào)〕TP18;G257 〔文獻(xiàn)標(biāo)識(shí)碼〕B 〔文章編號(hào)〕1008-0821(2009)02-0123-03
Interactive Design of Websites Information Classification
Based on Interactive Genetic AlgorithmWu Sheng1,2 Zhang Zhiguang1 Zhang Changjiang1 Wu Qingqing2
(1.College of Economics and Management,Nanjing Forestry University,Nanjing 210037,China;
2.School of Computer Science and Technology,Xuzhou Normal University,Xuzhou 221116,China)
〔Abstract〕This paper introduced Interactive Design of Websites Information Classification based on Interactive Genetic Algorithm(IDWICIGA).After introducing Interactive Genetic Algorithm(IGA),this paper introduced main idea of the method IDWICIGA.This paper implemented the IDWICIGA program with JSP in MVC model.
〔Key words〕interactive genetic algorithm;MVC;information classification
網(wǎng)絡(luò)信息分類問題日益受到人們的關(guān)注[1]。網(wǎng)絡(luò)信息分類體系編制問題是網(wǎng)絡(luò)信息分類研究中的熱點(diǎn)之一[2-3]。網(wǎng)站是網(wǎng)絡(luò)信息的重要載體,網(wǎng)站信息分類體系質(zhì)量直接影響到網(wǎng)站的質(zhì)量,并影響到用戶對網(wǎng)站的評價(jià)和訪問。對網(wǎng)站信息分類體系的設(shè)計(jì)方法進(jìn)行研究不僅有理論意義,還有很強(qiáng)的應(yīng)用價(jià)值。
如何根據(jù)用戶需求設(shè)計(jì)信息分類體系是網(wǎng)站設(shè)計(jì)時(shí)需要解決的重要問題之一[4]。一些文獻(xiàn)曾用遺傳算法(Genetic Algorithm,GA)來解決網(wǎng)站設(shè)計(jì)中的問題;文獻(xiàn)[5]用遺傳算法和神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了對網(wǎng)站開發(fā)的優(yōu)化,文獻(xiàn)[6]用交互式遺傳算法(Interactive Genetic Algorithm,IGA)實(shí)現(xiàn)了對網(wǎng)站樣式和布局的交互設(shè)計(jì)。
交互式遺傳算法是一種新型遺傳算法,它通過讓用戶評估個(gè)體來替代適應(yīng)度函數(shù)值進(jìn)行自動(dòng)計(jì)算,通過交互體現(xiàn)了用戶的個(gè)性或用戶的興趣。交互式遺傳算法已成功地應(yīng)用到服裝設(shè)計(jì)、樂曲創(chuàng)作、網(wǎng)站結(jié)構(gòu)設(shè)計(jì)等領(lǐng)域[6-8]。于是,本文提出了基于交互式遺傳算法實(shí)現(xiàn)網(wǎng)站信息分類體系的交互設(shè)計(jì),讓用戶和程序一起交互地完成網(wǎng)站信息分類體系的設(shè)計(jì)。
1 基于IGA網(wǎng)站信息分類體系交互設(shè)計(jì)的思路
1.1 交互式遺傳算法簡介
用遺傳算法求解問題時(shí),需要先將問題可能解看作是群體(種群)中的個(gè)體,并將個(gè)體編碼成符號(hào)串形式(即染色體)。然后,模擬生物進(jìn)化過程對個(gè)體反復(fù)進(jìn)行雜交、變異等操作;并根據(jù)預(yù)定的適應(yīng)度函數(shù)評價(jià)每個(gè)個(gè)體,依據(jù)優(yōu)勝劣汰的進(jìn)化規(guī)則不斷得到新的種群。同時(shí),搜索種群中的最優(yōu)個(gè)體,求得滿足要求的最優(yōu)解。
GA采用一定的編碼技術(shù)構(gòu)造染色體;染色體是GA操作的基本對象。在GA執(zhí)行時(shí),每一代有許多個(gè)體同時(shí)存在。GA程序根據(jù)個(gè)體對環(huán)境的適應(yīng)能力來生成新種群中的個(gè)體,適應(yīng)能力強(qiáng)的個(gè)體有更多機(jī)會(huì)成為新種群中的個(gè)體。適應(yīng)能力的強(qiáng)弱通過適應(yīng)度函數(shù)f(x)的值來判別。適應(yīng)度函數(shù)f(x)的構(gòu)成與目標(biāo)函數(shù)有密切關(guān)系,往往是目標(biāo)函數(shù)的變種。
GA的遺傳操作有選擇(Selection)、雜交(Crossover)和變異(Mutation)等操作。選擇是從目前種群中選擇適應(yīng)能力強(qiáng)的個(gè)體從而產(chǎn)生新種群的過程。當(dāng)許多個(gè)體相同或后代個(gè)體與上一代沒有太大差別時(shí),可通過雜交來產(chǎn)生新一代個(gè)體。例如,有2個(gè)個(gè)體A和B,長度為6,A=a1a2a3a4a5a6,B=b1b2b3b4b5b6。經(jīng)雜交后可能變?yōu)锳′和B′:
A=a1a2a3|a4a5a6 A′=a1a2a3|b4b5b6
B=b1b2b3|b4b5b6B′=b1b2b3|a4a5a6
變異是以很小的概率改變個(gè)體中某個(gè)基因。變異與選擇、雜交結(jié)合在一起,能較好地保證GA的有效性。
交互式遺傳算法是在傳統(tǒng)遺傳算法基礎(chǔ)上發(fā)展起來的一種新型算法。交互式遺傳算法和一般遺傳算法的主要不同在于:IGA中使用用戶交互式評價(jià)代替?zhèn)鹘y(tǒng)GA中的適應(yīng)度函數(shù)來選擇個(gè)體。
1.2 網(wǎng)站信息分類體系交互設(shè)計(jì)的流程
根據(jù)交互式遺傳算法的特點(diǎn),基于IGA的網(wǎng)站信息分類體系交互設(shè)計(jì)流程如圖1所示。
具體來說,網(wǎng)站信息分類體系交互設(shè)計(jì)的步驟包括:(1)確定信息分類體系的個(gè)體編碼方法,形成初始種群。
圖1 基于IGA網(wǎng)站信息分類體系交互設(shè)計(jì)流程
(2)種群內(nèi)個(gè)體進(jìn)行相關(guān)遺傳操作。(3)用戶對每個(gè)個(gè)體(本文中為信息分類體系)進(jìn)行評分;若已經(jīng)有滿意的個(gè)體,則將其滿意度設(shè)置為最高,選擇“滿意”選項(xiàng),點(diǎn)擊“評分”按鈕;頁面如圖2所示。(4)在用戶評價(jià)的評分的基礎(chǔ)上,根據(jù)評分結(jié)果,顯示用戶滿意的個(gè)體(即一個(gè)網(wǎng)站信息分類體系)。圖2 網(wǎng)站信息分類體系交互設(shè)計(jì)時(shí)用戶評價(jià)個(gè)體的界面
2009年2月第29卷第2期現(xiàn)?代?情?報(bào)Journal of Modern InformationFeb.2009Vol.29 No.2
2009年2月第29卷第2期基于交互式遺傳算法的網(wǎng)站信息分類體系交互設(shè)計(jì)Feb.2009Vol.29 No.2
2 用JSP在MVC模式下的程序?qū)崿F(xiàn)
2.1 實(shí)現(xiàn)思路
考慮到模型——視圖——控制器(Model-View-Controller,MVC)模式的優(yōu)勢,本文用JSP實(shí)現(xiàn)網(wǎng)站信息分類體系交互設(shè)計(jì)程序時(shí)采用了MVC模式。MVC的原理是將系統(tǒng)分解為模型、視圖、控制器3個(gè)部分。其中,模型表示數(shù)據(jù)和處理數(shù)據(jù)的業(yè)務(wù)邏輯,視圖顯示數(shù)據(jù),控制器負(fù)責(zé)接受請求并交付處理。實(shí)現(xiàn)交互設(shè)計(jì)程序的主要文件信息如表1所示。
表1 主要文件相關(guān)信息
模式的要素主要文件的文件名文件的主要作用模型ModelWebBean.java
DBBean.java對遺傳算法相關(guān)參數(shù)的封裝
對數(shù)據(jù)庫訪問的封裝控制器ControllerYichuanServlet.java實(shí)現(xiàn)對文件的調(diào)用、分配視圖ViewtitleSel.jsp
titleOutput.jsp顯示個(gè)體信息,以便用戶交互評價(jià)
最優(yōu)個(gè)體(網(wǎng)站信息分類體系)的顯示
MVC模式下的模型要訪問數(shù)據(jù)庫,本程序中主要有biaoti、generation、temp三張表。biaoti表存儲(chǔ)分類體系的標(biāo)題,generation表存儲(chǔ)一個(gè)種群中每個(gè)個(gè)體的基因及其對應(yīng)的適應(yīng)值(用戶對各個(gè)個(gè)體的滿意度),temp表存儲(chǔ)一個(gè)種群中每個(gè)個(gè)體的基因。
2.2 關(guān)鍵代碼
2.2.1 titleOutput.jsp關(guān)鍵代碼:
geneStr=webbean.getBestGeneStr();
titleNum=webbean.getTitleNum();
……
int webId = webbean.getWebId();
for(int j=0;j<titleNum;j++){
str[j]=geneStr.substring(3*j,3*j+3);
sql=″select*from biaoti where id=′″+webId+(j+1)+str[j]+″′″;
rs=dbbean.executeQuery(sql);
if(rs.next())str[j]=rs.getString(″name″);
}
2.2.2 titleSel.jsp關(guān)鍵代碼:
<form action=″YiChuanServlet″method=″post″name=″tiltemain″id=″tiltemain″onSubmit=″return check();″>
<% titleNum=webbean.getTitleNum();
String[]str=new String[titleNum];
for(i=0;i<4;i++){
for(int j=0;j<titleNum;j++){
str[j]=geneStr[i].substring(3*j,3*j+3);
sql=″select*from biaoti where id=′″+webId+(j+1)+str[j]+″′″;
rs=dbbean.executeQuery(sql);
if(rs.next())str[j]=rs.getString(″name″);
}
}
for(i=0;i<4;i++){
for(int j=0;j<titleNum;j++){
str[j]=geneStr[i+4].substring(3*j,3*j+3);
sql=″select*from biaoti where id=′″+webId+(j+1)+str[j]+″′″;
rs=dbbean.executeQuery(sql);
if(rs.next()){
str[j]=rs.getString(″name″);
}
%>
2.2.3 YichuanServlet.java關(guān)鍵代碼:
this.getServletContext().setAttribute(″SaveTitleNum″,new TitleSelectCommand1(″∥titleSel.jsp″));
this.getServletContext().setAttribute(″TitleSelect″,new TitleSelectCommand2(″∥titleSel.jsp″));
……
this.getServletContext().setAttribute(″GA″,new GACommand(″∥showGAResult.jsp″));
2.2.4 WebBean.java屬性:
private int[] fitness=new int[8];
private String[] geneStr=new String[8];
private String[] tempStr=new String[8];
private String bestGeneStr=1;
private static String[] titlename=new String[40];
private int len=0;
private int titleNum=1;
private int webId=1;
private int daiShu=1;
private final double pc=0.5;∥雜交率
private final double pm=0.05;∥變異率
3 結(jié) 論
本文提出了基于交互式遺傳算法的網(wǎng)站信息分類體系交互設(shè)計(jì),并采用JSP實(shí)現(xiàn)了MVC模式下的網(wǎng)站信息分類體系交互設(shè)計(jì)程序;為設(shè)計(jì)網(wǎng)站信息分類體系提供了一種新的思路。
參考文獻(xiàn)
[1]吳禮志.網(wǎng)絡(luò)信息分類體系研究進(jìn)展[J].圖書館學(xué)研究,2004,(2):54-57.
[2]謝琳惠.網(wǎng)絡(luò)信息分類組織研究的重點(diǎn)、熱點(diǎn)及其他[J].大學(xué)圖書館學(xué)報(bào),2006,(2):103-106.
[3]狄九風(fēng).網(wǎng)絡(luò)信息分類組織研究的六大熱點(diǎn)[J].現(xiàn)代情報(bào),2005,(10):64-66.
[4]石曉華,王春芳.網(wǎng)絡(luò)信息分類與傳統(tǒng)分類法的優(yōu)劣分析——兼談構(gòu)建《中國網(wǎng)絡(luò)信息分類法》[J].圖書館理論與實(shí)踐,2001,(1):43-45.
[5]閔惜琳.人工神經(jīng)網(wǎng)絡(luò)結(jié)合遺傳算法對網(wǎng)站開發(fā)優(yōu)化的應(yīng)用[J].系統(tǒng)工程,2007,25(2):22-26.
[6]Oliver A,Monmarché N,Venturini G.Interactive design of web sites with a genetic algorithm[C].Proceedings of the IADIS International Conference WWW/Internet,2002.http:∥citeseer.ist.psu.edu/556162.html[EB/OL].2007-12-13.
[7]Takagi H.Interactive evolutionary computation:Fusion of the capabilities of EC optimization and human evolution[C].San Diego:Proceedings of the IEEE,2001,89(9):1275-1296.
[8]Kim H S,Cho S B.Application of interactive genetic to fashion design[J].Engineering Applications of Artificial Intelligence,2000,13(6):635-644.