It is an open question as to whether there is a polynomial time algorithm for recognizing the unknot. 

Consider the following procedure for doing so on an actual physical string: Suppose there is a physical string that is tangled and I am holding both of its ends. To determine whether the string is knotted, all I have to do is pull on both ends, tightening the string. If we end up with an unknotted string, then the
string is unknotted. Otherwise, the string is knotted. I would think if we simulated this process on a digital computer, it would take polynomial time, since in real life it is quick, at least in my experience. Has this idea ever been considered in the literature?

Update: When I wrote this question, I made a mistake in my understanding of what is the unknot. The mathematical definition is a string with its ends glued together with the topology of a torus. I had thought that a string with no knots in it is for all practical purposes the same thing, at least for this question. It turns out that they are not the same. In fact, I now can remember learning a few magic tricks that make use of the fact that they are not the same. Thanks to Andy Putman for pointing my mistake out in the comments.