謝印寶



摘? 要:針對傳統試題庫資源容易枯竭和命題效率低下的問題,結合操作系統課程的考核大綱,提出了基于多智能代理試題庫的設計思想和利用可視化開發工具Visual FoxPro 9.0的實現方法。首先建立操作系統基本概念和算法的數學模型,然后定義并編寫模型的Agent函數,從而實現自動生成試題及答案與評分標準的功能。通過引入動態難度系數和相似度,實現了難度、題型和算法相似的一試多卷或一人一卷的命題考試,有效地避免了考試作弊現象。數據庫設計采用經典的企業建模工具PowerDesigner。實驗結果表明,其在考試命題中具有方便、快速、長效、實用、一試多卷的特點。通過學生考試成績統計分析,總分標準差為2.97,體現了考試的公平性。
關鍵詞:多Agent;試題庫;操作系統課程;智能計算機輔助教學;管理信息系統
中圖分類號:TP391.6? ? ?文獻標識碼:A
Design and Implementation of Test Question Bank based on Multi-agent Technology
XIE Yinbao
(School of Computer Science and Technology, Shandong University of Technology, Zibo 255049, China)
xieyinbao@163.com
Abstract: This paper proposes to design a test question bank based on multi-agent technology and then implement it by using visual development tool Visual FoxPro 9. The proposed bank is designed by combing assessment syllabus of the operating system course, and aims to solve problems of traditional test question bank, such as easily-exhausted questions, low-efficient proposition. First, mathematical model of the basic concepts and algorithms of the operating system is established, and then Agent function of the model is defined and written, so as to automatically generate test questions, answers and scoring standards. Dynamic difficulty coefficient and similarity are introduced to realize a multi-paper or one-person-one-volume proposition test with similar difficulty, question type and algorithm, effectively avoiding exam cheating. Classic enterprise modeling tool PowerDesigner is used for database design. The experimental results show that in proposition, the proposed test question bank is convenient, fast, long-term, practical, and has the characteristics of multiple papers in one test. Through statistical analysis of students' test scores, the standard deviation of the total score is 2.97, which reflects fairness of the test.
Keywords: multi-agent; test question bank; operating system course; intelligent computer-assisted teaching; management
information system
1? ?引言(Introduction)
試題庫命題已經成為計算機輔助教學的重要組成部分,命題的質量和考試效果取決于試題庫中試題的數量、題型、難度和分類方法等因素[1]。國內外許多高校都已研發或購買了相關課程的試題庫,但是由于專業課程和教學大綱的差異,在實際應用中存在三個問題:第一,題庫資源枯竭,即題庫中試題數量有限,隨著時間推移,試題重復率越來越高,加上維護成本高,有的甚至被放棄[2]。第二,命題過程煩瑣。第三,無難度系數相同、相似度高的一試多卷或一人一卷的多智能體(Multi-Agent, MA)命題模式。另一方面,從2009年起,計算機科學與技術學科實行計算機學科專業基礎綜合課全國碩士研究生入學統一考試,操作系統知識約占23%,重要性毋庸置疑。其考核越來越側重基礎知識應用能力的考查,主要分為兩類題型:單項選擇題和綜合應用題。為此,本文針對計算機科學與技術專業的核心課程之一——操作系統進行設計并實現了基于MA的操作系統試題庫,簡稱OS-Agent(Operating System-Agent)。從2013年使用OS-Agent進行一試多卷或一人一卷命題考試,并不斷地進行完善,涉及60多個教學班近1,000 套試題,教學效果優良,同時對其他相似課程的試題庫建設具有一定的借鑒作用。
2? ?OS-Agent系統設計(OS-Agent system design)
2.1? ?體系結構
OS-Agent主要由n個模型命題Agent和組卷輸出Agent構成。模型命題Agent命名為M_Agent_i (i=1,…,n),如圖1所示。
OS-Agent屬于MA系統(MAS),與單Agent相比,MAS具有更顯著的自制性和協作性特點,可以更好地滿足命題多樣化的需求[3-5]。組卷輸出Agent主要根據試卷參數和歷史數據,從模型命題Agent已經產生的試題數據庫中進行自主性組卷并輸出,如根據總分要求確定試題的數量,變化試題順序,自主設置試卷頁面、試卷信息等,最后完成試卷打印的功能。
2.2? ?數學模型
OS-Agent命題模型定義為如下五元式[6]:
定義1 (Variables)是所有參變量組成的集合,稱為參變量集。
定義2 是自變量組成的集合,且,稱為自變量集。
定義3 是因變量組成的集合,且,稱為因變量集。
定義4 (Algorithm)是算法組成的集合,,,x通過算法f計算或確定y,記為,稱為算法集。
定義5 (Domain)是可取值的范圍或集合,稱為域值。
建立數學模型的算法如下:
Step 1? 依據課程教學考試大綱,確定模型;
Step 2? 確定和;
Step 3? 通過隨機函數選定;
Step 4? 根據Step 3選定的確定和,滿足;
Step 5? 通過隨機函數給賦值并由求出值;
Step 6? 如果是選擇題,由隨機函數產生在A、B、C、D中的位置;
Step 7? 統一命名M_Agent_i(i=1,…,n)。
2.3? ?實例
依據計算機學科專業基礎綜合課全國碩士研究生入學統一考試中關于操作系統的考核大綱,根據文獻[7]—文獻[10],目前歸納基本概念模型30個,如操作系統設計目標模型、功能模型和特征模型等,主要用于概念完形填空題命題,隨機考核一個屬性;單個重點知識點模型10個,如存儲器分配模型、地址變換模型、有效訪問時間模型、緩沖管理模型和磁盤傳輸時間模型等,主要用于選擇題命題;綜合知識點模型6 個,如進程同步模型、三級調度模型、避免死鎖模型、頁面置換模型、磁盤管理模型和文件物理結構模型,主要用于綜合題命題。當然,模型可以根據考試大綱動態地增加或減少,特別是添加、修改、刪除和檢索基本概念模型可以通過對數據表的操作完成。
編寫模型的Agent函數,統一命名格式為M_Agent_i,如頁面置換模型對應的函數名為M_Agent_44,即當進行Agent命題時,調用函數M_Agent_44( )就能根據用戶確認的命題信息自動完成該模型生成試題、自動求解過程,同時將試題及答案與評分標準保存到OS-Agent相關數據庫中。在OS-Agent中,每個函數都是一個Agent個體,具有自主性和高度智能化,因此Agent命題亦稱為智能命題,詳見用戶界面設計。
實例1 若為有效訪問時間模型,問題和模型描述如下:
一個具有快表的分頁系統中,一次訪問內存(Access Memory)的時間是100 ns,訪問快表的時間是20 ns,設從快表中能找到所需頁表項(頁描述子)的概率(Hit Ratio)為80%,計算CPU存取一個數據時的有效訪問時間(Effective Access Time)[8]。
其中,表示一次訪問內存的時間,表示訪問快表的時間,表示從快表中能找到所需頁表項(頁描述子)的概率,表示CPU存取一個數據時的有效訪問時間。
其中,分別定義為:
,,
針對以上問題,確定,,即,,,。
實例2 OS-Agent調用頁面置換模型函數M_Agent_44( ),顯示的試題如圖2所示。
針對圖2中的問題,其模型描述如下:
其中,表示進程P分配的物理塊個數,表示預先裝入主存的頁面個數,依次表示預先裝入主存的頁面且,表示頁面訪問串的長度,依次表示頁面訪問串中的頁面且,表示缺頁中斷次數,表示頁面置換次數,表示依次被置換的頁面且。
其中,分別定義為、、三種需要重點掌握的頁面置換算法。
函數M_Agent_44( )自動求解并給出答案與評分標準,如圖3所示。
2.4? ?數據庫設計
OS-Agent數據庫設計首先要充分體現Agent的智能化特征,同時考慮系統的通用性和數據庫的優化[11-14]。根據PowerDesigner的概念數據模型建立數據庫OS_AgentD.dbc,共創建六個數據表:存儲難度系數、相似度、考核性質等選項的臨時表agent_temp.dbf;命題教師表agent_teacher.dbf、授課班級表agent_class.dbf、學期表agent_term.dbf;存儲
M_Agent_i( )命題及答案與評分標準數據表agent_test.dbf,如表1所示;存儲基本概念模型的數據表OSBC_cloze.dbf[6]。限于篇幅,只給出了主要數據表的結構,Fields Name命名原則是便于在循環結構中使用。
3? 關鍵技術和實現方法(The key technology and implementation method)