Source: http://www.eng.uwaterloo.ca/~jzelek/teaching/syde361/syde361-Concept_Selection.pdf