1. POST MACHINE
A Post-Turing Machine is a program
formulation of specially simple type
of Turing Machine comprising a
variant of Emil Post’s Turing-
equivalent model of computation.
2. HISTORY
In 1936 introduced the Turing Machine, soon after that Emil
Leon Post(1897-1954) created the Post Machine, which he
hoped would prove to be “Universal Algorithm Machine”. A
condition must be satisfied by such a “Universal Algorithm
Machine” is that any language which can be precisely
defined by Humans, should be accepted by some version of
this machine. This would make it more powerful than
an FA or a PDA. There are non regular languages and
non-context-free languages, but there should not be any
non-Turing or non-Post languages.
3. PM's accept some context-free languages and some non-context-
free languages.
For any Turing Machine there exists a Post Machine which accepts
the same language, and vice versa.
The proof that for any Post Machine there exists a Turing Machine,
say M, which accepts the same language, follows from the fact that
the queue of the Post Machine can be represented by the leftmost
part of the tape of the Turing Machine M and the operations on the
queue can be simulated by operations on the tape.
WORKING
4. OPERATIONS
There are three different operations a Post Machine can complete:
O1: The machine gets into a non-executable state: it has to label a cell already
labelled, or to erase a non-labelled cell. Then the execution is stopped And a
no-result halt takes place.
O2: The machine comes to a halt instruction. The machine has accomplished
the program.
O3: The machine never halts nor comes to a non-executable instruction: it gets
into an infinite loop.
Of course the school child can only get a grasp on these three possible
outcomes if he/she has went through several examples of programs.
5. PROPERTIES
The alphabet of input letters plus the special
symbol #. A linear storage location called the
store or queue which initially contains the
complete input string (using FIFO stack). This
location can be read, by which we mean the
left-most character can be removed for
inspection. The STORE can also be added to,
which means a new character can be
concatenated onto the right of whatever is
there already.
6. PROPERTIES
Read States
which remove the left-most character from the
STORE and branch accordingly. The only
branching in the machine takes place at the READ
states. A branch that means that an empty STORE
was read. PM's are deterministic, so no two
edges from the READ have the same label.
7. PROPERTIES
Add states
which concatenate a character onto the right end of the string
in STORE. This is different from PDA PUSH states, which
concatenate characters onto the left. Post machines have no
PUSH states. No branching can take place at an ADD state.
A start and some halt states called ACCEPT or REJECT.
If we are in a READ state and there is no labeled edge for the
character we have read then we crash, which is equivalent to
taking a labeled edge into a REJECT state. We can draw our
PM's with or without REJECT states.
10. EXPLANATION
A Post machine does not have a separate INPUT TAPE unit. The # is used as an
end-of-input signal. In Read1 we check to see whether we are out of output. We
are reading the end-of-input signal #. If we accept the string, we read the string
“ab”, the string crashes. So nothing starting with ab is accepted. If the string
start with an “a”, this letter is consumed by READ1. The trip from READ1 to
READ2 costs an “a” that is not replaced. The loop at READ2 puts the rest of the
”a’s” from the front cluster of “a’s” behind the #. The first “b” read is consumed
in the trip from READ2 to READ3. At READ3 the rest of the first cluster of “b’s” is
stripped off the front and appended onto the back, behind the “a’s” that are
behind the #. Therefore the language accepted by PM.