Course Generation Based on Hierarchical Task Network (HTN) Planning

21
German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Deutsches Forschungszentrum für Künstliche Intelligenz Course Generation Based on Course Generation Based on Hierarchical Task Network (HTN) Hierarchical Task Network (HTN) Planning Planning Carsten Ullrich, ABIS’05

description

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 - PowerPoint PPT Presentation

Transcript of Course Generation Based on Hierarchical Task Network (HTN) Planning

Page 1: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial Intelligence (DFKI GmbH)Saarbrücken, Germany

Deutsches Forschungszentrum für Künstliche IntelligenzDeutsches Forschungszentrum für Künstliche Intelligenz

Course Generation Based on Course Generation Based on Hierarchical Task Network (HTN) PlanningHierarchical Task Network (HTN) Planning

Carsten Ullrich, ABIS’05

Page 2: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

Learn about “derivation”

Course Generation, ExampleCourse Generation, Example

RepositoryCourse Generator

Page 3: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

• : : 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.

Pedagogical AimsPedagogical Aims

Page 4: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

Basics of Hierarchical Basics of Hierarchical Task NetworkTask Network Planning 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

Page 5: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

Basics of HTN-PlanningBasics 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

Page 6: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

ChallengesChallenges

• Reasoning about Content• Reasoning about User• Tool Support• Adaptivity++,

Interactivity, Service Provision

• Pedagogical Knowledge

Repository

Learn about “derivation”

Course Generator

Repository

Repository

??

??

??

??

Examples for

“derivation”

??

Page 7: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

Connecting Course Generation and HTNConnecting 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))

Page 8: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

Course Generation by HTN, Course Generation by HTN, ExampleExample

(:method (learnConceptLearnNew ?c)

MethodLearnConceptLearnNew

()

((!startSection LearnNew)

(introduce ?c)

(developConcept ?c)

(practice! ?c)

(connect ?c)

(reflect ?c)

(!endSection)))

Goal Task

Subtask

Preconditions

Page 9: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

Course Generation by HTN, Course Generation by HTN, ExampleExample

(:method (learnConceptLearnNew ?c)

MethodLearnConceptLearnNew

()

((!startSection LearnNew)

(introduce ?c)

(developConcept ?c)

(practice! ?c)

(connect ?c)

(reflect ?c)

(!endSection)))

Page 10: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

Decomposing a TaskDecomposing 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

()

())

Page 11: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

Critical TasksCritical Tasks

• Critical tasks: Have to be fulfilled, otherwise fail

(:method (learnConceptProblemBased ?c)

()

((insertProblem! ?c)

(do something …)))

Page 12: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

Reasoning about UserReasoning 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)))

Page 13: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

Reasoning about ContentReasoning 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 …)(id1 id2 id3 …)

Page 14: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

(:method (learnConceptLearnNew ?c)

MethodLearnConceptLearnNew

()

((!startSection LearnNew)

(introduce ?c)

(developConcept ?c)

(practice ?c)

(connect ?c)

(reflect ?c)

(!endSection)

)

)

Course Generation by HTN, Course Generation by HTN, ExampleExample

Page 15: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

Crucial and Fallback MethodsCrucial 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

Page 16: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

(:method (learnConceptLearnNew ?c)

MethodLearnConceptLearnNew

()

((!startSection LearnNew)

(introduce ?c)

(developConcept ?c)

(practice ?c)

(connect ?c)

(reflect ?c)

(!endSection)

)

)

Course Generation by HTN, Course Generation by HTN, ExampleExample

Page 17: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

Selecting ExercisesSelecting 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!

Page 18: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

(:method (learnConceptLearnNew ?c)

MethodLearnConceptLearnNew

()

((!startSection LearnNew)

(introduce ?c)

(developConcept ?c)

(practice ?c)

(connect ?c)

(reflect ?c)

(!endSection)

)

)

Course Generation by HTN, Course Generation by HTN, ExampleExample

Page 19: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

Service IntegrationService Integration

(:method (reflect ?c) MethodReflectWithOLM ((learningServiceAvailable OLM)) ((!startSection reflect) (!insertLearningService OLM) (!endSection))

MethodReflectManual () ((!startSection reflect) (!text reflect) (!endSection)))

(:- (learningServiceAvailable ?tool) ((call checkService ?tool)))

Page 20: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

ConclusionConclusion

• 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

Page 21: Course Generation Based on  Hierarchical Task Network (HTN) Planning

German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05

ThanksThanks

[email protected]