1 / 21

Course Generation Based on Hierarchical Task Network (HTN) Planning

Course Generation Based on Hierarchical Task Network (HTN) Planning. Carsten Ullrich, ABIS’05. Course Generation, Example. Learn about “derivation”. Course Generator. Repository. Pedagogical Aims. : : Represent advanced pedagogical knowledge

finna
Download Presentation

Course Generation Based on Hierarchical Task Network (HTN) Planning

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Course Generation Based on Hierarchical Task Network (HTN) Planning Carsten Ullrich, ABIS’05

  2. Course Generation, Example Learn about “derivation” Course Generator Repository

  3. 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.

  4. Basics of Hierarchical Task Network Planning • Similar to classical AI planning • World state represented byset 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 decomposetasks • down to primitive tasks performed by operators

  5. 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

  6. Challenges Learn about “derivation” Repository Examples for “derivation” • Reasoning about Content • Reasoning about User • Tool Support • Adaptivity++, Interactivity, Service Provision • Pedagogical Knowledge ? ? Course Generator ? Repository ? ? Repository

  7. 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))

  8. Course Generation by HTN, Example (:method (learnConceptLearnNew ?c) MethodLearnConceptLearnNew () ((!startSection LearnNew) (introduce ?c) (developConcept ?c) (practice! ?c) (connect ?c) (reflect ?c) (!endSection))) Goal Task Preconditions Subtask

  9. Course Generation by HTN, Example (:method (learnConceptLearnNew ?c) MethodLearnConceptLearnNew () ((!startSection LearnNew) (introduce ?c) (developConcept ?c) (practice! ?c) (connect ?c) (reflect ?c) (!endSection)))

  10. 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 () ())

  11. Critical Tasks • Critical tasks: Have to be fulfilled, otherwise fail (:method (learnConceptProblemBased ?c) () ((insertProblem! ?c) (do something …)))

  12. 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)))

  13. Reasoning about Content (:method (introductionExamplify ?c) MethodIntroductionExamplify ((learnerProperty anxiety ?an)(call > ?an 2) (assignIterator ?element (call GetElements ((class example) (property difficulty easy) (relation for ?c))))) ((!insertElement ?element))) (:- (assignIterator ?element (?head . ?tail)) ((same ?element ?head))) (:- (assignIterator ?element (?head . ?tail)) ((assignIterator ?element ?tail))) (id1 id2 id3 …)

  14. Course Generation by HTN, Example (:method (learnConceptLearnNew ?c) MethodLearnConceptLearnNew () ((!startSection LearnNew) (introduce ?c) (developConcept ?c) (practice ?c) (connect ?c) (reflect ?c) (!endSection) ) )

  15. 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) (explain ?c) (selectAppropriateExample ?c) (!endSection)) () ((!startSection (develop ?c)) (!insertElement ?c) (explain ?c) (!endSection))) Crucial methods Fallback method

  16. Course Generation by HTN, Example (:method (learnConceptLearnNew ?c) MethodLearnConceptLearnNew () ((!startSection LearnNew) (introduce ?c) (developConcept ?c) (practice ?c) (connect ?c) (reflect ?c) (!endSection) ) )

  17. Selecting Exercises (:method (selectAppropriateExercise ?c) MethodSelectExerciseHighMotivation ((learnerProperty field ?field) (learnerProperty educationalLevel ?el) (learnerProperty motivation ?c ?m) (call >= ?m 3) (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))) Service Provision!

  18. Course Generation by HTN, Example (:method (learnConceptLearnNew ?c) MethodLearnConceptLearnNew () ((!startSection LearnNew) (introduce ?c) (developConcept ?c) (practice ?c) (connect ?c) (reflect ?c) (!endSection) ) )

  19. Service Integration (:method (reflect ?c) MethodReflectWithOLM ((learningServiceAvailable OLM)) ((!startSection reflect) (!insertLearningService OLM) (!endSection)) MethodReflectManual () ((!startSection reflect) (!text reflect) (!endSection))) (:- (learningServiceAvailable ?tool) ((call checkService ?tool)))

  20. 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

  21. Thanks www.activemath.org cullrich@activemath.org

More Related