**4.2 Algorithm of MALESAbrain**

To trace the algorithm, we suggest readers browsing the definitions first. Then reading the instructions, comments in the algorithm and checking definitions when tracing. Afterwards compare the algorithm with the example in previous section.

MALESAbrain(*kq*,*kr* ,*sm*,*sd*,,,due-date )

> SET *kq* / \* the minimum requirement of an AK-cell to join the competition for promotion to a higher discussion position - called *qualification threshold* (Definition 1-5)\*/

> SET *kr*, / \* the worthless AK-cells will be deleted whenever lower than the *rejection threshold* (Definition 1-5) \*/

SET *sm* / \* a consensus of the learning group agrees the solution is able to solve the problem whenever a solution reached the *solution maturity threshold* (Definition 1-5)\*/

SET *sd* / \* the worthless solutions will be deleted whenever lower than the *solution disagreement threshold* (Definition 1-5) \*/

SET / \* *growth-factor* limits the posted number of AK-cells at each level, which converts the architecture of knowledge base from linear structure into a hierarchical structure of branch tree in the forum. (Definition 1-6) \*/

SET / \* *convergent-factor* is used to decide whether the percentage of mature AK-cells has achieved the educator's training target (Definition 1-7) \*/

SET due-date / \* *due-date* is an expected date to end the discussion \*/

#### REPEAT

/\* *Critical thinking* \*/

*COMPARE personal viewpoint "x" with retained knowledge pieces "ki" in MALESAbrain K* = {*ki*  MALESAbrain} /\* Definition 1-4 \*/

Proposing Two Algorithms to Acquire Learning

**4.3 A calculation example** 

therefore is illegal.

(*w1* = 3.1)

(

*s2.1,2* 

*i=* 

∴*w2.1,1* = 0.9 + 0.5 + (-0.7) = 0.7…①

*jj sw*

,1.2,1.2 || =

= *w2.1,1* · |*s2.1,1*| + *w2.1,2* · |*s2.1,2*|

= 0.7·(1) + (1.4) · (1) = 2.1 (<sup>∵</sup>

Example 1. The calculation of knowledge weight(*w2.1*).

∴*w2.1,2* = 0.6 + 0.8= 1.4…②

*<sup>m</sup>*

*w2.1* = 

*j*

1

*2.1* = (*p2.1*,

*j*

(*s2.1,2* , *w2.1,2*=1.4)

By Definition 1-3 *wi,j* is the learners' judgment scores towards *si,j*

solutions is two, therefore *m* = 2), so the knowledge-weight is:

= 0.7· |*s2.1,1*| + (1.4)· |*s2.1,2*| (∵ ① and ②)

*K2.1*

a *knowledge-content*

*X:*

*K1*

*K2*

Knowledge in Problem-Based Learning Environment 149

In this subsection, we use a knowledge retained snapshot and a calculation example to look

Discussion topic "How to Fix an Illegal Operation" - An operation requested to be performed by either the Operating System or CPU, which is not understood and

Running a source with a dirty CD or diskettes can cause data to be read

Corrupt, bad or missing files can cause illegal operations.

*s2.1,1* Finding program bugs in the program and fix them. (*s2.1,1* , *w2.1,1*=0.7)

Fig. 12. A snapshot of the retained knowledge pieces in MALESAbrain's knowledge base. Fig. 12 shows a snapshot of knowledge pieces retained in the knowledge base. The knowledge posted by the learners has been organized in a tree-like manner according to the respective weights of individual nodes. In this example shown, the AK-cell *Ki = K2.1* includes

the knowledge-weight *wi=w2.1* bonds with solution *si,j=s2.1,1* and solution *si,j=s2.1,2*. Let us assume three visited learners have given their preferences on solution *s2.1,1* as 0.9, 0.5 and -

0.7; and two visitors have given their preferences on solution *s2.1,2* as 0.6 and 0.8.

*2.1* includes the problem *p2.1* and two solution *s2.1,1* and *s2.1,2* (because the number of

,1.2,1.2 ||

*jj sw*

 

 )(1 )(0 || *xwhen*

*xwhen <sup>x</sup>* see Definition 1-3)

∵ *s2.1,1* has three visited learners' judgment scores (0.9, 0.5 and -0.7)

∵ *s2.1,2* has two visited learners' judgment scores (0.6 and 0.8)

*j*

 <sup>2</sup> 1

It is recommended that you attempt to uninstall and or reinstall the program causing the illegal operation to verify that any corrupt, bad or missing files are replaced or repaired during the reinstallation.

*2.1* and a *knowledge-weight wi=w2.1*. For illustration the calculation on

Running a software or game when memory shortage can cause illegal operations.

into the internal storage structure of the knowledge base of MALESAbrain.

improperly causing illegal operations. (*w2* = 2.9)

 *s2.1,j*), *w2.1* = 2.1)

Learners INPUT their *Pref*:( *learnerk* , *si,j* ) *→ agreementk,i,j* (-1 ~ +1) /\* learners' show their judgment score to others' problem-solutions while browse the forum (Definition 1-2) \*/

IF (*Pref* between –1 ~ +1 but not nil) THEN allow ENTER chat-room or MOVE to next pieces of knowledge /\* Learners must give their preference scores prior to moving on to chat room or next pieces of knowledge for discussion (Definition 1-2) \*/

MALESAbrain COMPUTE the *knowledge-weight m <sup>j</sup> <sup>i</sup> jiji sww* <sup>1</sup> ,, || /\* Definition 1-3 \*/

MALESAbrain DISPLAY (or POST) *learners' discussion issues based on "growth-factor "* /\* Definition 1-6 \*/

```
/* Attention */
```
IF *wi kq* THEN /\* the AK-cell is a qualified AK-cell (Definition 1-5,7)\*/ INCREMENT a "qualified-mark" AK-cell *ki* to knowledge base *K* = {*ki*  MALESAbrain} IF *wi* > parent(*wi* ) THEN /\* higher weight AK-cell should be in the front level \*/ SWAP(*ki* ,parent(*ki* ) ) END IF

END IF

IF *wi* < *kr* THEN /\* the AK-cell is a worthless knowledge-piece (Definition 1-5)\*/ DELETE *ki*

END IF

IF *wi,j sm* THEN /\* the AK-cell becomes an matured AK-cell in the knowledge base (Definition 1-5,7)\*/

DISPLAY a "mature-mark" on solution *si,j*

INCREMENT a "mature-mark" AK-cell *ki* to *M* = {*ki* | *ki*  MALESAbrain *si,*<sup>j</sup> where *wi,j sm*}

END IF

IF *wi,j* < *sd* THEN /\* the solution is worthless solution (Definition 1-5)\*/ DELETE *si,j*

END IF

IF (dd:mm:yy = due-date) THEN

IF ( || || K M ) THEN /\* if learning-rate || || K Mis greater or equal to convergent-factor

```
"" then end discussion (Definition 1-7) */
```
PRINT (MALESAbrain meeting with || || KM% learning-rate)

endDiscussion = TRUE /\* stop the meeting \*/

ELSE

endDiscussion = FALSE

CALL MALESAbrain(*kq*,*kr* ,*sm*,*sd*,,,due-date ) /\* re-calibrate the learning thresholds and start another session of discussion whenever the learning-rate lower than when time is due \*/

END IF

END IF

UNTIL (endDiscussion = TRUE) /\* *learning-rate* \*/ END MALESAbrain
