# I built a mechanical computer powered by marbles. What are its theoretical limitations?

Over the last couple years, I built a mechanical computer powered by marbles and made a game out of it. It's similar to the old Digi-Comp II, except for two key differences:

1. Parts are repositionable on the board.
2. You can connect multiple 'bits' together using gears. When one of these bits is flipped, it flips the other bits connected to it.

The above link describes how it works. My question is, what are its theoretical limitations? My theoretical computing background is weak, so please ELI5.

edit: I'm not interested in the obvious limitations: speed (not going to win any races there...), board size, or # of marbles. I'm more interested in its theoretical limitations. Maybe it would help to split it into two questions:

1. How can it be proven (or disproven) to be Turing-complete?
2. If more than 3 gear bits are connected together, the friction becomes too great for a marble to turn all of them at once. Does that create additional limitations?

• Do you want to consider an idealized model (infinite grid size, infinitely many marbles), or the specific machine at hand? Looking at the melagne of tags you chose, can you narrow down which questions you want to address? What can be computed? How fast can things be computed? What questions about architecture do you have in mind?
– Raphael
May 6, 2017 at 8:03
• The easiest way to narrow down the capabilities of your model is to answer these questions. 1) What are input and output? 2) Which logical gates can you model? I'm asking 2) because it's clear that you don't have a universal computer there; every board configuration is a fixed program, and that corresponds closely to circuits. So, if you can simulate any complete set of gates (e.g. NAND gates), you have a Turing-complete model (assuming infinite everythings). Since you don't have any static component with two inputs and a single output, I don't see immediately what's going on, though.
– Raphael
May 6, 2017 at 8:09
• That said, interesting project! Please let us know in Computer Science Chat when it launches.
– Raphael
May 6, 2017 at 8:09
• In the video, you say: if you make a board big enough, it can do what any computer can do. Well, yes and no: given a computer, you can (theoretically) build a big enough board, but given a board, you can build a computer that needs a bigger board - and that means your boards aren't Turing complete. Turing completeness requires operating on arbitrarily large memory, something your boards cannot do. Every Turing machine is the limit of an infinite series of finite-tape Turing machines, but that doesn't make finite-tape Turing machines Turing complete. May 6, 2017 at 22:59
• If you make enlarging a board part of the machine's operation, they do become Turing complete. May 6, 2017 at 23:02