Skip to content
/ spark Public

This program schools, simulates, and searches for exact or approximate Turing Machines (TMs) with specific characteristics.

License

Notifications You must be signed in to change notification settings

cobilab/spark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

License: GPL v3 AFM EXT MOD

SPARK

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.

INSTALLATION

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

EXECUTION

Run SPARK

./SPARK 

PARAMETERS

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>.

CITATION

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.

ISSUES

For any issue let us know at issues link.

LICENSE

GPL v3.

For more information:

http://www.gnu.org/licenses/gpl-3.0.html

About

This program schools, simulates, and searches for exact or approximate Turing Machines (TMs) with specific characteristics.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published