Augment a Turing machine so the head can move an exponential distance in linear time.
One way to do it is for each data tape cell to have an address. The address the head is currently on is maintained in binary on a separate tape (because addresses can be arbitrarily large). A second read/write head operates on the address tape. Modifying the address moves the head on the data tape.
Would it help if the address tape was itself addressable and editable in this way, with another tape up the hierarchy? (Sure, why not?). Assuming an infinite hierarchy, would it help if the hierarchy level itself were logarithmically addressable in the same way?
Merely moving the data head one space left or right becomes annoying because of the need for a binary counter. Perhaps these instructions are built in as syntactic sugar, automatically updating the address tape.
Multiple data tapes may be useful for copying addresses around.
No comments :
Post a Comment