Course Generation Based on Hierarchical Task Network (HTN) Planning

1 / 21

# Course Generation Based on Hierarchical Task Network (HTN) Planning - PowerPoint PPT Presentation

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Course Generation Based on Hierarchical Task Network (HTN) Planning' - finna

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

Carsten Ullrich, ABIS’05

Course Generation, Example

Course Generator

Repository

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.
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:
• down to primitive tasks performed by operators
Basics of HTN-Planning
• Domain description
• Primitive/Compound

• Axioms: Infer preconditions not asserted in world state
• Shop2/JShop2: D. Nau et.al., University of Maryland
Challenges

Repository

Examples for “derivation”

• Tool Support
• Pedagogical Knowledge

?

?

Course Generator

?

Repository

?

?

Repository

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

Course Generation by HTN, Example

(:method (learnConceptLearnNew ?c)

MethodLearnConceptLearnNew

()

((!startSection LearnNew)

(introduce ?c)

(developConcept ?c)

(practice! ?c)

(connect ?c)

(reflect ?c)

(!endSection)))

Preconditions

Course Generation by HTN, Example

(:method (learnConceptLearnNew ?c)

MethodLearnConceptLearnNew

()

((!startSection LearnNew)

(introduce ?c)

(developConcept ?c)

(practice! ?c)

(connect ?c)

(reflect ?c)

(!endSection)))

(: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

()

())

• Critical tasks: Have to be fulfilled, otherwise fail

(:method (learnConceptProblemBased ?c)

()

((insertProblem! ?c)

(do something …)))

(: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)))

(: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))

(:- (assignIterator ?element (?head . ?tail))

((assignIterator ?element ?tail)))

(id1 id2 id3 …)

Course Generation by HTN, Example

(:method (learnConceptLearnNew ?c)

MethodLearnConceptLearnNew

()

((!startSection LearnNew)

(introduce ?c)

(developConcept ?c)

(practice ?c)

(connect ?c)

(reflect ?c)

(!endSection)

)

)

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

Course Generation by HTN, Example

(:method (learnConceptLearnNew ?c)

MethodLearnConceptLearnNew

()

((!startSection LearnNew)

(introduce ?c)

(developConcept ?c)

(practice ?c)

(connect ?c)

(reflect ?c)

(!endSection)

)

)

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!

Course Generation by HTN, Example

(:method (learnConceptLearnNew ?c)

MethodLearnConceptLearnNew

()

((!startSection LearnNew)

(introduce ?c)

(developConcept ?c)

(practice ?c)

(connect ?c)

(reflect ?c)

(!endSection)

)

)

Service Integration

(:method (reflect ?c)

MethodReflectWithOLM

((learningServiceAvailable OLM))

((!startSection reflect)

(!insertLearningService OLM)

(!endSection))

MethodReflectManual

()

((!startSection reflect)

(!text reflect)

(!endSection)))

(:- (learningServiceAvailable ?tool)

((call checkService ?tool)))

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
Thanks

www.activemath.org

cullrich@activemath.org