日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

基于遗传算法实现自动组卷

發(fā)布時(shí)間:2024/4/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于遗传算法实现自动组卷 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)自?http://www.cnblogs.com/liulang/articles/1614311.html

1? 遺傳算法介紹

1.1 遺傳算法概要

??? 遺傳算法是模擬達(dá)爾文的遺傳選擇和自然淘汰的生物進(jìn)化過程的計(jì)算模型,是一種通過模擬自然進(jìn)化過程搜索最優(yōu)解的方法,它是用來(lái)解決多約束條件下的最優(yōu)問題。

??? 遺傳算法是從代表問題可能潛在的解集的一個(gè)種群開始的,而一個(gè)種群則由經(jīng)過基因編碼的一定數(shù)目的個(gè)體組成。每個(gè)個(gè)體實(shí)際上是染色體帶有特征的實(shí)體。染色體作為遺傳物質(zhì)的主要載體,即多個(gè)基因的集合,它決定了個(gè)體的形狀的外部表現(xiàn)。因此,在一開始需要實(shí)現(xiàn)從表現(xiàn)型到基因型的映射即編碼工作。由于仿照基因編碼的工作很復(fù)雜,往往進(jìn)行簡(jiǎn)化,如二進(jìn)制編碼,初始種群產(chǎn)生之后,按照適者生存和優(yōu)勝劣汰的原理,逐代演化產(chǎn)生出越來(lái)越好的近似解,在每一代,根據(jù)問題域中個(gè)體的適應(yīng)度大小挑選個(gè)體,并借助于自然遺傳學(xué)的遺傳算子進(jìn)行組合交叉和變異,產(chǎn)生出代表新的解集的種群。這個(gè)過程將導(dǎo)致種群像自然進(jìn)化一樣的后生代種群比前代更加適應(yīng)于環(huán)境,末代種群中的最優(yōu)個(gè)體經(jīng)過解碼,可以作為問題近似最優(yōu)解。

??? 遺傳算法提供了一種求解復(fù)雜系統(tǒng)優(yōu)化問題的通用框架。它不依賴于問題的具體領(lǐng)域,對(duì)問題的種類有很強(qiáng)的魯棒性,所以廣泛應(yīng)用于很多學(xué)科。遺傳算法的主要應(yīng)用領(lǐng)域有:函數(shù)優(yōu)化、組合優(yōu)化、生產(chǎn)調(diào)度問題、自動(dòng)控制、機(jī)器人自動(dòng)控制、圖像處理和模式識(shí)別、人工生命、遺傳程序設(shè)計(jì)、機(jī)器學(xué)習(xí)。

1.2 遺傳算法的基本操作

??? 遺傳算法有三個(gè)基本操作:選擇、交叉、變異。這些操作又有不同的方法來(lái)實(shí)現(xiàn)。

??? (1)選擇。選擇是用來(lái)確定重組或交叉的個(gè)體,以及被選個(gè)體將產(chǎn)生多少子個(gè)體。首選計(jì)算適應(yīng)度:按比例的適應(yīng)度計(jì)算;基于排序的適應(yīng)度計(jì)算。適應(yīng)度計(jì)算之后是實(shí)際的選擇,按照適應(yīng)度進(jìn)行父代個(gè)體的選擇。可以挑選以下算法:輪盤賭選擇、隨機(jī)遍歷抽樣、局部選擇、截?cái)噙x擇、錦標(biāo)賽選擇。

??? (2)交叉?;蛑亟M是結(jié)合來(lái)自父代交配種群中的信息產(chǎn)生新的個(gè)體。依據(jù)個(gè)體編碼表示方法的不同,可以有以下的算法:實(shí)值重組;離散重組;中間重組;線性重組;擴(kuò)展線性重組。二進(jìn)制交叉、單點(diǎn)交叉、多點(diǎn)交叉、均勻交叉、洗牌交叉、縮小代理交叉。

??? (3)變異。交叉之后子代經(jīng)歷的變異,實(shí)際上是子代基因按小概率擾動(dòng)產(chǎn)生的變化。依據(jù)個(gè)體編碼表示方法的不同,可以有以下的算法:實(shí)值變異、二進(jìn)制變異。

2? 自動(dòng)組卷的實(shí)現(xiàn)

??? 自動(dòng)組卷是根據(jù)用戶給定的約束條件(總時(shí)間、難度系數(shù)、考試時(shí)間、考試章節(jié)、題型比例等),搜索試題庫(kù)中與特征參數(shù)相匹配的試題,從而抽取最優(yōu)的試題組合。由此可見,自動(dòng)組卷問題是一個(gè)具有多重約束的組合優(yōu)化問題。

??? 傳統(tǒng)的遺傳算法存在搜索后期效率低和易形成末成熟收斂的情況。根據(jù)具體情況和需求分析要求,對(duì)遺傳算法進(jìn)了稍微改進(jìn),表現(xiàn)為采用實(shí)數(shù)編碼、分段交叉、有條件生成初始種群。具體解決方案如下。

2.1 染色體編碼及初始群體的設(shè)計(jì)

??? 用遺傳算法求解問題, 首先要將問題的解空間映射成一組代碼串,即染色體的編碼問題。在傳統(tǒng)的遺傳算法中采用二進(jìn)制編碼。用二進(jìn)制編碼時(shí),題庫(kù)里的每一道題都要出現(xiàn)在這個(gè)二進(jìn)制位串中,1表示該題選中,0表示該題未被選中。這樣的二進(jìn)制位串較長(zhǎng),且在進(jìn)行交叉和變異遺傳算子操作時(shí),各種題型的題目數(shù)量不好控制。采用實(shí)數(shù)編碼方案,將一份試卷映射為一個(gè)染色體,組成該試卷的每道題的題號(hào)作為基因,基因的值直接用試題號(hào)表示,每種題型的題號(hào)放在一起,按題型分段,在隨后的遺傳算子操作時(shí)也按段進(jìn)行,保證了每種題型的題目總數(shù)不變。比如,要組一份《C語(yǔ)言程序設(shè)計(jì)》試卷,其選擇題5道,填空題5道,簡(jiǎn)答題3道,則染色體編碼是:

(10、76、23、52、101 | 52、36、67、11、123 | 99、85、45)

選擇題?????????????? 填空題?????????? 簡(jiǎn)答題

??? 試卷初始種群不是采用完全隨機(jī)的方法產(chǎn)生,而是根據(jù)題型比例、總分、答題時(shí)間、知識(shí)點(diǎn)不重復(fù)、不考章節(jié)等要求隨機(jī)產(chǎn)生,使得初始種群一開始就滿足了題型、總分、答題時(shí)間和知識(shí)點(diǎn)等要求。這樣加快遺傳算法的收斂并減少迭代次數(shù),由于不同的題型是從不同的題型表中取出,有可能在同一個(gè)基因串中會(huì)出現(xiàn)相同的試題編號(hào),因它們屬于不同題型,故這種情況是正常的,不影響組卷。采用分組實(shí)數(shù)編碼,可以克服以往采用二進(jìn)制編碼搜索空間過大和編碼長(zhǎng)度過長(zhǎng)的缺點(diǎn),同時(shí)取消了個(gè)體的解碼時(shí)間,提高了求解速度。

2.2 適應(yīng)度函數(shù)的設(shè)計(jì)

??? 適應(yīng)度函數(shù)是用來(lái)評(píng)判試卷群體中個(gè)體的優(yōu)劣程度的指標(biāo),遺傳算法利用適應(yīng)度值這一信息來(lái)指導(dǎo)搜索方向,而不需要適應(yīng)度函數(shù)連續(xù)或可導(dǎo)以及其它輔助信息。因?yàn)闀r(shí)間、章節(jié)等要求在初始化種群時(shí)已經(jīng)考慮,這里只剩下難度系數(shù)要考慮的了。所以適應(yīng)度函數(shù)由試卷難度系數(shù)公式轉(zhuǎn)換而成。試卷難度系數(shù)公式:P=∑Di×Si/∑Si;其中i=1,2,....N,N是試卷所含的題目數(shù),Di,Si分別是第i題的難度系數(shù)和分?jǐn)?shù)。用戶的期望難度系數(shù)EP與試卷難度系數(shù)P之差f越小越好,f=|EP-P|, 而適應(yīng)度函數(shù)是值越大越好,因此將目標(biāo)函數(shù)f轉(zhuǎn)換成適應(yīng)度函數(shù)F=e-0.03f,這種采用加權(quán)誤差的適應(yīng)度函數(shù)可以較好地反映求解組卷問題的特征,當(dāng)試卷個(gè)體對(duì)各項(xiàng)組卷約束條件的誤差越小時(shí),它的適應(yīng)度函數(shù)值就越大,則表示試卷個(gè)體越接近卷目標(biāo)。

2.3 遺傳算子的設(shè)計(jì)

??? (1)選擇算子。選擇算子的作用在于根據(jù)個(gè)體的優(yōu)劣程度決定它在下一代是被淘汰還是被復(fù)制。通過選擇,將使適應(yīng)度高的個(gè)體有較大的生存機(jī)會(huì)。本系統(tǒng)采用輪盤賭方法,它是目前遺傳算法中最常用也是最經(jīng)典的選擇方法。其具體實(shí)現(xiàn)為:規(guī)模為M的群體P={a1、a2、… am} ,其被選擇概率為:?? (2)交叉算子。由于在編碼時(shí)采用的是分段實(shí)數(shù)編碼,所以在進(jìn)行交叉時(shí)采用分段單點(diǎn)交叉(按題型分段來(lái)進(jìn)行交叉),整個(gè)染色體就表現(xiàn)為多點(diǎn)交叉。交叉的實(shí)現(xiàn)過程:將群體中的染色體任意進(jìn)行兩兩配對(duì),對(duì)每對(duì)染色體產(chǎn)生一個(gè)[0, 1 ]的隨機(jī)數(shù)r,若r≤pc(據(jù)經(jīng)驗(yàn),pc值取0.6到0.8),則分段隨機(jī)產(chǎn)生一個(gè)交叉點(diǎn),然后分段進(jìn)行互換以得到下一代。


??? 交叉后生成的子代有可能因存在重復(fù)的題號(hào)而非法。出現(xiàn)這種情況要將出現(xiàn)的題號(hào)換成該段中沒有出現(xiàn)過的題號(hào),這樣重新得到新子代。

??? (3)變異算子。在遺傳算法中,變異概率一般較小。這里不分段進(jìn)行變異,而是只對(duì)某段上的某個(gè)基因進(jìn)行變異。對(duì)某個(gè)染色體,隨機(jī)生成一個(gè)[0,1]范圍內(nèi)的實(shí)數(shù)r,若r≤pm(據(jù)經(jīng)驗(yàn),pm值取0.01到0.02),則對(duì)該染色體進(jìn)行變異,否則不進(jìn)行變異。變異的操作如下:在[1,n]范圍內(nèi)隨機(jī)生成一個(gè)段號(hào)f,設(shè)該段的段長(zhǎng)為L(zhǎng),則在[1,L]范圍內(nèi)隨機(jī)生成一個(gè)變異位置P,以一定的原則從題庫(kù)中選擇一個(gè)變異基因,變異基因的選擇原則為:與原基因題型相同的;滿足答題時(shí)間相同;考試章節(jié)相同等要求。

2.4 算法的實(shí)現(xiàn)偽代碼及實(shí)施流程圖

??? 確定參數(shù):最大代數(shù)Max,群體規(guī)模N, 交叉概率pc,變異概率pm, 輸入用戶的組卷要求。算法實(shí)施流程如圖1所示。

?

?

?圖1? 算法實(shí)施流程圖


2.5 界面設(shè)計(jì)與實(shí)現(xiàn)結(jié)果

??? 系統(tǒng)試題庫(kù)是C 語(yǔ)言試題。試題庫(kù)中現(xiàn)有單選題、填空題、判斷題、程序設(shè)計(jì)題、簡(jiǎn)答題等。群體規(guī)模設(shè)為20,算法執(zhí)行的最大迭代次數(shù)設(shè)為200, 交叉概率Pc設(shè)為0.7,變異概率Pm 設(shè)為0.015。

??? 組卷的具體要求:試卷總分100,用時(shí)120min,試卷難度系數(shù)0.6,不考章節(jié)1.2。組卷結(jié)果表明,在進(jìn)化到120代左右時(shí)即可生成一份滿意的試卷且誤差比較小,改進(jìn)的遺傳算法降低了組卷問題的求解難度,組卷效率高、成功率高;且算法對(duì)初值不敏感,具有較好的魯棒性。在初始試卷生成之后,對(duì)有必考題要求,可以在試卷生成界面添加必考題。3? 結(jié)束語(yǔ)

?? ?本文利用遺傳算法研究了實(shí)動(dòng)自動(dòng)組卷。實(shí)踐的結(jié)果表明,在滿足約束條件的同時(shí),該方法能較快地組成一份試卷。同時(shí),遺傳算法在其它方面的應(yīng)用,值得繼續(xù)研究、應(yīng)用。?

另:?

http://wenku.baidu.com/view/4ecb43e79b89680203d82557.html

轉(zhuǎn)載于:https://www.cnblogs.com/LoriMoon/archive/2010/12/10/1902144.html

總結(jié)

以上是生活随笔為你收集整理的基于遗传算法实现自动组卷的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美色综合天天久久综合精品 | 青草精品在线 | 波多野结衣a v在线 欧洲免费av | av网站在线播放 | 性猛╳xxx乱大交 | 亚洲美女在线观看 | 国产精品久久久91 | 国产无套粉嫩白浆内谢 | 国产精选一区二区三区 | 亚洲熟女乱色综合亚洲av | 成人午夜激情影院 | 欧美色图13p | 欧美午夜精品久久久 | 午夜亚洲视频 | 欧美色妞网| 亚洲成人久久久久 | 欧美色乱 | 性欧美18—19sex性高清 | 欧美色图亚洲色 | 亚洲av综合色区无码二区爱av | 亚洲乱码国产乱码精品精大量 | 国产欧美激情 | 痴汉电车在线播放 | 亚洲美女在线观看 | 日韩毛片在线视频 | 奇米777视频 | 深夜天堂 | 国产精品对白刺激久久久 | 久久午夜夜伦鲁鲁片无码免费 | 日韩久久久久久久久久久 | 亚洲图片 欧美 | 亚洲免费av片 | 免费在线观看不卡av | 欧美色狠 | 国产裸体美女永久免费无遮挡 | sao虎视频在线精品永久 | 麻豆精品91 | 一区二区不卡在线观看 | 黄色av毛片 | 黄色免费视频 | 视频区小说区 | 国产成人精品一区二区三区免费 | 女女同性被吸乳羞羞 | 久久美女精品 | 日韩久久网 | 成人黄色动漫在线观看 | 欧美不卡视频在线观看 | 久草精品视频在线观看 | 99视频导航 | 久久99国产精品成人 | 人人干人人舔 | 国产精品久久久亚洲 | 四虎国产成人精品免费一女五男 | 美女一级黄 | 国产高潮白浆 | 黄色777| 国产国语对白 | 日韩精品一区二区三区av | 午夜国产| 蜜乳av一区| 精品免费在线视频 | 欧美一级一区二区 | 久久成年 | 日韩欧美中文 | 国产成人在线一区 | 日韩成人无码影院 | 国产精品成人无码专区 | 亚洲综合精品一区 | 人人干超碰 | www.成人在线观看 | 国产成人在线影院 | 亚洲黄色在线看 | 国产三级中文字幕 | 欧美日韩精品一区二区三区视频播放 | 一级特级毛片 | a免费观看 | 亚洲天堂777 | av不卡一区二区 | 日韩精品一区二区三区久久 | 免费看又黄又无码的网站 | 插插宗合网 | 九色视频网站 | 久久久久99 | 国产精品日日摸天天碰 | 免费久久久久久 | 欧洲精品在线播放 | 国产一区二区精品在线观看 | 深夜福利免费视频 | 亚洲精品乱码久久久久久自慰 | 国产免费黄色片 | 91日本在线观看 | 97人人视频 | 久久久蜜桃一区二区人 | 亚洲高清福利 | 美女视频黄的免费 | 中日韩精品视频在线观看 | 欧美极品在线播放 | babes性欧美69| 中国亚洲老头同性gay男男… |