Giải thuật xây dựng KG cho một học phần

Một phần của tài liệu a model of knowledge representation for active collaborati (Trang 38 - 174)

1.4.1 Ý tưởng chính

- Cho trước tập các ý giảng chính P, và định nghĩa tập các điều kiện cứng của một học phần như sau : = ∪ , ∀ ∈ .

- Giải thuật sẽ xây dựng ma trận kề A của đồ thị Ge sao cho đảm bảo tính hợp lý của một KG, cụ thể là thỏa điều kiện (i) và (ii) của Định nghĩa 1.8. Gọi Ge = (V, E) là đồ thị tri thức sẽ xây dựng, với: V = {v1, v2 , .. , vn}; và E = {(2 , 2 )/6(2 ) ≺ 6(2 )} Trong đó, song ánh f : P 2 ⟼ = 6(2 ) Ma trận kề A, với " = (#$ )!×! , được quy ước như sau:

aij = 0: không có cung có hướng nối từ viđến vj

aij = 1: tồn tại cung có hướng nối từ viđến vj

Bên cạnh đó, giải thuật sử dụng thêm hai ma trận B và W để lưu giữ lại cung bị loại bỏ và độ dài đường đi với mục đích để tái sử dụng khi cần khai thác KG.

36

bij = 0: không có cung bị loại bỏ từ viđến vj

bij = 1: có cung bị loại bỏ từ viđến vj

Ma trận đường đi W, với ; = (<$ )!×! , được quy ước như sau

wij = 0: không tồn tại đường đi nối từ viđến vj

wij = 1: có đường đi trực tiếp nối từ viđến vj (nghĩa là, $ ≺ )

wij >1: có đường đi gián tiếp nối từ viđến vj (nghĩa là, $ ≺ )

Giải thuật sẽ cập nhật lại giá trị wij bằng cách thêm 1 đơn vị, mỗi khi đường đi từ

vi đến vj đi qua thêm một cung nối trung gian. Do đó, dựa trên ma trận W có thể biết

được độ dài của đường đi (Dij) từ viđến vj, cụ thể là Dij = max(wij).

- Ý tưởng chính: giải thuật duyệt lần lượt các đỉnh v của tập V và cập nhật giá trị

cho các ma trận A, B, W dựa vào việc kiểm tra trên tập điều kiện cứng của v ( =). Để

đơn giản kí hiệu khi trình bày, ta sẽ kí hiệu cung (vi, vj) là (i, j). Phần xử lý chính của giải thuật là hàm Kiểm tra tính hp lý được xét với từng cung có hướng mới thêm (i,

j) để cập nhật các ma trận A, B và W (xem Hình 1.5). Hàm Kiểm tra tính hp lý, sẽ

thực hiện các bước như sau:

Bước 1: Nếu tồn tại một đường đi từđỉnh j i

// Loi bđường đi to thành chu trình

Loại bỏ cung có hướng mới thêm vào (i, j): cập nhật ma trận A, B

Bước 2: Ngược lại,

// Loi bđường đi trc tiếp, khi đã tn ti đường đi gián tiếp gia 2 đỉnh

(1) Nếu tồn tại đường đi gián tiếp từđỉnh i j:

Loại bỏđường đi trực tiếp từđỉnh i j: Cập nhật ma trận A, B

(2) Ngược lại,

(2.1) Thiết lập đường đi trực tiếp từđỉnh i j: Cập nhật ma trận W

37

(2.2.1) Loại bỏ đường đi trực tiếp từ đỉnh k j nếu có: Cập nhật ma trận A, B

(2.2.2) Cập nhật ma trận W

(2.2.3) Nếu tồn tại đường đi gián tiếp từ đỉnh j l

(i) Loại bỏ đường đi trực tiếp từ đỉnh k l nếu có: Cập nhật ma trận A, B

(ii) Cập nhật ma trận W

(2.3) Nếu tồn tại đường đi gián tiếp từ đỉnh j l

(2.3.1) Loại bỏ đường đi trực tiếp từ đỉnh i l nếu có: Cập nhật ma trận A, B

(2.3.2) Cập nhật ma trận W

Hình 1.5. Minh họa giải thuật Kiểm tra tính hợp lý Hình 1.5 minh họa, ij là 2 đỉnh

đang xét, khi thêm vào một cung có hướng giữa ij, nghĩa là có đường đi trực tiếp từ i đến j.

Giả sử, k K là đỉnh có đường đi đến il L là đỉnh có đường đi từ

j đến nó.

Các đường đi trực tiếp (2.1); (2.2.1); (2.3.1); (2.2.3.i) sẽ loại bỏ khi tồn tại đường đi gián tiếp tương ứng là (1); (2.2)(2.1); (2.2)

38

1.4.2 Gii thut chi tiết

Giải thuật 1.1. Xây dựng KG cho mt hc phn

1. Tạo đồ thị KG (sơđồ khối giải thuật trình bày ở Hình 1.6) Input: Tập đỉnh: tập PI (V) Tập cung có hướng: tập điều kiện cứng của các PI ( ) Output: Ma trận kề A (biểu diễn đồ thị KGe), ma trn B và ma trận đường đi W Giải thuật: (1) Khởi gán ma trận kề A: i, j V, A[i][j] = 0 (2) Khởi gán ma trận cung loại bỏ B: i, j V, B[i][j] = 0 (3) Khởi gán ma trận đường đi W: i, j V, W[i][j] = 0 (4) Duyệt từđầu đến cuối tập đỉnh V Cập nhật ma trận kề A 2. Cập nhật ma trận kề A (sơđồ khối giải thuật trình bày ở Hình 1.6) Input: Đỉnh v cần thêm vào KGe: v V Tập điều kiện cứng của đỉnh v: = Output: Ma trận kề A đã được cập nhật Ma trận B và ma trận đường đi W đã được cập nhật Giải thuật: (1) S = =

39

(2) Chọn x ∈ S

(3) Thêm cung (x, v) vào đồ thị KGe A[x][v] = 1

(4) Kiểm tra tính hợp lý - với cung (x,v) mới thêm vào (5) S = S \ {x}

(6) Nếu S ≠∅, quay lại bước (2).

3. Kiểm tra tính hợp lý (sơđồ khối giải thuật trình bày ở Hình 1.7)

Input:

Cung (i, j) đang xét và A[i][j] = 1

Output:

Ma trận kề A đã được cập nhật

Ma trận B và ma trận đường đi W đã được cập nhật

Giải thuật:

// ***Kim tra phát sinh chu trình và loi b

B.1 Nếu W[j][i] 0 thì // tạo thành chu trình A[i][j] = 0 // bỏ cung mới thêm vào B[i][j] = 1 // cập nhật cung bị loại bỏ

// ***Kim tra đường đi trc tiếp (khi đã tn ti đường đi gián tiếp) và loi b

B.2 Ngược lại,

(1) Nếu W[i][j] > 1 thì // tồn tại đường đi gián tiếp từđỉnh i đến đỉnh j A[i][j] = 0 // bỏ cung mới thêm vào

B[i][j] = 1 // cập nhật cung bị loại bỏ

(2) Ngược lại // cập nhật đường đi từđỉnh i đi đến đỉnh j

40 // cập nhật đường đi từ các đỉnh k đi đến đỉnh j (2.2) Cho k = 1 đến n (2.2.1) Nếu W[k][i] ≠ 0 thì Nếu W[k][j] = 1 thì A[k][j] = 0 B[k][j] = 1 (2.2.2) Nếu W[k][j] < W[k][i] + W[i][j] W[k][j] = W[k][i] + W[i][j] // cập nhật đường đi từđỉnh k đi đến các đỉnh l (2.2.3) Cho l = 1 đến n (i) Nếu W[j][l] ≠ 0 thì Nếu W[k]l] = 1 thì A[k][l] = 0 B[k][l] = 1

(ii) Nếu W[k][l] < W[k][i] + W[i][j] + W[j][l]

W[k][l] = W[k][i] + W[i][j] + W[j][l] // cập nhật đường đi từđỉnh i đi đến các đỉnh l (2.3) Cho l = 1 đến n (2.3.1) Nếu W[j][l] ≠ 0 thì Nếu W[i]l] = 1 thì A[i][l] = 0 B[i][l] = 1 (2.3.2) Nếu W[i][l] < W[i][j] + W[j][l] W[i][l] = W[i][j] + W[j][l]

41

42

43

1.4.3 Ví dụ minh họa

1.4.3.1 Ví dụ 1

Giả sử ởhọc phần Kĩ thuật Lập trình C11, ta có tập PI như sau:

V = {Relational operator (1), Conditional operator (2), Loop (3), Branching (4),

While (5), Dowhile (6), For (7), IfElse (8)}

Và tập các điều kiện cứng của PI cũng được cho trước như sau12:

= {< : Relational operator ←∅>; < : Conditional operator ←∅>; < ?: Loop ← Relational operator, Conditional operator>;

< @: Branching ← Conditional operator>; < A: While ← Loop>; < B: DoWhile ← While, Loop>;

< C: For← While, Loop, Conditional operator>; < D: IfElse ← Branching, Condition operator>}

Minh họa cho KG trước khi xây dựng và ma trận A như trong hình vẽ (Hình 1.8)

Hình 1.8. Minh họa cho KG ban đầu (do chuyên gia định nghĩa) ở ví dụ 1

11

Xem Phụ lục 2

44 Theo Định nghĩa 1.8, có thể viết lại như sau:

V = {1, 2, 3, 4, 5, 6, 7, 8};

= {< : 1 ←∅>; < : 2 ←∅>; < ?: 3← 1, 2>; < @: 4← 2>; < A: 5← 3>; < B: 6← 5, 3>; < C: 7← 5, 3, 2>; < D: 8← 4, 2>}

Đồ thị KG sau khi xây dựng và các ma trận A, W như trong Hình 1.9, và 1.10.

Các đường đi được đánh dấu và loại bỏ: 6 ← 3; 7 ← 3; 7 ← 2; 8 ← 2

Hình 1.9. KG ở ví dụ 1 sau khi xây dựng bằng giải thuật 1.1

45

1.4.3.2 Ví dụ 2

Giả sử ở học phần Lý luận và Phương pháp dạy học Tin13, ta có tập PI như sau:

V = {PPDH (1), KiTB (2), KiVĐ (3), KiNC (4), PPTB (5), PPTĐ (6), PPTL (7), NhTC (8), NhHS (9), NhGV (10)}

Và tập các điều kiện cứng của PI cũng được cho trước như sau:

= {< : PPDH←∅>; < : KiTB← PPDH>; < ?: KiVĐ← PPDH>; < @: KiNC ← PPDH>; < A: PPTB ← NhGV>; < B: PPTĐ← NhHS>; < C: PPTL← NhTC>; < D: NhTC← KiVĐ, NhGV>;

< E: NhHS← KiNC, NhTC>; < F: NhGV← KiTB, NhHS>}

Minh họa cho KG trước khi xây dựng và ma trận A như trong hình vẽ (Hình 1.11)

Hình 1.11. Minh họa cho KG ban đầu (do chuyên gia định nghĩa) ở ví dụ 2

Theo định nghĩa, có thể viết lại như sau (xem Hình 1.11 (b), và (c)): V = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

13 PPDH-phương pháp dạy học, KiTB – kiểu dạy học thông báo, KiVĐ – kiểu dạy học nêu vấn đề, KiNC –

kiểu dạy học nghiên cứu, PPTB – phương pháp thông báo, PPTĐ – phương pháp tự đọc, PPTL – phương pháp thảo luận, NhTC – nhóm tích cực, NhHS – nhóm học sinh là trung tâm, NhGV – nhóm giáo viên là trung tâm.

46

= {< : 1 ←∅>; < : 2 ← 1>; < ?: 3← 1>; @: 4← 1>; < A: 5← 10>; < B: 6← 9>; < C: 7← 8>; < D: 8← 3, 10>; < E: 9← 4, 8>; < F: 10 ← 2, 9>}

Đồ thị KG sau khi xây dựng và các ma trận A, W như trong hình vẽ (xem Hình

1.12, và 1.13). Đường đi được đánh dấu và loại bỏ: 10 ← 9

Hình 1.12. KG ở ví dụ 2 sau khi xây dựng bằng Giải thuật 1.1

Ma trận kề A và ma trận đường đi W sau khi cập nhật, minh họa ở Hình 1.13

47

1.4.4 Phân tích và nhn xét gii thut

1.4.4.1 Phân tích

Giải thuật 1.1 xây dng KG bằng việc duyệt từng đỉnh trong tập V để cập nhật ma trận kề A tương ứng, trong đó phần xử lý chính là hàm Kiểm tra tính hp lý. Vì vậy,

độ phức tạp tính toán với tình trạng dữ liệu đầu vào của Giải thuật 1.1 được xét trên

hàm Kiểm tra tính hp lý này. Ta có thể coi phép toán tích cực ở đây là việc kiểm tra

điều kiện tồn tại đường đi (dựa trên ma trận đường đi W).

- Thời gian thực hiện giải thuật trong trường hợp tốt nhất : với 2 đỉnh i, j đang xét

để thêm vào 1 cung có hướng từ i đến j.

+ Nếu xảy ra trường hợp tạo ra chu trình, thì loại bỏ cung muốn thêm vào và không cập nhật ma trận kề A.

+ Nếu xảy ra trường hợp giữa i và j đã tồn tại một đường đi gián tiếp, thì loại bỏ

cung muốn thêm vào và không cập nhật ma trận kề A.

Số lần thực hiện phép toán này là 1 lần, ta có : T(n) = 1. Vậy độ phức tạp tính toán của giải thuật trong trường hợp này là Ο (1).

- Thời gian thực hiện giải thuật trong trường hợp xấu nhất : với 2 đỉnh i, j đang xét và đã thêm vào 1 cung có hướng từ i đến j. Nếu xảy ra trường hợp tồn tại đồng thời các đường đi gián tiếp từ một đỉnh k đến đỉnh i (có số lần thực hiện là n2), và cũng tồn tại các đường đi gián tiếp từ đỉnh j đến đỉnh l (có số lần thực hiện là n), thì loại bỏ đường đi trực tiếp và cập nhật ma trận kề A. Tổng số lần thực hiện các phép toán này là n2+n, ta có T(n) = n2+n . Vậy độ phức tạp tính toán của giải thuật trong trường hợp này là Ο (n2+n).

- Thời gian trung bình thực hiện giải thuật: T(n) = n2. Ta có độ phức tạp của giải thuật là Ο (n2).

1.4.4.2 Nhn xét

Giải thuật 1.1 xây dng KG (đầu ra là ma trận kề A), đảm bảo tính hợp lý của thứ

48

tập Sh. Các tập đầu vào này theo giả định đã được định nghĩa sẵn từ chuyên gia sư

phạm dựa trên mô hình đề xuất sẽđảm bảo tính chính xác và đầy đủ của kiến thức.

Giải thuật 1.1 có ý nghĩa thực tế khi cài đặt vì tập PI (Ue) là khá lớn. Thông thường, ở một học phần (theo thử nghiệm thực tế giảng dạy trong 10 tuần) số lượng PI

khoảng trên/dưới 100 (chẳng hạn trong học phần Kĩ thuật lập trình C14đang minh họa có số lượng PI là 73), và cũng không có một minh chứng nào để xác định số lượng tối

đa về tri thức khoa học đối với một học phần. Nếu sử dụng giải thuật đối với một chương trình đào tạo (khoảng vài chục học phần), hoặc khi xây dựng KG cho nhiều học phần cùng lúc thì số lượng PI sẽ khá lớn. Đồng thời, tập điều kiện cứng (Sh) của

các PI cũng sẽ có số lượng nhiều tương ứng. Do đó, việc định nghĩa tập nội dung tri thức sẽ khiến người thiết kế dạy học rất khó kiểm tra được tính hợp lý, nghĩa là có thể

vi phạm các điều kiện ràng buộc theo Định nghĩa 1.8. Giải thuật sẽ kiểm tra tính hợp lý trong quá trình xây dựng KG thông qua việc cập nhật ma trận kề A (cùng với ma trận loại bỏ B và ma trận đường đi W). Ngoài ra, giải thuật sẽ giúp tổ chức lưu trữ KG

(ma trận kề A) để có thể khai thác sau này.

Đối với trường hợp xảy ra vi phạm điều kiện (i) – Định nghĩa 1.8, giải thuật xác

định và loại bỏ cung bắc cầu.

Đối với trường hợp xảy ra vi phạm điều kiện (ii) – Định nghĩa 1.8, được xem xét ở

hai trường hợp (TH) như sau :

(TH.1). Tập PI có một thứ tự mặc định

Ví dụ 1, minh họa cho trường hợp tập PI đầu vào đã được sắp theo một thứ tự

mặc định. Trường hợp này tương ứng với việc xây dựng KG cho một học phần đã có sẵn với một đề cương chi tiết và tài liệu/giáo trình quy định đểđịnh nghĩa tập PI

ban đầu. Vì vậy, các PI thường có một thứ tự trước/sau đã được ″ngầm nhận biết″ trước (do dựa vào tài liệu/giáo trình có sẵn). Trường hợp này sẽ không thể xảy ra chu trình, hoặc nếu xảy ra chu trình thì cũng dễ dàng loại bỏ, do biết trước được

49

thứ tự trước/sau của các PI. Trong thực tế cài đặt, giải thuật sẽ có bước tiền xử lý

để loại bỏ cung tạo chu trình trong hàm lấy tập điều kiện cứng khi thêm vào một cung mới.

Trong ví dụ 1, giả sửở đỉnh 2, tập điều kiện cứng được định nghĩa lại như sau:

: 2 7 (xem minh họa ở Hình 1.14). Qua đó, dễ dàng nhận thấy cung này là không hợp lý, khi tạo thành chu trình và cần phải loại bỏ. Về mặt ngữ nghĩa, thì khi

các PI đã có một thứ tự luận lý thì kiến thức 7, không thể quay lại để là điều kiện cứng của kiến thức 2 và việc này cũng đã không thỏa điều kiện (ii) của Định nghĩa 1.8.

Hình 1.14. Minh họa trường hợp tạo chu trình ở ví dụ 1

(TH.2). Tập PI không có một thứ tự mặc định

Ví dụ 2, minh họa cho trường hợp xây dựng KG cho một học phần mới. Với trường hợp này, tập PI đầu vào sẽ không tuân theo một thứ tự luận lý nào cả (khác với trường hợp của ví dụ 1), bởi vì các chuyên gia sư phạm có thể tự biên soạn, hay định nghĩa tập

PI ban đầu dựa trên nhiều tài liệu/giáo trình khác nhau. Giải thuật trong trường hợp này tựđộng loại bỏ cung tạo ra chu trình khi gọi hàm Kiểm tra tính hợp lý. Như vậy, cung bị loại bỏ sẽ là cung vừa mới thêm vào đồ thị và làm tạo ra chu trình. Điều này, cũng dẫn đến việc là với tập PI đầu vào thì thứ tự ban đầu của các đỉnh để đưa vào đồ

thị sẽ quyết định việc xây dựng KG và có th các KG được xây dựng sẽ khác nhau trong trường hợp này.

Để giải quyết trường hợp này, cần phải chọn lựa một trong hai giải pháp: (1), cần phải xác định thứ tự trước/sau của PI (sẽ do chuyên gia thực hiện thủ công/bán thủ

50

nhau (sẽ tựđộng loại bỏ cung tạo chu trình). Với các định nghĩa và ràng buộc ban đầu của KG, giải thuật được trình bày trong luận án chọn giải pháp (2) để thực hiện.

Trong ví dụ 2, chu trình xảy ra ở ba đỉnh 8, 9, 10, thể hiện ở tập điều kiện cứng như

sau: D: 8 3, 10; E: 9 4, 8; F: 10 2, 9. KG được xây dựng phụ thuộc vào

Một phần của tài liệu a model of knowledge representation for active collaborati (Trang 38 - 174)

Tải bản đầy đủ (PDF)

(174 trang)