Trước khi trình bày các đề xuất về qui trình xây dựng tiến trình học ứng viên. Chúng tôi định nghĩa tiến trình học ứng viên:
Định nghĩa 11: Tiến trình học ứng viên đáp ứng tiêu chí wx trong số các tiến trình học V ={vs, vi, . . . , vj, ve} là tiến trình học thỏa mãn điều kiện:
e X wx→min hoặc e X wx →max (3.16)
Quá trình xây dựng tiến trình học ứng viên là quá trình tìm đường đi trong đồ thị kiến thức từ khái niệm, nhiệm vụ mở đầu đến khái niệm, nhiệm vụ mục tiêu. Chúng tôi lựa chọn và sử dụng các thuật toán tìm kiến trên đồ thị để tìm đường đi. Trong số các thuật toán tìm kiếm trên đồ thị, chúng tôi lựa chọn thuật toán tìm kiếm theo kinh nghiệm A* [74]. Chúng tôi lựa chọn áp dụng thuật toán A* để tìm tiến trình học ứng viên bởi các lý do sau đây:
- Bài toán xây dựng tiến trình học ứng viên là bài toán tối ưu tìm kiếm đường đi đến một nút đích (Khái niệm, nhiệm vụ) trong đồ thị kiến thức thỏa mãn điều kiện đích.
- Việc đánh giá, xếp loại từng đỉnh trong đồ thị với ước lượng về đường đi tốt nhất qua đỉnh đó cần đánh giá theo kinh nghiệm (Đánh giá chi phí biểu diễn sự phụ thuộc từng thuộc tính giữa các khái niệm, nhiệm vụ chủ yếu dựa vào kinh nghiệm của giáo viên, hay người thiết kế nội dung khóa học).
- Thuật toán A* luôn tìm được lời giải nếu bài toán có lời giải, nói cách khác thuật toán A* là thuật toán đầy đủ [74].
- Chỉ xét tập khái niệm, các nhiệm vụ Ti. Các nhiệm vụ thành phần Tij của nhiệm vụ Ti không xem xét trong việc thích nghi theo mục tiêu, nhu cầu của người học. Vì vậy chắc chắn tìm được đường đi tối ưu.
Trong khuôn khổ luận án, chúng tôi không giới thiệu lại thuật toán A*, mà tập trung trình bày ứng dụng thuật toán A* trong việc tìm tiến trình học ứng viên. Để tìm đường đi ngắn nhất, thuật toán A* lưu trữ tập đường đi chưa hoàn chỉnh bắt đầu từ đỉnh xuất phát. Ý tưởng thuật toán sử dụng hàng đợi ưu tiên lưu trữ tập đường đi. Thứ tự ưu tiên xét các các đường đi chưa hoàn chỉnh qua đỉnh x trong đồ thị được quyết định thông qua hàm:
f(x) =g(x) +h(x) (3.17)
Với g(x): chi phí của đường đi qua đỉnh x đến thời điểm hiện tại
h(x): chi phí nhỏ nhất (đánh giá theo kinh nghiệm) để đến đích từ đỉnh x
Vấn đề cần giải quyết là xác định hàm kinh nghiệm h(x). Hàm h(x) được lựa chọn phù hợp với từng bài toán, từng không gian trạng thái tìm kiếm. Các nghiên cứu của Rusell [67], Hart [75] đã chứng minh: Hàm h là hàm thu nạp được (admissible) nếu với
∀v, v0 trong đó v là đỉnh cha của v’ có h(v)≤g(v0)−g(v) +h(v0).
Để phù hợp với bài toán tìm kiếm của mình, chúng tôi thực hiện lựa chọn xác định giá trị của hàmh(x). Cơ sở để chúng tôi xác định hàmh(x) là xác suất để hiểu khái niệm
hay hoàn thành mục tiêu (ký hiệu target) khi hiểu khái niệm hay hoàn thành nhiệm vụ x. Cụ thể, hàm h(x) được xác định thông qua mệnh đề dưới đây:
Mệnh đề 3:Hàm h(x) xác định chi phí nhỏ nhất để hiểu được khái niệm hay hoàn thành nhiệm vụ mục tiêu target, khi người học đã hiểu khái niệm hay hoàn thành nhiệm vụ x được tính theo công thức:
h(x) = (1−p(target|x))∗100 (3.18)
Trong công thức (3.18), p(target|x) cho biết xác suất để hiểu được khái niệm hay hoàn thành nhiệm vụ target khi hiểu khái niệm hay hoàn thành nhiệm vụ x. Chúng tôi nhân giá trị 100 để làm tròn số trong quá trình tính toán.
Tiếp theo chúng tôi chứng minh hàm h(x) được định nghĩa như trong công thức (3.18) là hàm thu nạp được.
Chứng minh:
Xét trường hợp, quan hệ phụ thuộc giữa đỉnh A→B với A là đỉnh xuất phát,B là đỉnh đích. Ta có:
g(A) = 0 vì A là đỉnh xuất phát
h(A) = (1−p(B))∗100 theo theo công thức (3.18)
g(B) = (1−p(B))∗100 theo công thức (3.13)
h(B) = 0 vì B là đỉnh đích.
Do đó: g(B)−g(A) +h(B) = (1−p(B))∗100
Rõ ràng h(A)≤g(B)−g(A) +h(B)
Xét trường hợp quan hệ phụ thuộc giữa các đỉnh A → B → C với A là đỉnh xuất phát, C là đỉnh đích. Ta có:
g(A) = 0 vì A là đỉnh xuất phát
h(A) = (1−p(C))∗100 theo theo công thức (3.18)
g(B) = (1−p(B))∗100 theo công thức (3.13)
h(B) = (1−p(C))∗100 theo theo công thức (3.18) Do đó:
f(A) =g(A) +h(A) = (1−p(C))∗100
f(B) =g(B) +h(B) = (1−p(B))∗100+ (1−p(C))∗100
Dựa vào mạng Bayes biểu diễn đồ thị kiến thức, chúng ta xác định được giá trị các hàm f(A) và f(B). Để bảo đảm f(A) ≤ f(B), giá trị f(B) = max(f(A), g(B) +h(B))
Tổng quát với quan hệ phụ thuộc giữa các đỉnh trong đồ thị C1 → C2 → . . . → Cn
với C1 là đỉnh xuất phát, Cn là đỉnh đích, Ci là đỉnh cha của Cj. Áp dụng các công thức (3.13), (3.18), chúng ta luôn xác định được các giá trị:f(Ci),g(Cj) +h(Cj). Giá trịf(Cj)
được chọn = max(f(Ci), g(Cj) +h(Cj))). Khi đó hàm h được xác định theo công thức (3.18) là hàm thu nạp được.
Bảng 3.7: Giá trịh(i) của các đỉnh i tương ứng trong đồ thị Hình 3.3
ci h(i)
Khái niệm Thực thể (A) 99.9 Khái niệm Quan hệ (B) 96.6 Xác định thực thể (C) 99.3 Khái niệm Bảng (D) 96.7 Xác định thuộc tính (E) 99.9 Xác định quan hệ giữa các thực thể (F) 57.5 Xác định thuộc tính khóa (G) 97.6 Chuyển thuộc tính thành Trường (H) 52.5 Định nghĩa bảng dữ liệu (I) 30 Chuẩn hóa bảng dạng chuẩn 1 (K) 0
Ví dụ: Xét đồ thị kiến thức được minh họa trong Hình 3.3, giả sử với đích là đỉnh Chuẩn hóa dạng chuẩn 1(K). Khi đó giá trị hàm h của các đỉnh trong đồ thị được xác định: Xét đỉnh Định nghĩa bảng dữ liệu (I) có h(I) = (1−p(K))∗100 = (1−0.7)∗100=30
(tham chiếu giá trị p(K) trong bảng 3.4), xét đỉnh Xác định quan hệ thực thể(F) có
p(K|F) =p(F =acquried∧K =acquired∧I =not_acquired) =p(F)∗p(K|¬I)∗p(¬I) =
1∗0.05∗0.85=0.0425, suy rah(F) = (1−0.0085)∗100=57.5. Tương tự, Bảng 3.7 mô tả giá trị hàm h(i) ứng với các đỉnh trong ví dụ này.
Quá trình tìm kiếm tiến trình học ứng viên được thực hiện bằng thuật toán tìm kiếm A*. Input:
- Đồ thị kiến thức: Tập các khái niệm, nhiệm vụ trong mô hình nội dung khóa học. - Giá trị trọng số (hàm g) ứng với từng tiêu chí được tính theo các công thức
(3.13),(3.14).
- Giá trị hàm h được tính theo công thức (3.18) - Khái niệm, nhiệm vụ mục tiêu.
Output:
Ví dụ: Áp dụng thuật toán A* tìm tiến trình học ứng viên cho tiêu chí độ khó cho đồ thị kiến thức minh họa trong hình 3.3, căn cứ giá trị hàm g(x) cho tham số độ khó (Bảng 3.4), và giá trị hàm h(x)(Bảng 3.6).
- Bước 1. Xét các đỉnh con của đỉnh A, chúng ta có:
f(B) =60+ 96.6=156.6 f(C) =38+99.3=137.3 f(D) =45+96.7=141.7
Đỉnh C được chọn vì f(C) = min(f(B), f(C), f(D))
- Bước 2. Xét các đỉnh con của đỉnh C, chúng ta có:
f(E) = (38+25) +99.9=162.9
Đỉnh E được chọn vì E là đỉnh duy nhất
- Bước 3. Xét các đỉnh con của đỉnh E, chúng ta có:
f(G) = (38+25+15) +97.6 =175.6 f(H) = (38+25+7) +52.5 =122.5
Đỉnh H được chọn vì f(H) =min(f(G), f(H))
- Bước 4. Xét các đỉnh con của đỉnh H, chúng ta có:
f(I) = (38+25+7+10) +52.5 =132.5
Đỉnh I được chọn vì I là đỉnh duy nhất
- Bước 5 xét các đỉnh con củaI, chúng ta có: f(K) = (38+25+7+10) +30=110
Đỉnh K được chọn vì K là đỉnh đích.
Thuật toán A* cho kết quả là tiến trình học đi qua các đỉnh: A→C→E →H →I →K
Độ phức tạp của thuật toán tìm kiếm A* phụ thuộc vào đánh giá kinh nghiệm. Theo kết quả nghiên cứu của Rusell [67], Hart [75], độ phức tạp của thuật toán là hàm đa thức nếu hàm kinh nghiệm h(x) thỏa mãn điều kiện: |h(x)−h∗(x)| ≤O(logh∗(x))với h*(x) là hàm cho kết quả chi phí chính xác đi từ đỉnh x tới đích.