Вы находитесь на странице: 1из 5

Intelligent Tutoring System as Multiagent System

Mihal Badjonski
Institute of Mathematics Faculty of Science Novi Sad Trg Dositeja Obradovica 4, 2 1000 Novi Sad Yugoslavia
Abstract: Intelligent

Mirjana Ivanovic
Institute of Mathematics Faculty of Science Novi Sad Trg Dositeja Obradovica 4. 2 1000 Novi Sad Yugoslavia

Zoran Budimac Institute of Mathematics Faculty of Science Novi Sad Trg Dositeja Obradovica 4. 2 1000 Novi Sad Yugoslavia

tutoring systems a r e important educational tools. They can be built using different methodologies and tools. In this paper a generic architecture for intelligent tutoring system as a multiagent system i s presented. The agents in the architecture are programmed with AGLess - a specialized agentoriented environment. This approach has been compared to an object-oriented approach [l], [2] based on objectoriented lanbwage Less.

ITS can be distributed on several computers (there are three possibilities. one computer - one agent. one computer several agents and one computer - all agents). The research presented in this paper improves by new approach the rcsearch described in [l], [3] In [I]. [3] an object-oriented way. based on the specialized Lesv language. to ITS development is given The agent-oriented approach is based on the environment for agent's programming called .1GLess mhich includes Less as its lower level The rest of this paper is organized as follows ITSs are described in the next section Specialized object-oriented language Less is presented in the third section The fourth section is aimed for AGLess and a genenc architecture for ITS Conclusion is gn en in the last section

I. INTRODUCTION
Today, there are a lot of different systems and tools (with or without intelligence) which are to be used in educational processes. Also, a lot of new trends appear in dsigning and implementing [4] cducational systems which brings a need to use and incorporate in them some intelligent behavior. Building intelligent tutoring system (ITS) from scratch is very expensive, exhaustive and time-consuming process. In order to facilitate ITS development, this paper presents a generic ITS architecture that might be used for every ITS' organization. The architecture is proposed as a multi-agent system (MAS) [6], [SI. It consists of several agents that communicate and cooperatively perform their tasks. As a result, global system's behavior emerges. System acts like tutor and student is unaware of its decomposition into agents. Multi-agent approach to system organization provides at least four advantages: it is easier to program several simple entities than to program one complex entity (exploitation of divide-andconquer strategy), agent-oriented programming primitives are rather comprehensive for any programmer and they make programming easier, MAS approach enables harmless modifications and growth of the ITS,

I1 INTELLIGENT TUTORING SYSTEMS


Lesson to be presented is divided into smaller pieces called topics which are someho\v connected in semantic entirety Topics and links betveen them form a multi-directed graph according to a prescribed lesson plan Intelligent tutoring systems are exclusively intended for learning processes To test the knowledge, student has accepted during the process of learning, some problems (tasks) are attached to topics These tasks student tries to solve at some check-points in the graph ITSs are usFally highly specialized systems and that is the reason why they successfully employ the methods of artificial intelligence Architecture and structure of ITS varies, but usually four elements can be recognized [7] 1. Expert (teaching) module is a data base which stores appropriate knowledge.
2. Students' module - is intended for modeling individual student's knowledge in the field where ITS is used. The content of the module constantly changes during the process pf learning.

3. Tutoring module specifies the manner and rhythm of presentation of stored knowledge.

0-7S03-4253-3/97/$10.00 0 1997 IEEE

- 871 -

4 Diagnostic module constantly modifies the students module in accordance with answers that students give to posed questions.

L T o p i c i,s the heart of a niult~-digraph structure for storing information information to be presented and information based on which a decision on further learning direction can be made L T o p i c = CLASS i n h e r i t s I n f o ( query : L I S T O F CLASSES ( L T a s k P , L T a s k T , LTaskR, LTaskB, LTaskE) 1

111 LESS IN BUILDING ITS

Specialized object-oriented language Less [2] has been enhanced to support building of ITS Kernel of Less consists of different basic data structures for information rcpresentation, and different statements and directives for information presentation Basic classes giT,e opportunity for storage of multimedial information Less also possesses mechanisms for creating of new structures As mentioned in [I], 131, the representation domain (lesson knowledge) can be observed as a complch set of nodes are topics which

Expert module is realized by list of L T o p i c ' s objects There are five types of queries The one where student's answer should be explicitly typed-in ( L T a s k P ) the queries when one of several alternatives has to be chosen ( L T a s kT). the queries where correct pairs of items In tno independent lists should be recognized ( L T a s kR), and the tasks where student has to execute longer procedure ( L T a s k E ) All of these task classes inherit, the common CO
LTask L T a s k = CLASS i n h e r i t s I n f o { aldSlvd : LOGICAL; ( * I s t a s k a l r e a d y solved? * ) disp : LOGICAL; ( * T z d i s p l a y or n o t t h e correct a n s w e r a f t e r t h e w r o n g respo dispLT : PUBLIC METHOD ( * a r r a n g e s a l l t h e i n f o r m a t i o n on t h e s c r e e n and a c c e p t s s t u d e n t ' s response * ) }

LOGICAL, and NUMBER Basic structured data types are


0'

LIST

OF

Type

- the list of arbitran. number of

elements of data type T y p e .


T ( T y p e l , . . . , T y p e N ) - n-tuple of ekments of arbitran. data types T y p e l , . . . , T y p e N

.. .,

V a l N ) -enumerated hpe

es are TEXT. PICTURE ANIMATION and SOUND, They have the same structure
- an instance variable for representation of specific kind of information,

Student's model is maintained in the class S t u d e n t The object of the S t u d e n t class contains a list of topics that student has learned Finally, the class L e s s o n is defined in [ 11 as follows
L e s s o n = CLASS{ ident : STRING; lsn : L I S T O F CLASS L T o p i c ; ( * l i s t of l e s s o n ' s t o p i c s * ) gen : L I S T O F CLASS L T o p i c ; (* topics w i t h extra m a t e r i a l *) start : L I S T O F IDENT L T o p i c ; (* s t a r t i n g topics *) stop : L I S T O F IDENT L T o p i c ; ( * ending topics *) c u r r T p c : IDENT L T o p i c ; (* c u r r e n t t o p i c *) c u r r T s k : IDENT L T a s k ; (* current t a s k *) i n t e r p r : P U B L I C METHOD; stud : L I S T OF Student }

- a method for pres


The four primitive class I n f 0, central e
I n f o = CLASS{ ident : STRING; ( * object i d e n t i f i c a t i o n *) k e y : L I S T O F STRING ( * l i s t of k e y w o r d s * ) tex : CLASS T e x t ( * represented i n f o r m a t i o Plc : CLASS P i c t u r e ; ani : CLASS A n i m a t i o n ; sou : CLASS Sound; i n t e r A l l : METHOD ( * f o r i n f o r m a t i o n pres

- 872 -

Tutoring module is supported by defined Lesson class e by making connections betuccn topics and tasks in determining paths through topics Diagnostic module is a \\e& point of suggested system It can be realized in Less. i n rclativcly rudimentary, but satisfactory way All the classes enlisted in this section, more or less modified are also uscd in the agent-oriented approach
i

IV. ITS ARCHITECTURE AS A MAS A. AGLess Environment


AGLess is an environment for agent-oriented programming, devclopcd for ITS' construction Design of AGLess is strongly influenced b? the research described in [ ] [b] In HOMAGE-en\ ironiiicvt [j]an agent specification j, consists of two parts On the lower lex1 a mental state of the agent is defined as a set of objects An object could be a C++, Common Lisp or Java object At tlic higher level. tliere is a language ALL (Agent Level Language) vhich is used for the definition of the agent's initial mental state, mental change rules and for the embedding of objects defined in the loner level into the agent's mental state Lower level of ACLess is object-onented and serves for a definition of classes in object-oriented language Less At the higher level, AGLess offers constructs for an agent specification, which consists of mental cliange rules, mental state definition and mental state initialization Meatal state IS defined using classes defined at lower level Methods in objects correspond to actions of an agent while the object's variable are used for the agcnt's beliefs Also, every agent is able to perform communicative actions Mental change rules are tlie main part of an agent's specification and they determine the behavior of the agent when it receives a inessage in some mental state Every agent in AGLess is able to perform four types of communicative actions
8 ASK VALUE(from-agent, to-agent, belief: e, m )

Enlisted coinniuiiicative actions belong to higher level constructs in A G h . 5 , as well as beliefs about facts and private actions Agent uses coiiiinunication in order to ask or inforin another agcnt about bcliefs It can also request the execution of private action from another agent Receiver of such inessage will try to perforin specified private action and report to sender what happened Agents do not use objects in their coiiimunicatioii Objects are lower level constructs used for the specification of private actions and beliefs (see Table 1 ) Mental-change rules arc the iliain part of every AGLess program. Syntax for mental-change rule is
< r u l e > : : = <msg_-cond> ' , ' <mntl-cond> ' - > ' ' ( ' <sequence> ' ) '

<msg-cond> is logical e\pression that describes messages able to activate tlic rule If <msg-cond> is satisfied, <mnt l-cond> is ehainined <mntl_cond> is logical expression describing the internal statc of agent (its beliefs) that need to be satisficd for the rule to fire Finally, if both conditions arc satisfied, sequence of actions <sequence> is e\ecutcd (sequence> consists of private and/or communicative actions as ne11 as of conditional, looping and assignment statement When agent uses REQUEST-ACTION or ASK-VALUE communicative action, it stops the e'iecution of tlie sequence until it receives a response and executcs tlic rulc for that response After that it continues nith started actions' sequence Mental-change rules can contain variables Like in AGENT0 [ 6 ] ,the! arc e\istcntiall) quantified Program in .4GLcts is aimed for programming of exactly one agent It consists of

- mental statc definition (dcfinition of objects),


- declaration of beiicfs and private actions (they are dcclared with their name and corresponding loner level construct see Table 1 ), - part for mental state initialization, - part for mental change rules
B. ITS Architecture

INFORM(from-agent, to-agent, bel ie f-name, value ) '


REQUEST-ACTION(from-agent, action)

to-agent,

Table 1 higher level private action belief about fact

DONE (from-agent, to-agent, action) REFUSED (from-agent,to-agent, action)


0

1 lowcr level 1 method in object I variable in object

- 873 -

Intelligent tutoring system can be seen as ai1 agency (see Fig 1 ) consisting of Student-Model agent, Tutor agent, Topicl agent, . , Topic. agent Interface agent is represented using the A mental state of the Topic the class L T o p i c uses Objects of the class L T o p i c lhe class L T a s k, the class is also used, but it is modified In 111, every task has associated the nest action that should be performed after finishing current task In the ITS represented as MAS, these actions are only local one The> cannot activate another topic, but only to activate another task inside the current topic The nest topic selection is controlled b> the Tutor agent In the presenting of their information, the Topic agents use the information from Student-Model agent (tasks that student has already solved and the appropriate level of task presentation) Interface agent supports communication betrvcen student an MAS Topic agents have four private actions available
1) activate. 3 ) get-17ext-task,

The rule induces the presentation of unsolved tasks from agent's topic At the end of tasks presentation, Student-Model agent is informed about the results and Tutor agent is informed about the finish of the Topic agent's work
The rule for messages of type
INFORM ( s t u d e n t-m o d e l , t o p i c l , ? n a m e , ? v a l u e )

where student's history or current level of expertise is received from Student-Modcl agent Mental space of Topic, agent includes beliefs about facts FOUND. HISTORY, LEVEL
A multi-digraph which reprcsents the learning process is part of the Tutor agcnt's mental state The mental state of the Tutor agent is implemented xith a new class called L e s s o n This class slightly differs from the class nith the same name that is defined in [l], [3] This agent uses its knowledge and the information received from the Students-Model agent to govern the process of learning After it receives a list of alread! learned topics, Tutor agent determines the next topic using its private action next-topic L e s s o n is defined as folloms
L e s s o n = CLASS{ graph : L I S T OF T(1DENT L T o p i c , IDENT L T o p i c ) ( * l i s t o f d i r e c t e d edges * ) start : L I S T O F IDENT L T o p i c ; ( * s t a r t i n g topics *) stop : LIST OF IDENT L T o p i c ; ( * ending topics * ) c u r r T p c : IDENT L T o p i c ; (* current topic *) n e x t T p c : METHOD; 1

All private actions uses appropriate methods from classes alined for tasks ( L T a s kP, L T a s kT, L T a s kR. L T a s kB and L T a s kE) Eve? Topic agent has two mental change rules

The rule for handling messages of ope


REQUEST-ACTION(tutor, topicl, activate),

Tutor agent uses n e x t T p c in its private action next-topic, until it finds the appropriate topic that has not yet been learned according to lesson's scenario It has two rules The first rule always executes whenever Tutor agent is

active, It produces getting the current student model from


Student-Model agent and activation of appropriate Topic agent The second rule executes when message of the type
INFORM(student-model, topic-history,

tutor,
?value)

*
Fig 1 ITS as an agency

is received Received information is used in appropriate topic selection

- 874 -

Tutor agcnt has its bclicfs about facts such as SOLVED. NEXT-TOPIC-NAME, HISTORY Student-Model agent uscs tlic class Student dcfincd in Less [ 11 Its most important action is get-level It is used for the determination of studcnt's level or hnoivledge or thc lesson It has two rulcs 1. INFORM ( ? t o p i c , student-model, task-history, ? v a l u e ) , TRUE

V. CONCLUSION

->
(update-mode.1(?value))

2. ASK-VALUE(?anybody, student-model, ?name), TRIJE -> (INFORM(student-model, ?anybody, ?name, VAL (?name)) ) Student-model agent has belicfs about facts such as TASK-HISTORY, TOP-HISTORY. LEVEL, STUDENTS, CURRENT-STUDENT Interface agent has only one simple rule that cause tlie cxecution of its private action present-task Aftcr task's prcsentation. it proceeds student's rcsults to appropriate Topic agent The mental change rules in all agents arc defincd way that implements the following algorithm:
in

In this paper, a multi-agcnt generic ITS architccturc using agent-oriented environmcnt ,I GLess is prcscntcd AGLess is clioscn a5 a more suitablc option than an! otlicr or softwarc tool AOP language. environment Appropriateness of AGLess for I T S de\ elopinent stcms from the Less' facilities for ITS' programming [ 11 AOP languagcs such as AGENT0 or an environment such as HOMAGE arc not specialized for tlic dcvelopment of ITS and are less suitable than AGLess for this particular domain On the otlicr hand the most important advantage of tlic ITS as MAS in comparison with the ITS in [ l ] is in the : casicr devclopincnt and modifications of tlic s stein Thc MAS approach esploits divide and conquer stratcg! and thus facilitates a development and modifications of the s stein ! VI REFERENCES M IvanoviC, "Tonards Intelligent Tutoring S stems ! Using Less", (to appear) M Ivanovid.. .4 Contribution to the Developrnent of Programming Languages using Object-0riented ~Methodologv, D Thesis, Unir crsity of No! 1 Sad (in Ph Serbian), 1992 M Ivanovid. and Z Budimac. "Intelligent Tutoring Systems Using Less", in proceedings of the 1993 qmopsis o 1st IEIC BALX4\' Conference on .CIS f Ohrid, Macedonia, pp 2 13-2 14 D A Norman and J C Spohrer. "Lcarncr-centered education", Comniunications of the AGW, vol 39 no 4. Apr 1996,pp 24-27 A Poggi and G Adorni, "A multi language environment to develop multi agcnt applications", in Proceedings of the 1996 Working iVotes of the Third on Agent Theories, International JVorkshop Architectures and Languages, Budapest. Hungaq , pp 249-26 1 Y Shoham, "Agent-oriented programming", Artificial Intelligence, vol 60 no 1, Mar 1993, pp 51-92 P H Wood, "Intelligcnt Tutoring Systems An Annotated Bibliography", SIGART Bulletin, no 1. Jan 1990, pp 21-41 Wooldridge and N R Jennings, "Agent Theories, Architectures, and Languages A Survey", LNAI, Springer-Verlag, vol 890, Intelligent Agents, 1995, pp 1-39

the

step 1. Tutor agent rcccives current studcnt's modcl from Student-Model agent
step 2. Tutor agcnt sends activation message to appropriate Topic agent. step 3. The selected Topic agent presents (through Interface agent) its tasks to the student. using the student's model obtained from Student-Model agent step 4. Aftcr presenting all tasks in the topic, tlie Topic agent sends its report to Student-Model agent to update the student's model. It also sends a message to Tutor agent with information about the end of its activities. step 5. Go to step I

- 875 -

Вам также может понравиться