A Postagép egy Emil Post által 1936 -ban javasolt absztrakt számítástechnika , amelyet a Turing-géptől függetlenül hoztak létre , de a postagépről szóló bejegyzést néhány hónappal később tették közzé. Nagyobb egyszerűségben különbözik a Turing-géptől, ráadásul mindkét gép algoritmikusan „egyenértékű”, és mindkettőt arra tervezték, hogy formalizálja az algoritmus fogalmát és megoldja az algoritmikus megoldhatósági problémákat , vagyis hogy demonstrálja a problémák algoritmikus megoldását utasítássorozat a Postagéphez.
A Posta gépe egy kocsiból (vagy egy olvasó- és írófejből) és egy cellákra osztott, mindkét oldalon végtelenített szalagból áll. A szalag minden cellája 2 állapotú lehet - lehet üres - 0vagy címkével megjelölve 1. A gép ciklusa során a kocsi egy pozíciót balra vagy jobbra mozoghat, számolhat, megváltoztathatja a karaktert az aktuális pozíciójában.
A Postagép működését egy véges számú sorból álló program határozza meg. A gép működéséhez be kell állítani a programot és annak kezdeti állapotát (vagyis a szalag állapotát és a kocsi helyzetét). A kocsit egy program vezérli, amely számozott, nem feltétlenül rendezett parancssorokból áll, ha minden parancs megad egy sort, amelyre ugorjon. Általában elfogadott, hogy ha az átmenet nincs megadva a parancsban, akkor az áttérés a következő sorba történik. Minden parancsnak a következő szintaxisa van:
i. K jahol i a parancs száma, K a kocsi művelet, j a következő parancs (küldés) száma.
Összesen hatféle parancs létezik a Postagéphez:
A "stop" parancsban a következő sorra való áttérés nincs feltüntetve.
A program elindítása után a következő lehetőségek állnak rendelkezésre:
A természetes (nem negatív egész) P és Q számok összeadására és kivonására egy szalagon ábrázolhatók P egységek és Q halmazával , amelyeket egymástól egy nullával választanak el; legyen a mérőpont kezdeti helyzete a Q egységcsoport bal szélső "1"-jén (" " szimbólummal jelölve ): ⇓
⇓ …0010010010110… ╚═══╝ ╚═╝ P QKét szám összeadása triviális - elég a " 1" számok közé tenni és kitörölni egy jobb szélsőt a Q1 ábrázolásából .
Az ilyen számok kivonására1 szolgáló program a Q reprezentáció bal szélső " " és a P reprezentáció jobb szélső " " szekvenciális megváltoztatásából áll . A program elején a kocsi a bal szélső "1"-re áll Q : 1
1. ← - lépj balra 2. ? 1; 3 - ha a cella üres, ugorjon a 1-lépésre, ha nem - menjen a következőre3 3. X - távolítsa el a címkét 4. → - lépj jobbra 5. ? 4; 6 - ha a cella üres, ugorjon a 4-lépésre, ha nem - menjen a következőre6 6. X - távolítsa el a címkét 7. → - lépj jobbra 8. ? 9; 1 - ha a cella üres, menjen a 9lépésre, ha nem - menjen tovább1 9. ! - végeAz 5. sorban akkor lehetséges a ciklus, ha .