A method of assigning a mathematical object (such as a number, a polynomial, or a group) to each of a class of topological spaces (or in the case of knots and links, to a space and collection of subspaces) so that topologically equivalent spaces (or configurations of spaces) receive the...