• 沒有找到結果。

Minimum expanding knowledge node set, MES

This set includes both the essential knowledge nodes and the minimum required knowledge nodes which are added to preserve the ordering relation in a virtual knowledge node. The implied ordering relation between any knowledge node in ES and any knowledge node not in ES must comply with the original ordering relation in the base knowledge flow. Note that an ESi (a superset of ENS) is a MES if ESi satisfies the order-preserving property, and the ESi does not contain other ESj (a supersetENS) that also satisfies the order-preserving property. The MES only contains the essential knowledge nodes and the required knowledge nodes to preserve ordering relations. Based on the MES, one can generate virtual knowledge nodes and virtual dependencies, as well as derive

31

knowledge concepts of virtual knowledge nodes.

For a given base knowledge flow, BKF=<KNS, DS>, and an essential knowledge node set, ENS, Figure 9 shows the procedure for discovering the minimum expanding knowledge node set MES. Initially, the algorithm creates a working set ES1 of the expanding knowledge node set (ES) that initially equals to the essential knowledge node set (ENS). According to the ordering preservation rule and ES definition, x  KNS, x  ES, the implied ordering relation between x and all members of ES must conform to the ordering relations in the base knowledge flow, BKF. ENS is the starting point to the discovery of MES. A while loop (line 7 to line 10) repeatedly finds any neighboring knowledge node that violates the ordering relation. If a neighboring knowledge node violates the ordering relation conditions (line 9), it is added into ES. Finally, x  KNS and x  ES; if the implied ordering relations between x and all of the members of ES satisfy the ordering preservation, the repeat-until loop stops at this point. The final ES is the MES, which is the knowledge node set ANS of a virtual knowledge node, vx, derived from ENS.

32

(1) procedure DiscoverMES (INPUT: base knowledge flow BKF=<KNS, DS>, essential knowledge node set ENS,

OUTPUT: virtual knowledge node vx = <ANS, AKC>) (2) begin

(3) expanding knowledge node set ES = ENS (4) repeat

(5) Working Set 1 ES1 = ES

(6) Neighboring KN Set NNS = {x| x, y  KNS, x  ES, y  ES, dep (x, y)  DS}

(7) while NNS is not empty do

(8) Select a knowledge node x from NNS and remove x from NNS (9) if ( y, z  ES, such that

[(x > y holds in KF) but (x > z does not hold in KF)] or [(y > x holds in KF) but (z > x does not hold in KF)] then Add x into ES

end if (10) end while (11) until ES1 = ES (12) MES = ES

(13) ANS of vx = MES (14) end

Figure 9. Procedure for discovering the minimum expanding knowledge node set, MES.

Furthermore, Figure 10 shows that a base KF includes a loop structure having a single-entry KN (k1) and a single-exit KN (k3). Because k2 and k4 are identified as essential knowledge nodes and k2 belongs to the loop structure, KF designers firstly abstract k2 and other base KNs (k1, k3) belonging to the same loop structure to a virtual KN (Vx) as shown in Figure 10(a). Then, KF designers apply the procedure in Figure 9 to discover MES as shown in Figure 10(b) to get final virtual KF as shown in Figure 10(c).

33

Figure 10. Loop structure in base KF.

4.4.2 Discovering virtual dependencies

All virtual knowledge nodes can be derived from a base knowledge flow BKF=<KNS, DS> that form the VKNS of a virtual knowledge flow VKF, by repeatedly executing the procedure in Figure 9. For any pair of VKNS’s members, vx and vy, the virtual dependency vdep (vx, vy) exists if dep(x, y) exists in DS, where x is a member of vx and y is a member of vy.

4.4.3 Deriving knowledge concepts of a virtual knowledge node

After a virtual knowledge node, vx, has been derived, the knowledge concepts of vx should be derived. Figure 11 shows the procedure for deriving the knowledge concepts of a virtual knowledge node. Let ECS (Essential Concept Set) denote the set of knowledge concepts of essential knowledge nodes that need to be concealed or hidden. A minimum generalization policy is used to generalize (conceal) the concepts in ECS. For each concept c in ECS, the parent concept of c in the ontology is selected to form the knowledge concept set (abstracted knowledge concept set, AKC) of the virtual knowledge node, vx. On the other hand, for some knowledge nodes that are in MES but not in ENS, the corresponding knowledge concepts do not need to be generalized and are directly included in AKC of vx.

Initially, AKC is derived from the generalization of the knowledge concepts in ECS. Then,

k3

k0 k1 k2 k5 k6

Vx

k0 Vx k4 k6

Vy

k0 Vy k6

Abstract KNs in loop

k4 k5

Discover MES

(a) (b)

(c)

34

AKC incorporates the knowledge concepts of the knowledge nodes in MES but not in ENS.

If some knowledge concepts in AKC are members of ECS or the descendant concepts of ECS’s members, they are removed from AKC due to the concept concealing requirement.

The final step is to remove the implied (redundant) concepts from AKC; hence, the knowledge concepts of vx can be obtained.

If KF designers want to add or delete knowledge concepts in a virtual knowledge flow, it is appropriate to do these operations in the corresponding base knowledge flow and then re-generate a new virtual knowledge flow to replace the old one. A virtual knowledge flow is derived from a base knowledge flow. Conceptually, it is difficult to map back any changes in a virtual KF to the corresponding base KF. Thus, these operations should be made in the base KF. A similar concept exists in database management systems, where administrators modify the definition of a database view by adding or deleting fields in the underlying base tables.

35

(1) procedure DeriveKnowledgeConcepts

INPUT: minimum expanding knowledge node set MES,

essential knowledge node set ENS OUTPUT: virtual knowledge node vx = <ANS, AKC>

(2) begin

(3) Essential Concept Set ECS = empty set (4) AKC(vx) = empty set

(5) for each knowledge node x in ENS do ECS = ECS  KC (x) (6) for each knowledge concept c in ECS

do AKC(vx) = AKC(vx)  {Generalization (c)}

(7) for each knowledge node y in MES but not in ENS do AKC(vx) = AKC(vx)  KC(y) (8) for each knowledge concept c in AKC(vx) do

if c is in ECS or c is a descendant concept of ECS’s member then remove c from AKC(vx)

(9) for each knowledge concept c in AKC(vx) do

if c is an implied concept under AKC(vx) then remove c from AKC(vx) (10) return AKC(vx)

(11) end

Figure 11. Procedure for deriving knowledge concepts of a virtual knowledge node.