Applying Logic Inference Techniques for Gaining Flexibility and Adaptivity in Tutoring Systems Matteo Baldoni, Cristina Baroglio, Viviana Patti Dipartimento di Informatica, Università degli Studi di Torino C.so Svizzera 185 – I-10149 Torino (Italy) E- mail {baldoni, baroglio, patti}@di.unito.it Abstract In this article we present the most recent advancements of a research aimed at applying reasoning techniques to the design and implementation of adaptive services in tutoring systems. In particular, we faced tutoring tasks necessary to study plan construction and validation, and proved the usefulness of reasoning about actions techniques such as planning, temporal projection and temporal explanation. 1 Introduction In this paper we present the most recent results of a work that investigates the application of reasoning techniques, taken from the Artificial Intelligence field of “reasoning about actions and change”, to the implementation of adaptive services in a web-based educational system. Our research was settled in an applicative framework close to our experience as university computer science teachers, due to the simplicity of finding and structuring the necessary information, however, the same approach could be used for supporting the definition of other kinds of university curricula. The issues that we tackled can briefly be described as follows. In Italian universities, students list the courses that they mean to attend in their years as undergraduate students, producing so called study plans. Study plans are not definitive but can be changed along time, according to the student’s most recent experiences. Study plans should respect the rules stated by given guidelines and their consistency is verified by university professors. Both the definition and the validation of study plans are time-consuming, difficult tasks, which require knowledge about all the available courses (prerequisites, topics that are taught) and about the general rules; in case of study plan validation professors also use information about the student’s current situation (e.g. passed exams). Usually, inconsistency resolution can be accomplished only by discussing with the student his/her choices. In our work we dealt with the above mentioned problems by building a recommendation system, named WLog, that can be accessed via the web. Such a system exploits logic reasoning mechanisms that work on a knowledge model (the domain), taking into account the student’s preferences, goals, and current competences. Notice that our aim was not to build a tutoring system that guides the student in learning some instructional content but a decision support system devoted to the specific task of study plan definition. Therefore we do not monitor the student’s progress. All the reasoning techniques that we have used come from the research area of reasoning about actions and change. In this framework, the basic intuition is that each course can be naturally modelled as an action: the action of attending the course. Each attend course action has prerequisites to its execution and some effects, possibly conditioned to further requirements (Baldoni, Baroglio & Patti, 2001). Prerequisites and effects are described in terms of knowledge elements, called competences, whose vocabulary and relationships defines an ontology that is part of the knowledge model. Study plan construction can, actually, be interpreted as a special case of curriculum, or page, sequencing, a well-known adaptive method in the field of Adaptive Educational Hypermedia and Intelligent Tutoring Systems (Weber & Brusilovsky, 2001; Henze & Nejdl, 2001; Stern & Woolf 1998, Baldoni, Baroglio, Henze & Patti, 2002), for suggesting personalized learning or study paths through a hyperspace of information sources. Study plan construction could, in fact, be described as a curriculum sequencing task where the atomic units of information that compose the hyperspace are course descriptions. Our claim is that by using formal reasoning techniques it is possible to improve the quality of the interaction, because such methods allow not only to construct personalized sequences but also to “justify” the proposed solutions and, as we will see, to supply other precious feedbacks to the users. In the next sections we will start by introducing the system architecture and, then, we will shortly describe the domain knowledge for the developed application together with the reasoning mechanisms