SPARK: simulation and search for exact or approximate Turing Machines.
This program schools, simulates, and searches for exact or approximate Turing machines (TMs) with specific characteristics. It uses alignment-free approaches for searching the tapes and ascii color for beter understanding. Time (sleep) changes are flexible and well as modes.
CMake is needed for installation (http://www.cmake.org/). CMake can be downloaded directly from http://www.cmake.org/cmake/resources/software.html or by any appropriate packet manager. In the following instructions we show the procedure to install, compile, and run SPARK:
sudo apt-get install cmake git git clone https://github.com/cobilab/spark.git cd spark/src/ cmake . make
Run SPARK
./SPARK
To see the possible options type
./SPARK
or
./SPARK -h
this will output the following
NAME
SPARK, v1-r2.
SYNOPSIS
./SPARK [OPTION]...
DESCRIPTION
This program schools, simulates, and searches for exact or
approximate Turing machines (TM) w/ specific characteristics.
ARGUMENTS
-h, --help, give this help,
-a, --about, display extra info,
-x, --version, display version number,
-v, --verbose, verbose mode (more info),
-f, --force, force output overwrite,
-t <INT>, --threads <INT>, number of threads (def:4),
-sc, --skip-complexity, skip complexity process,
-ha, --halt, consider the machine halts,
-ht, --hide-tape, hide tape output,
-sa, --show-all-tape, show all tape iterations,
-hr, --hide-rules, hide rules in top file,
-rt, --random-tape, random tape (input size),
-ip <INT>, --initial-pos <INT>, initial position to start,
-is <INT>, --initial-state <INT>, initial state to start,
-as <INT>, --alphabet-size <INT>, alphabet cardinality,
-sn <INT>, --states-number <INT>, number of states,
-ms <INT>, --max-time <INT>, maximum time before halt,
-ma <INT>, --max-amplitude <INT>, maximum tape amplitude,
-ia <INT>, --min-amplitude <INT>, minimum tape amplitude,
-tm <INT>, --machines <INT>, machines number by thread,
-al <STR>, --alphabet <STR>, alphabet to use (String),
-rs <INT>, --seed <INT>, seed in random generation,
-rt <INT>, --rand-type <INT>, random type: 0=sys,1=rand,
-dl <INT>, --delay <INT>, visualization delay (ms),
-tp <INT>, --top <INT>, high complexity top tapes,
-co <INT>, --ctx <INT>, complexity context order,
-th <DBL>, --threshold <DBL>, threshold: NC(3) | NRC(4),
-md <INT>, --mode <INT>, running SPARK modes:
1 - School (simple),
2 - School (advanced),
3 - NC-Complexity top,
4 - NRC search,
5 - X search,
6 - Impossible,
-ot <FILE>, --output-tape <FILE>, output TM tape to file,
-ox <FILE>, --output-top <FILE>, output complexity top,
-ir <FILE>, --input-rules <FILE>, load input rules for TM,
-it <FILE>, --input-tape <FILE>, load input tape for TM,
-i <FILE>, --input <FILE>, input sequence filename.
EXAMPLES
./SPARK --alphabet-size 5 --states-number 5 --input seq.txt
./SPARK --top 50 --mode 3 --states-number 9 --input seq.txt
COPYRIGHT
Copyright 2017-2024, D. Pratas, IEETA, University of Aveiro.
License GPLv3, GNU GPLv3 <http://gnu.org/licenses/gpl.html>.
On using this software/method please cite:
SPARK: a C program for simulating and searching exact or approximate Turing machines (TM) with specific characteristics. D. Pratas. https://github.com/cobilab/spark.
For any issue let us know at issues link.
GPL v3.
For more information:
http://www.gnu.org/licenses/gpl-3.0.html