Adaptation Strategies

This post lists some adaptation strategies (written in the LAG Adaptation Strategy Language) along with example content and demos in ADE/AHA!

ADE is a delivery platform for adaptive educational hypermedia (adaptive e-learning) which I’ve been developing as part of my PhD at the Intelligent and Adaptive Systems group at the University of Warwick.

Show All

Basic strategy that makes all concepts visible.

LAG File | CAF File | ADE Demo


The roll-out strategy does two things: the more times you visit a (sub)lesson, the more of its contents (attributes) become visible. At the same time the opposite is also possible: the more times you visit a (sub)lesson, the more of its contents become invisible. This is governed by weight (number of visits) and label (either showafter or showatmost for content that needs to appear or disappear respectively). The keywords strategy is a special version of the same principle, which only uses labels (number of visits is always 1, and the content is always revealed, never hidden)

LAG File | CAF File | ADE Demo

Visual / Verbal

Concepts are either unlabeled (general) or have label ‘visverb’ with a weight indicating where on the vis/verb axis they lie. Visual concepts have weight nearer 0 and verbal concepts have weight nearer 100. The user has a stereotype ‘visverb’ which is also a number between 0 and 100, with the same meaning (0=visual, 100=verbal user). The user selects a stereotype by visiting special ‘settings’ concepts; the weight of the concept becomes their new visverb number.

A variable in the UM defines a threshold. visverb concepts are visible if and only if abs(weight-stereotype)<=threshold. So it’s like a band filter (this makes it more appropriate to knowledge levels, I guess). General concepts are always visible and have no effect on the adaptation.

LAG File | CAF File | AHA! Demo

Beginner, Intermediate, Advanced

This is an attempt at combining all four of the above strategies, without resorting to labels that are cartesian products. Using Cartesian products a label A-B-C is treated as three labels A, B and C respectively… which one the weight applies to is harder to define, although I guess one could split the weight into component numbers (like units vs tens) that can be separated out again. I don’t really think that’s very elegant or robust though.

So the idea was to have labels/weights be inherited by child lessons unless explicitly overruled by their own label/weight. (This way a concept can indirectly get multiple labels). These labels are all stored in an overlay that is then used instead of the GM labels for the adaptation rules. This is basically a workaround for a MOT shortcoming. Unfortunately the inheritance idea doesn’t work because of the way group lessons are handled by LAG (their labels and weights can’t be inspected). The strategy is included for ‘educational’ purposes, since the principle itself is sound.

LAG File | CAF File | ADE Demo

Type Based

This strategy shows concepts based on their type. This particular implementation only shows concepts of the type text and doesn’t show the other concepts.

LAG File | CAF File | ADE Demo

Relation Based

After seeing all beginner concepts sets the user to intermediate and shows the related concepts

LAG File | CAF File | AHA! Demo

Depth First

This strategy shows the concept labelled as start first, then the rest of the content in a depth first manner using the child-parent relations

LAG File | CAF File | ADE Demo

Breadth First

This strategy shows the concepts in a breadth first manner. It uses a user model variable called level which determines which level in the hierarchy gets shown.

LAG File | CAF File | ADE Demo

Post to Twitter Post to Delicious Post to Digg Post to Facebook

1 comment for “Adaptation Strategies

  1. October 13, 2010 at 9:35 am

    Hi Josh,
    it looks good and the performance is now pretty good as well. I was wondering are there other strategy languages that you can use? Or what can you do in ADE that you can’t do in AHA?


Leave a Reply

Your email address will not be published. Required fields are marked *