Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

A (one dimensional) cellular automaton is a function1 F : Σ → Σ with the property that there is a K > 0 such that F (x)i depends only on the 2K + 1 coordinates xi−K , xi−K+1, . . . , xi−1, xi, xi+1, . . . , xi+K . A periodic point of σ is any x such that σ^p (x) = x for some p ∈ N, and a periodic point of F is any x such that F^q (x) = x for some q ∈ N. Given a cellular automaton F, a point x ∈ Σ is jointly periodic if there are p, q ∈ N such that σ^p (x) = F^q (x) = x, that is, it is a periodic point under both functions.

This project aims to explore the nature of one-dimensional Cellular Automata, in the hope of finding the structure of cellular automata through its periodic points.

2034 views
License: MIT
ubuntu2004
1
COMPILE
2
------------
3
4
Source files for FPeriod:
5
Comp.cpp
6
Comp.h
7
Func.cpp
8
Func.h
9
FuncNode.cpp
10
FuncNode.h
11
RecNode.cpp
12
RecNode.h
13
StorageKey.cpp
14
StorageKey.h
15
StorageVal.cpp
16
StorageVal.h
17
StringOps.cpp
18
StringOps.h
19
main.cpp
20
21
Source files for FProbPeriod:
22
Comp.cpp
23
Comp.h
24
Func.cpp
25
Func.h
26
FuncNode.cpp
27
FuncNode.h
28
RecNode.cpp
29
RecNode.h
30
StorageKey.cpp
31
StorageKey.h
32
StorageVal.cpp
33
StorageVal.h
34
StringOps.cpp
35
StringOps.h
36
prob.cpp
37
38
Source files for FDense:
39
Comp.cpp
40
Comp.h
41
Func.cpp
42
Func.h
43
FuncNode.cpp
44
FuncNode.h
45
GroupData.h
46
MList.h
47
RecNode.cpp
48
RecNode.h
49
StorageKey.cpp
50
StorageKey.h
51
StorageVal.cpp
52
StorageVal.h
53
StringOps.cpp
54
StringOps.h
55
dense.cpp
56
57
Note that the programs use STL.
58
59
The programs were developed with g++ 2.95.3.
60
61
How to compile:
62
The following will probably work for any g++ version 2.8 and 2.9, though it was only tested on 2.95.3. It is known to work for g++ 2.95.3.
63
1. Put all the source files in a directory.
64
2. Create a subdirectory called STL and put the SGI STL in this directory. This can be downloaded for free from http://www.sgi.com/tech/stl/
65
3. Do "make FPeriod" or "make FProbPeriod" or "make FDense". This generates the binary executable "FPeriod" or "FProbPeriod" or "FDense".
66
67
If you are using g++ version 3.0 or greater you may have compatibility issues when trying to get the SGI STL to work with your compiler. You may have to make changes to the FPeriod/FProbPeriod/FDense source code, make changes to the SGI STL, or use a different implementation of STL.
68
69
If you are using a compiler other than g++, you may or may not have to make modifications to the FPeriod/FProbPeriod/FDense source code, make changes to the SGI STL, or use a different implementation of STL.
70