A Kết quả phân loại câu hỏi môn KTLT và CTDL&GT
4.24 Ví dụ về xác suất xuất hiện của câu hỏi
Câu hỏi 1 15% Câu hỏi 2 12% Câu hỏi 3 30% Câu hỏi 4 5% Câu hỏi 5 8% Câu hỏi 6 30%
Sau khi tìm ra xác suất xuất hiện của từng câu hỏi, công việc tiếp theo cần làm là lựa chọn ngẫu nhiên một câu hỏi. Nhóm thực hiện biến đổi xác suất của mỗi câu thành tổng tích lũy của các xác suất như sau:
Bảng 4.25:Ví dụ tổng xác suất tích lũy của các câu hỏi
Câu hỏi 1 2 3 4 5 6
Xác suất xuất hiện 0.15 0.12 0.30 0.05 0.08 0.30
Tổng tích luỹ xác suất 0.15 0.27 0.57 0.62 0.70 1.00
Để lựa chọn câu hỏi, ta sẽ sinh ngẫu nhiên một số thực x trong nửa khoảng[0−1), chọn câu
hỏi có tổng tích lũylớn hơn x và gần x nhất. Ví dụ:
1. x = 0.05 => chọn câu hỏi 1. 2. x = 0.63 => chọn câu hỏi 5.
Giải thuật gợi ý câu hỏi gồm giải thuật tính xác suất xuất hiện của mỗi câu hỏi (Thuật toán 1) và giải thuật chọn câu hỏi gợi ý (Thuật tốn 2).
Algorithm 1:Tính xác suất xuất hiện của các câu hỏi.
Input:
ques_times[]: Mảng các thời điểm nộp bài của lần nộp bài cuối cùng của các câu
hỏi. Nếu câu hỏi vẫn chưa được làm thì thời điểm có giá trị là -1.0.
Output:
Mảng các xác suất xuất hiện của các câu hỏi.
begin
N←−ques_scores.length;
currentTime←−GET_CU RRENT_T IME();
s[N]; /* create new array s of size N */
fori=0toN−1do
ifques_times[i] ==−1then s[i]←− −1;
else s[i]←−currentTime−ques_times[i];
end
maxS←−MAX(s);
fori=0toN−1do
ifs[i] ==−1then s[i] =maxS∗2; /* Unassigned question */
end
/* Calculate the probabilities */;
sumS←−SU M(s); p[N];
fori=0toN−1do p[i]←−s[i]/sumS;
return p;
Algorithm 2:Chọn câu hỏi gợi ý.
Input:
p[]: Mảng các xác suất xuất hiện của các câu hỏi. Output:
Chỉ số của câu hỏi được đề xuất.
begin
cumSumP[N];
cumSumP[0]←−p[i];
fori=1toN−1documSumP[i]←−cumSumP[i−1] +p[i]; idx←−0;
/* Randomly generates a floating-point in [0−1) */
x=RANDOM_FLOAT(0,1);
whilex>=cumSumP[idx]do idx+ +;
returnidx
end
4.3.11 Thiết kế tính năng gợi ý câu hỏi
Trong mục này, nhóm tác giả sẽ trình bày tính năng gợi ý câu hỏi dựa trên những mô tả trong 2 mục trước. Sơ đồ hoạt động (activity diagram) của tính năng được mơ tả trong hình 4.25.