Abstract. The introduced tutoring system BSS1 is able
to monitor the student's progress and strength and weakness by
keeping student profile parameters. The system is able to suggest
topics/sub-topics the student should embark on next. This is done
by a fuzzy logic engine that evaluates five variables and ranks
the topics/sub-topics accordingly to the last sub-topic studied
by the student. According to the Rank of all sub-topics the tutoring
system is then able to chose the subject to be studied next. The
topic with the highest rank will be recommended to the student
as the next study topic.
The Brilliant Scholar Series 1 (BSS1) is a tutoring system currently used by several thousand home and school users to learn curricular subjects such as mathematics and sciences in Singapore. It is an AI-based tutoring system using heuristics to interact with users and monitor their progress.
We believe the use of fuzzy logic techniques can improve the performance
of such tutoring systems by introducing intelligent features to
better manage the student's learning. After studying the general
requirements of features required by BSS1, a suitable fuzzy logic
model was selected. Based on this model, a general fuzzy logic
engine was designed and implemented to support development of
intelligent features for BSS1. In order to develop such features,
the problem had to be suitably modeled and a knowledge base created,
followed by testing and tuning with appropriate procedures.
2 Overview of the Fuzzy Logic Engine
The methodology taken is Fuzzy Logic control which allows human description of the physical systems and the required control of the required control strategy to be simulated in a reasonably natural way. A fuzzy logic controller can be regarded as a real-time expert system that employs fuzzy logic to manipulate quantitative variables. It also provide a means of converting a linguistic control strategy derived from expert knowledge into an automatic control strategy. The approach provides an effective means of capturing the approximate, non-crisp nature of the way we normally describe the real world .
As shown in Figure 1, the fuzzy logic control consists of a
3 Rules and Knowledge Base of the Fuzzy Logic Engine
3.1 General Requirements of Intelligent Features for BSS1
BSS1 provides students with a large pool of questions collected from past year examinations. The questions are organized into different topics and sub-topics, and information such as the level of difficulty and expected time needed for each question are available. Some of these past year examination questions have been adapted such that all are multiple-choice questions. BSS1 has a pool of teachers who prepared all the answer choices and also solution hints and notes for each question.
The aim of BSS1 is to help students to manage their learning by testing their knowledge with multiple-choice questions. BSS1 is able to monitor the students' progress, their strengthes and weaknesses by keeping student profile parameters such as the questions attempted, the points scored, the time taken and the performance trend. Together with other information such as the relative importance of topics, their relation to one another, and the period of time left for the student to prepare for his exams, the system should be able to manage the student's learning intelligently, for example, by suggesting topics/sub-topics the student should embark on first.
As can be seen, the problem is not a very structured one, and
a human teacher (expert) trying to solve this problem might use
intuitive guidelines like "If this sub-topic is very important
in the exams, and the student is still weak in it, and he hasn't
spent enough time on it yet and the exams are near, then he should
embark on it straight away". Such a guideline or rule
encompasses a lot of vagueness, for example, how important exactly
is very important, or how much time do we mean by not
enough. If we try to define all these in a complete and precise
manner (in numerical terms), our rules will become very cumbersome,
especially when we try to take care of borderline cases differently
in order to avoid awkward discontinuities. Fuzzy logic is thus
very useful here.
3.2 Criteria used in Choosing Sub-topics
As the ultimate usage of the system is for students taking the "O" Levels, the author has to see the problem from the perspective of an "O" level student. The problem to be incorporated and applied to the engine is to help the student to choose the next sub-topic after he/she has just completed one. Thus, looking at the problem, the authors felt that the following factors, in order of priority are the most important criteria to help the student in choosing the next sub-topic:
3.3 Formulation Of Rules
The rules formulated are broken into 3 groups as shown below (only selected examples of the rules are shown):
In group 1, the objective is to determine the level of importance
of the sub-topics in the database. Frequency and Relation
are correlated to get an intermediate variable Urgency
which gives the urgency of the sub-topics.
The result of the above rules in correlation with Time will
determine the level of Importance of each individual sub-topic
in the database.
In group 2, the objective is to determine the suitability of
possible sub-topics to be chosen.. Similar rules are defined for
the variables Relation and Performance.
Group 3 helps to determine if the student had fully understood
the sub-topic that he has just completed. The variables used to
define this criteria are Completion and Performance.
With the results of the above three groups of rules, namely Importance,
Suitability and Understanding, the system is able
to select a good sub-topic to be studied next using the Rank
of the suggested sub-topics.
3.4 Fuzzy values of Knowledge Data Base
The database provides the necessary definitions of the fuzzy parameters
as fuzzy sets with membership functions defined on the universe
of discourse for each variable. Construction of the database involves
defining the universe of discourse for each variable, determining
the number of fuzzy sets and designing the membership functions.
The fuzzy sets defined for input variables in the antecedent of
a fuzzy rule form a fuzzy input space with respect to the input
universes of discourse, while those in the consequent of a fuzzy
rule form the fuzzy output space. They partition the input and
output spaces into various allowed fuzzy values. In order to use
the above rules, fuzzy values for the knowledge base must be defined.
Figure 2: Input and output universes for sub-topic evaluation
As shown in Figure 2, there are five input universes (Frequency,
Time, Relation, Completion, Performance)
and one output universe (Rank).
4 Derivation of Sub-topics
The tutoring program will supply the five inputs required for the engine to fuzzify. When the engine is fired, fuzzification , reasoning and defuzzication will be done. The output of the engine would be a crisp value which would be useful for the selection of the next subtopic for the student to attempt (known as the rank).
The implementation of the rules can be best illustrated by an
example. Taking the rule shown in Figure 3, we will illustrate
how the two rules are implemented in the fuzzy logic engine.
IF (Frequency IS VHigh) AND
((Relation IS VHigh) OR (Relation IS Ok)) AND
(Time IS Ok) AND ((Completion IS VHigh) OR (Completion IS High)) AND
((Performance IS VHigh) OR (Performance IS High))
THEN (Rank IS High);
Figure 3: Example Rule
If the input to the engine, provided by the system is as follows:
|Frequency =100||Relation = 80||Time = 60|
|Completion = 100||Performance = 70|
then the evaluation (Figure 4) of RULE T000 leads to the following
|Frequency = 0.9||Relation = 0.2||Time = 0.8|
|Completion = 1.0||Performance = 0.95|
Evaluating the remainder of RULE T000 the above values are combined
with AND which the minimum of these values and yields Rank = 0.2
RULE T000 states that Rank IS High and with the value of
Rank = 0.2 the fuzzy output is the trapezoid as illustrated in
Figure 5. To obtain a crisp value the center of gravity  must
be calulated which results the value of 75.0 as output
Figure 5: Result of Rank in RULE T000
This calculation is performed with all possible topics and sub-topics.
The topic with the highest rank will be recommended to the student
as the next study topic.
This paper discusses how fuzzy logic can be used to help students
to chose topics/sub-topics to continue their learning process.
The introduced tutoring system BSS1 is able to monitor the student's
progress and strength and weakness by keeping student profile
parameters such as questions which have been attempted (Completion)
and the points scored (Performance). Together with other
information such as their relation to one another (Relation),
and the period of time left for the student to prepare for his
exams (Time), the system is now able to suggest topics/sub-topics
the student should embark on next. This is done by a fuzzy logic
engine that evaluates five variables and ranks the topics/sub-topics
accordingly to the last sub-topic studied by the student. According
to the Rank of all sub-topics the tutoring system is then
able to chose the subject to be studied next.
We like to thank Rajat Kumar Das, Managing Director of Brilliant
Systems Pte Ltd and Prof. Wang Peizhang, Formerly Research Staff
of the Institute of Systems Science (ISS) to come up with this
approach of student monitoring. Further we like to thank Joel
Loo Peing Ling, Research Staff at ISS for his encouraging support.
 Cox, E., "The fuzzy systems handbook: a practioner's guide to building, using, and maintaining fuzzy systems", AP Professional, Boston, 1994
 Dubois, D. and Prade, H., "Fuzzy Sets and Systems", Academic Press, NY, 1980