Source: http://users.encs.concordia.ca/~andrea/inse6411/Lecture 9 Concept selection.pdf