Download Course Generation Based on HTN Planning

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Deutsches Forschungszentrum für Künstliche Intelligenz
Course Generation Based on
Hierarchical Task Network (HTN) Planning
Carsten Ullrich, ABIS’05
German Research Center for Artificial Intelligence (DFKI GmbH)
Saarbrücken, Germany
Course Generation, Example
Learn about
“derivation”
Course Generator
Carsten Ullrich – ABIS’05
Repository
German Research Center for Artificial Intelligence
Pedagogical Aims
• :
: Represent advanced pedagogical knowledge
• Joint work with University of Augsburg,
Lehrstuhl für Didaktik der Mathematik
• Formalization of pedagogical strategies
based on OECD PISA
– Focus on mathematical
literacy & competencies
•
•
•
•
problem solving,
use of mathematical language,
mathematical modeling
…
– 6 scenarios: LearnNew, Rehearse, Overview,
trainCompetency, Workbook, ExamSimulation.
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Basics of Hierarchical Task Network Planning
• Similar to classical AI planning
– World state represented by
set of atoms
– Actions correspond to state transitions
• Differences to classical AI planning
– What it plans for: Sequence of actions that
perform a task network
– How it plans:
• Methods decompose tasks
• down to primitive tasks performed by operators
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Basics of HTN-Planning
• Domain description
– Tasks: Activities to perform
• Primitive/Compound
– Operators: Perform primitive tasks
(task, precondition, delete list, add list)
– Methods: Decompose compound tasks
(task, precondition, subtasks)
– Axioms: Infer preconditions not asserted in world state
• Shop2/JShop2: D. Nau et.al., University of Maryland
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Challenges
Learn
about
Examples
“derivation”
for
“derivation”
?
•
•
•
•
Reasoning about Content
Reasoning about User
Tool Support
Adaptivity++,
Interactivity, Service
Provision
• Pedagogical Knowledge
Carsten Ullrich – ABIS’05
Repository
?
?
Course Generator
?
Repository
?
Repository
German Research Center for Artificial Intelligence
Connecting Course Generation and HTN
• Input: Pedagogical Task
• Pedagogical Objective
• List of Content Identifiers
(learnNew (def_function def_deriv))
(getAppropriateExercise (def_function))
• Output:
Actions generating structured sequence of LOs
((!startSection
def_derivation)
(!insertElement
intro_def_funct)
(!insertElement
def_function)
…
(!endSection))
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Course Generation by HTN, Example
(:method (learnConceptLearnNew ?c)
MethodLearnConceptLearnNew
Preconditions ()
((!startSection LearnNew)
(introduce ?c)
(developConcept ?c)
(practice! ?c)
(connect ?c)
(reflect ?c)
(!endSection)))
Carsten Ullrich – ABIS’05
Goal Task
Subtask
German Research Center for Artificial Intelligence
Course Generation by HTN, Example
(:method (learnConceptLearnNew ?c)
MethodLearnConceptLearnNew
()
((!startSection LearnNew)
(introduce ?c)
(developConcept ?c)
(practice! ?c)
(connect ?c)
(reflect ?c)
(!endSection)))
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Decomposing a Task
(:method (introduce ?c)
MethodIntroduce
()
((!startSection (introduce ?c))
(insertMotivation ?c)
(introductionExamplify ?c)
(learnPrerequisitesConceptsShort ?c)
(!endSection)))
• Optional tasks: Should be achieved, but do not fail
(:method (introduce ?c)
MethodIntroduceFallback
()
())
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Critical Tasks
• Critical tasks:
Have to be fulfilled, otherwise fail
(:method (learnConceptProblemBased ?c)
()
((insertProblem! ?c)
(do something …)))
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Reasoning about User
(:method (introductionExamplify ?c)
MethodIntroductionExamplify
((learnerProperty anxiety ?an)(call > ?an 2)
(assignIterator ?element
(call GetElements
((class example)
(property difficulty easy)
(relation for ?c)))))
((!insertElement ?element)))
(:- (learnerProperty ?property ?value)
(same ?value (call queryLM ?property)))
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Reasoning about Content
(:method (introductionExamplify ?c)
MethodIntroductionExamplify
((learnerProperty anxiety ?an)(call > ?an 2)
(assignIterator ?element
(call GetElements
(id1 id2 id3 …)
((class example)
(property difficulty easy)
(relation for ?c)))))
((!insertElement ?element)))
(:- (assignIterator ?element (?head . ?tail))
((same ?element ?head)))
(:- (assignIterator ?element (?head . ?tail))
((assignIterator ?element ?tail)))
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Course Generation by HTN, Example
(:method (learnConceptLearnNew ?c)
MethodLearnConceptLearnNew
()
((!startSection LearnNew)
(introduce ?c)
(developConcept ?c)
(practice ?c)
(connect ?c)
(reflect ?c)
(!endSection)
)
)
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Crucial and Fallback Methods
(:method (developConcept ?c)
((learnerProperty competencyLevel ?c ?cl) (call > ?cl 3))
((!startSection (develop ?c))
(!insertElement ?c)
(!endSection))
((learnerProperty competencyLevel ?c ?cl) (call <= ?cl 3)
(learnerProperty motivation ?c ?mo) (call >= ?mo 3))
((!startSection (develop ?c))
(!insertElement ?c)
Crucial methods
(explain ?c)
(selectAppropriateExample ?c)
(!endSection))
()
((!startSection (develop ?c))
(!insertElement ?c)
(explain ?c)
(!endSection)))
Carsten Ullrich – ABIS’05
Fallback method
German Research Center for Artificial Intelligence
Course Generation by HTN, Example
(:method (learnConceptLearnNew ?c)
MethodLearnConceptLearnNew
()
((!startSection LearnNew)
(introduce ?c)
(developConcept ?c)
(practice ?c)
(connect ?c)
(reflect ?c)
(!endSection)
)
)
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Selecting Exercises
(:method (selectAppropriateExercise ?c)
MethodSelectExerciseHighMotivation
((learnerProperty field ?field)
(learnerProperty educationalLevel ?el)
(learnerProperty motivation ?c ?m)
(call >= ?m 3)
Service Provision!
(learnerProperty competencyLevel ?c ?cl)
(equivalent (call + 1 ?cl) ?ex_cl)
(assignIterator ?exercise
(call GetElements
((class exercise)
(relation for ?c)
(property learningcontext ?el)
(property competencylevel ?ex_cl)
(property field ?field)))))
((insertElement ?exercise)))
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Course Generation by HTN, Example
(:method (learnConceptLearnNew ?c)
MethodLearnConceptLearnNew
()
((!startSection LearnNew)
(introduce ?c)
(developConcept ?c)
(practice ?c)
(connect ?c)
(reflect ?c)
(!endSection)
)
)
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Service Integration
(:method (reflect ?c)
MethodReflectWithOLM
((learningServiceAvailable OLM))
((!startSection reflect)
(!insertLearningService OLM)
(!endSection))
MethodReflectManual
()
((!startSection reflect)
(!text reflect)
(!endSection)))
(:- (learningServiceAvailable ?tool)
((call checkService ?tool)))
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Conclusion
• Using HTN-planning for Course Generation
– Representing pedagogical knowledge
– Distributed content, integration of learning
services
– Adaptivity++, interactivity, service provision,
sub-goal recognition
• Efficient:
– Generation of a course with 15 LO ≈ 700ms
– with caching ≈ 200ms
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Thanks
www.activemath.org
cullrich@activemath.org
Carsten Ullrich – ABIS’05
German Research Center for Artificial Intelligence
Related documents