functioning of intelligent agent that are going to
realise a functioning system (Padgham and
Winikoff, 2004). The use of goals or subgoals
breakdown a scenario into units of achievable design
steps which map details into later design and
implementation. The following outlines the entire
goal of the MAS that split up into responsibilities for
the various agents:
Receive Concept
Fetch subConcept (pre-requisite) quiz
Test student
Receive answer from student
Analyse and pre-assess answer
Feedback to student
Update model agent KB
Classify the student
Fetch Concept or subConcept materials
Tutor the student
3.3 Multiple Classification Learning
As the classifier, the agent agModelling learns every
attribute of the parameters it receives from the agent
agSupport during the course of pre-assessment.
Below is an exemplary code in Jason AgentSpeak
from the agent agModelling plan library for a pre-
assessment on the INSERT prerequisite if a
DELETE is received as the desired concept:
/* Prediction rules for DELETE concept */
@d1
+!recommendMaterial[source(agSupport)] :
desired_Concept("DELETE")[source(agSupport)]
& passed("The student has passed the
INSERT with SELECT question.")
& passed("The student has passed the
INSERT with VALUE question.")
<- .send(agMaterial, achieve,
hasPrerequisite(delete, insert)).
@d2
+!recommendMaterial[source(agSupport)] :
desired_Concept("DELETE")[source(agSupport)]
& passed("The student has passed the
INSERT with SELECT question.")
& failed("The student has NOT passed
the INSERT with VALUE question.")
<- .send(agMaterial, achieve, has_KB(insert,
insert_value)).
@d3
+!recommendMaterial[source(agSupport)] :
desired_Concept("DELETE")[source(agSupport)]
& failed("The student has NOT passed
the INSERT with SELECT question.")
& passed("The student has passed the
INSERT with VALUE question.")
<-.send(agMaterial, achieve, has_KB(insert,
insert_select)).
@d4
+!recommendMaterial[source(agSupport)] :
desired_Concept("DELETE")[source(agSupport)]
& failed("The student has NOT passed
the INSERT with SELECT question.")
& failed("The student has NOT passed
the INSERT with VALUE question.")
<-.send(agMaterial, achieve,
hasPrerequisite(insert, select)).
The multiple classification code classifies a student
for learning material into one of four categories for
any given concept e.g. the DELETE. In the codes
the attributes of the students which forms the
production-rules (otherwise known as the context in
Jason agentSpeak) or pre-conditions must be true
and satisfied before classification can be completed.
Recall that the set of parameters that is devised to
construct this multiagent based Pre-assessment
System is given in the turple M = <D, P, F, V>.
Logically, based on the Passed and Failed two-state
predicate attributes of a student, if a set of attributes
are all <P> (e.g. label @d1) then we say the student
has positive ability, but if all <F> (e.g. label @d4)
we say the student has negative ability. But if the set
of attribute is a mix of <P> and <F> (e.g. label @d2
and @d3) then we say it is partial ability.
3.4 Agent Learning Hypothesis
In this production rules classification learning, let C
be the number of prerequisite concept(s) to a desired
concept D, T a binary-state value for student pre-
assessment outcome and N the equal number of leaf-
nodes across each parent node, then the total number
of classified production rules R for a given ontology
tree is determined by:
R = CT
N
+ 1
where
C ϵ {0, 1, 2, ..., k
-1
, k}
T = 2, for a pass or fail state
N ϵ {1, 2, 3, ..., k
-1
, k}
For any SQL rules set that would need to be added
to the array of production rules, the agent
agModelling would increment the number of
classified rules for a given concept with:
Rꞌ = R + T
N
;
where C = 0, 1, 2,…, k in
R = CT
N
+ 1
and conversely decrements by removing rules for a
concept that is no longer needed with:
Rꞌ = R - T
N
;
where C ≠ 0 in
R = CT
N
+ 1.
From
each learning algorithm, the number of rules to
CSEDU2015-DoctoralConsortium
36