Project 1 - 1D Cellular Automata
Simulator Source Code and Executable:
CASimulator.java (source code)
CASimulator.class (executable)
This program was written in Java by a student who took the class in Fall
2007. It automates the entire process of the table walkthroughs,
calculating and recording the parameter values, and generating images of
the CAs.
Running the program:
To run the program, type the following at the command line:
java CASimulator X
where X is the number of experiments to run.
Note for 594 students:
In order to compute the fifth parameter, you may need to modify the
given Java program.
Experiment records:
The program will create an experiment record sheet in .csv format for
each walk-through. The 4 lambda and entropy values are automatically
written to these reports. You will need to fill in your name, the class
for each step of each walk-through, and an observation for each step of
each walk-through. You may also need to adjust the width of some of the
columns.
Images of CAs:
The program will also generate a .jpg image for each step of each
walk-through. You will examine these images to fill in the rest of the
information in the report sheets.
Classification of the CAs:
A significant piece of this project is to view images and make a
classification based on what you observe. This can be somewhat
challenging since it is very subjective. The link below provides
several examples from each of the 4 classes to help guide you in this
process.
Classification of 1D Cellular
Automata
Report:
There are several items which need to be included in the report.
Calculations: The average and standard deviation of each of the 4
parameters (also the 5th for 594 students) for each instance among all
walk-throughs that you classify as Class IV. Be sure to state which of
the 4 parameters appears to be the best indicator of Class IV, and
explain why.
Graphs: One graph for each of the 4 parameters (594 students will
also make a graph for their 5th parameter). It may help to include two
versions of each graph: one that has all the curves, and one that just
has the points. Including 20 or more curves on one graph can get a bit
messy, so making an additional graph with just points can be helpful.
Discussion: Discuss the correlations (if any) between the
parameter values and the class behavior. Indicate the general range of
values associated with Class IV behavior. Be sure to point out any
anomalies and give possible explanations for these anomalies.
Note if you've observed Class I or II behavior at high parameter values,
or Class IV or III behavior at low parameter values. The more
discussion and analysis that you do, the higher grade you can earn.
Submission:
You need to turn in the following items:
- Report (write up): This includes the 3 items mentioned
above: Calculations, graphs, and discussion/analysis. Format:
.doc or .pdf preferred.
- Experiment record sheets: These are the 20 (or more)
.csv/.xls files that are generated by the program and that you fill in
with the classification information.
Note: Please do NOT submit your .jpg files! It is alright to
include a few in your report as part of your discussion, but we do NOT
want 200+ .jpg images coming at us, and from each student!
Submitting your work: Make a tarfile of all your files and email
your tarfile to kvanhorn@eecs.utk.edu by 11:59 PM on Friday, September
11.
To create a tarfile:
tar -czvf yourlogin.tar.gz directory
where "yourlogin.tar.gz" is the tarfile you are building. The .tar
indicates the file is in .tar format and the .gz indicates that the
tarfile is compressed (zipped). Please use your actual login name for
"yourlogin" so it will be easier for us to keep track of who's
submission is who's.
The last argument "directory" indicates the directory containing the
files you want to include in the tarfile. In this project, your report
and spreadsheet record files would be in this directory.
Grading:
Earning higher grades:
As with all the projects this semester, fulfilling the basic
requirements will earn you a B. To earn higher grades, you will need to
do further experimentation and/or further discussion/analysis. For
this project, if you do significantly more walk-throughs (eg. 30 or 40),
that would boost your grade to a B+. If you also do well on the report
and include thorough analysis, that would boost your grade to an A. If
a 420 student does the 594 portion, that will earn at least an extra
half letter grade, possibly a full letter grade.
Avoiding lower grades:
Your grade will lower from a B if you fail to perform some of the
required experiments and/or you do a poor job on the report. If you did
only 10 experiments (instead of 20), that would probably lower your
grade by half a letter grade. Not including a discussion would probably
drop your grade by a full letter grade. For example, if you just did
20 experiments, but turned in no report, no graphs, and no calculations,
assuming you fulfilled the classification work for the 20 experiments,
your grade would probably be a D. Avoid this by doing and submitting
all the required items!