
The Turing Machine
دستورالعملها
Run a Turing machine with paper and a coin
Run a Turing machine with paper and a coin
Before simulating one, be one. It takes ten minutes and it is genuinely clarifying.
- Draw a long row of boxes on paper — that is the tape. Write a few 1s in it and leave the rest blank.
- Put a coin on the leftmost box — that is the head.
- Write this rule table down: in state A reading 1, write 1, move right, stay in A. In state A reading blank, write 1, move left, go to state HALT.
- Now execute it strictly. Read the cell under the coin, look up the rule, do exactly what it says, and nothing else.
You have just added one to a number written in unary. More importantly, notice what you were NOT allowed to do: look ahead, remember anything beyond your current state, or make a decision the table did not cover.
That poverty is deliberate. Turing was not designing an efficient computer — he was stripping computation down to the least possible machinery, so that anything he proved impossible for THIS would be impossible for any machine whatsoever. The weakness of the model is the strength of the proof.مواد مورد نیاز این مرحله:
Graph Paper1 pad
Copper Coin1 قطعهThe machine cycle
The machine cycle
Four operations, repeated forever: read, look up, write and move, change state. There is no arithmetic unit, no memory addressing and no instruction set — everything a computer does has to be built out of this loop.
The last branch is the one Turing was actually after. Some machines halt, some run forever, and you might hope for a clever analyser that examines any machine and tells you which. He proved no such analyser can exist — assume one does, and you can build a machine that asks the analyser about itself and then does the opposite, which is a contradiction.
That is not a statement about our cleverness or our computers being too slow. It is a limit on computation itself, proved in 1936, and it is why your compiler cannot warn you about every infinite loop and why no antivirus can perfectly decide whether a program is malicious by analysis alone.Flow
ابزارهای مورد نیاز:
Desktop ComputerSimulate one, and watch the tape evolve
Simulate one, and watch the tape evolve
ابزارهای مورد نیاز:
Desktop ComputerThe universal machine, and why software exists
The universal machine, and why software exists
The step that turns a mathematical curiosity into the entire computing industry.
- Note that each machine above is a DIFFERENT machine — a different rule table for each task.
- Now consider encoding a rule table as symbols ON the tape, alongside the input.
- Design a machine whose rules are: read the encoded table, find the rule matching the simulated state and symbol, apply it, repeat.
That machine simulates any other machine given its description. It is a universal Turing machine, and it is the reason software exists.
Before this, a machine that added and a machine that multiplied were different objects, and Babbage's engine could only ever tabulate polynomials. After it, there is ONE machine and the task is data you feed it. The distinction between hardware and software is created exactly here.
Follow the consequence: if a program is just symbols on a tape, then a program can read another program as input — which is what compilers, interpreters, virtual machines and emulators all are. It also means a program can be given ITSELF as input, and that self-reference is precisely the lever Turing used to prove the halting problem undecidable. The same property that makes software possible makes it impossible to fully analyse.مواد مورد نیاز این مرحله:
Graph Paper1 padابزارهای مورد نیاز:
Desktop ComputerTuring complete, and the low bar for it
Turing complete, and the low bar for it
Find out how little is needed to reach the ceiling of computation.
- List the ingredients of the machine: read/write storage, conditional branching, unbounded tape.
- Remove the unbounded tape and consider what a finite machine can still do.
- Consider whether the relay logic from earlier in this batch, plus enough memory and a conditional jump, would qualify.
Any system with conditional branching, read/write memory and no fixed limit on that memory is Turing complete — able to compute anything computable. The bar is remarkably low, which is why it is reached accidentally: spreadsheet formulas, some card games, Conway's Game of Life and several configuration languages are all Turing complete without their designers intending it.
The one honest caveat: every real machine has finite memory, so strictly it is a finite state machine rather than a Turing machine. The idealisation is useful because the memory limit is rarely the interesting constraint.
And the closing point for the batch: your relay gates, plus the flip-flops, plus the adder, plus a conditional jump, IS a general-purpose computer. Nothing further needs inventing — only assembling, and finding a memory cheap enough to build at scale. That is exactly what the second half of this batch is about.ابزارهای مورد نیاز:
Desktop Computerمواد
2- 2 padجایگزین
- 1 قطعهجایگزین
نقشههای مرتبط
این نقشهها دانش مشترکی دارند — تکنیکها، مواد یا اصول
CC0 مالکیت عمومی
این نقشه تحت مجوز CC0 منتشر شده است. شما آزاد هستید آن را کپی، ویرایش، توزیع و برای هر هدفی بدون نیاز به اجازه استفاده کنید.
با خرید محصولات از طریق نقشه از سازنده حمایت کنید و او کمیسیون سازنده تعیین شده توسط فروشندگان، دریافت میکند یا یک نسخه جدید از این نقشه ایجاد کنید و آن را به عنوان اتصال در نقشه خود قرار دهید تا درآمد به اشتراک گذاشته شود.


