MiniBitMove
Jump to navigation
Jump to search
MiniBitMove is an language with only two-commands. It takes two inputs, the code and the data tape. Both consist of ones and zeros.
Commands
Each character is one command.
Command | Effect |
---|---|
1 |
Flip the bit at the current cell |
0 |
Move the tape head to the next cell |
The program only stops when the tape head reaches the end of the data tape, looping continuously until it does so. This means that if a program has no zeros, it is an infinite loop.
Examples
Flips all the bits in the tape:
Code: 10 Data: 11111 Result: 00000
Code: 1 Data: 111 Result: Program never ends
Computational class
MiniBitMove can't be a linear bounded automaton because it wouldn't be Turing-complete if it had an infinite tape. One reason is because it can't access values from before once it moves right, which sounds like a finite state machine at first. However, it can't do conditional jumps, which implies that it is less powerful than even a finite state machine.