Knots are shared a lot here. There are sites listing hundreds of them each with its own strengths and weaknesses and use cases. But is there any science/math to them? For example, if I want to have not with specific set of features, is there something like an algorithm to build that knot from scratch?