I am trying to write an algorithm that will match items based on their properties.
I have a list of courses, each course belongs to one or more categories. A single level must have 1 subject from each category. A subject cannot be used for evidence against more than 1 category in a level.
So, for example:
Course x has categories: Cat 1, Cat 2, Cat 3, Cat 4 and Cat 5.
Subject A - Cat 1, Cat 2
Subject B - Cat 2, Cat 3
Subject C - Cat 4
Subject D - Cat 2, Cat 4
Subject E - Cat 5
In this case I would put
A Cat 1,
B Cat 3,
C Cat 4,
D Cat 2,
E Cat 5.
A student may not have completed all categories at the time of running the algorithm so it needs to be able to cope with this.
Any help/advice/papers/snippets greatly appreciated. I have 1500 records to match and have had to start this process manually to get it done on time.