Sujet : A New Turing Machine Model
De : wyniijj5 (at) *nospam* gmail.com (wij)
Groupes : comp.theoryDate : 12. Feb 2025, 17:17:42
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <23c2f03654be07b579c1d15f4491bfc6ba0b9031.camel@gmail.com>
User-Agent : Evolution 3.54.3 (3.54.3-1.fc41)
Many should have been annoyed by the low-level-ness of the traditional Turing
Machine. Spu comes to the rescue.
Spu is a simple C++ class, the significance is that it can also be used as a
theoretical TM model, greatly simplifies deduction and statement based on TM
and also significantly provides a way of mechanical verification.
https://sourceforge.net/projects/cscall/------------- Spu manpage
Wy.Sct.Spu(3wy) Wy.Sct.Spu(3wy)
NAME
Spu - Class of general purpose Soft-CPU
SYNOPSIS
Except POD types, C structures, all types are declared in namespace Wy.
#include <CSCall/Sct.h>
Spu (Soft CPU) is a class that mimics the behavior of a general purpose
CPU-based computing machine to provide semantics of computing language
and for remote program communication.
The main differences of Spu and general purpose CPU is that Spu has no
´register´ nor ´flag´, Spu has only a tape. Every object on the tape,
referred to as tape variable, is allocated via instruction Alloc and
identified by a continuous index number. Tape variable can contain any
C++ type, including Spu.
The instruction of Spu is application definable. Except necessary few,
about >30 instructions are defined for convenience, see manpage
Wy.Sct(3wy).
Documentation following omits the scope name Wy::Sct for each occurrence
of Spu for clearity.
PUBLIC MEMBERS
class Reply
typedef ssize_t IndexType
Spu()
~Spu()
InstrIdx next_instr
Array<InstrIdx> istack
Array<unsign char> tape
PtrArray<InstrBase> program
template<T> T& get_data(IndexType) const
void set_instr_spu()
Errno run(InstrIdx)
Errno step()
void add_instr(InstrBase*)
.....[cut]
From the theoretical side, Spu just added an insruction stack (istack) for
'call instruction', others are pretty much the same thing as the tradition TM.
For example, olcott's POOH has been discussed for a long time. One of the basic
problem is that POOH proof is invalid. The reason ('simulator') is a bit
abstract in traditional TM language. But, with Spu, it can be more clearer ---
The simulated program is actually a Spu instance in the tape, it has no way to
access the program (simulator) that simulates it. All things are concrete, not
easy to make words that only significant in the author's mind.