course generation based on hierarchical task network htn planning n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Course Generation Based on Hierarchical Task Network (HTN) Planning PowerPoint Presentation
Download Presentation
Course Generation Based on Hierarchical Task Network (HTN) Planning

Loading in 2 Seconds...

play fullscreen
1 / 21

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


  • 137 Views
  • Uploaded on

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

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

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


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.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 example
Course Generation, Example

Learn about “derivation”

Course Generator

Repository

pedagogical aims
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
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
basics of htn planning
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
challenges
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

connecting course generation and htn
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))

course generation by htn example
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

course generation by htn example1
Course Generation by HTN, Example

(:method (learnConceptLearnNew ?c)

MethodLearnConceptLearnNew

()

((!startSection LearnNew)

(introduce ?c)

(developConcept ?c)

(practice! ?c)

(connect ?c)

(reflect ?c)

(!endSection)))

decomposing a task
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

()

())

critical tasks
Critical Tasks
  • Critical tasks: Have to be fulfilled, otherwise fail

(:method (learnConceptProblemBased ?c)

()

((insertProblem! ?c)

(do something …)))

reasoning about user
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)))

reasoning about content
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 …)

course generation by htn example2
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
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 example3
Course Generation by HTN, Example

(:method (learnConceptLearnNew ?c)

MethodLearnConceptLearnNew

()

((!startSection LearnNew)

(introduce ?c)

(developConcept ?c)

(practice ?c)

(connect ?c)

(reflect ?c)

(!endSection)

)

)

selecting exercises
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 example4
Course Generation by HTN, Example

(:method (learnConceptLearnNew ?c)

MethodLearnConceptLearnNew

()

((!startSection LearnNew)

(introduce ?c)

(developConcept ?c)

(practice ?c)

(connect ?c)

(reflect ?c)

(!endSection)

)

)

service integration
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
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
Thanks

www.activemath.org

cullrich@activemath.org