80 likes | 91 Views
A system solving student degree configuration problems using constraint programming, providing module selection guidance and explanations to users. Pilot study on the Glasgow Computer Science Problem utilizing Choco modeling. Future work includes GUI implementation and exploring higher consistency levels.
E N D
A Student Advisory System: a configuration problem for constraint programming Kevin McDonald & Patrick Prosser
The Problem • University degrees are now modular • a degree is composed of a set of modules • each module is worth a certain amount of credits • students must accumulate a minimum number of credits • modules have pre and co-requisites • Students select modules • they design/configure their own degree course • they want to know implications of choices made • they want to know why certain choices are forced or disallowed
The Glasgow Computer Science Problem (4th year of study) This is a pilot study • 4th year is split across two semesters • 8 modules must be taken • 4 or 5 modules can be taken in 1st semester • 3 or 4 modules can be taken in 2nd semester • there are 8 modules to choose from in 1st semester • there are 8 modules to choose from in 2nd semester • The 1st semester module NCT is a prerequisite for 2nd semester module AC
Modeled as a CSP in Choco • Each module is an IntVar with 0/1 domain • take (1) or don’t take (0) • Each semester is an IntVar • the number of modules that can be taken in that semester • Constraints are • summation for each semester • summation in total • prerequisite as implication P Q • The problem is NOT solved • the user selects modules or de-selects modules • the user can specify the number of modules in a semester • arc-consistency is established • user can step back (undo a decision)
Explanations • User can ask why a module is disallowed or why a module is forced • why is a value disallowed? • why is a value forced? We use Ulrich Junker’s QuickXplain to explain event X
And example of Explanations by QuickXplain • Assume we have made the following decisions • A,B,C,D.E and somewhere in that sequence X has occurred • undo all decisions • make decisions A, then B, then C, then D, … and X occurs! • D is a culprit! • Undo all decisions • make decisions D, then A, then B, … and X occurs • D and B are culprits! • Undo all decisions • make decisions D, then B, … and X occurs • D and B are a sound and minimal explanation! X could be any event
Conclusion & Future Work • The CP encoding captures the dynamics of decision making • data base solutions failed to do this • QuickXplain is very neat • The encoding is simple • Although a CSP, it is not solved in the traditional sense • Did not need to use techniques from dynamic CSP • maybe required on large problem, due only to size. • A bigger problem with a GUI is “on the cards” • Why only arc-consistency? Why not higher levels of consistency?