avida-ed-library-build/docs/Evosphere_2017_1207.txt

248 lines
6.5 KiB
Plaintext
Executable File

Experiments script
environment
populations
one or more
individual organisms (rovers)
build method on rovers
using factories (reflection with factory rather than actual thing)
Robin
When start play
2 phases (set up and Loop)
Setup
Loop of following to blocks
Start Generation
running phase
replicate phase
When press play
deserializing
calling a bunch of factories
makes some game objects
Life Cycle of an organism
- Spawn
- build
- running (not the update functions)
running is called in the experiment's update function
control to not skip frames
Structure of mono 0 behaviors
Game Object (location in the world)
can have stuff attached.
mono-behaviors attached.
(code to excute)
Mono-behavior is a class
with virtual methods
called by unity engine in an opaque way.
don't worry about how.
wake ( called unconditionally) called as soon as estangiaged.
start (only after exists in the world)
enabled and disabled
update function (called kind of like every frame but not locked to physics engine)
Fixed updated to the physics engine, but not fixed to the update rates
rendering is expensive -
physics is often faster than the rendering
rendering pushing to gpu one bit at a time (not in parallel)
Unity obscures stuff.
appear to running in a single thread (but not really)
Multiple event listeners
void Awake() {
this.enable=clase;
}
spawning is expensive.
- avoid spawning when possible.
try not to spawn new things
Expensive to create new object; cheap to change object.
so reuse object rather than kill and spawn again
Running will not happen before building is done
bodies will be spawned, but the controller will not be spawned.
for x in org.Build() {
yield return x;
}
add org to running list
(keeps running till it dies)
synchronous - all born and die as a group.
selective pressure to be constructed faster if the don't specifically wait for slow builders before running the group.
Need to know when an organism wants to replicate.
Jake left so beginner
Game Objects
- core thing
does not do anything. does not even have a position
- can have multiple components attched to it.
each one is a C# class
access the components with a api
All of the objects get a transform objects
model view mattricies (positional spatial information)
Quaternions - a generization of complex numbers
complex number = real + complex * i
a1 + a2*i + a3*j + a4*k where (1, 2, 3 are subscripts and i, j, k are vectors)
can be restricted to a subset with magnitudes of 1
Eular coorinates can have gimble lock.
meshes and physics objects.
change looks or physics behavior or mono-behaviors.
Exercise to make a simple game in unity
drive ball around in push things and events trigger when it hits things.
re-implement the rovers. Make changes to rovers.
re-do the make command and have it pop up in the user interface.
do some live coding of implementing something.
2017_1208 Charles Meeting
Three parts of contribution to paper
1. Intellecturally
2. data generation (including statistics)
3. writing/editing
Author - made the paper happen as opposed to not happen.
making it rise to higher level quality.
Literature Review - conceptual
Seeds should be different.
every treatment should have unique seed.
Avida (0= random number based on time)
another number - random number base on that seed.
Josh example
Compare high mutation rate to low mutation rate
should be completely different.
If doing paired runs, perhaps.
if you want same initial conditions go out of way to make sure that is true. Don't assume that using the same random seed will do that for you.
Reusing seeds from one treatment to another should not mater.
Leslie Moore never re-used the same seed from experiment to the next.
Paired runs with paired statistics.
If use the same seed - do intentionally and know what you are doing.
# 9 Proffesor asked to review a paper that they know from seeing at conference, but not otherwise. Concerned about ideas effecting their own research. implied belief that ideas will not be stolen by the reviewer. Is it wrong to have a head start.
People worried about being scooped.
Data Matching
Rodan -
python library to access git history.
troll git histories when doing search .
Rose (used evernote for a while)
Noodle - lab notebook.
Rose wrote Noodle (CK editor) saves to html files
python script with flask (attaches to port 5000
search is grep based.
Scientific keeping in journals.
- personal notes and commenatary separate.
- win a nobel prize - notebook published
- if random personal shit in notebook needs to be stated as such.
- helps keep things in context to note some stuff read
- don't put patentable on web unless you want to prevent someone else from patententable. Who ever files first unless it has been made public. Special paper notebooks
Evernote had good handwriting recognition - can
silver note (only for PCs)
Experimental treatment description
discussion of what
Struture in Log form and search for projects.
Links in log to notebooks.
iPython notebook.
Discussion in Noodle.
Tagging is a big thing.
When does one save full data and when can you just save the configuration to generate the data.
Published paper. Lots of fitness data throughout the data. all average in the paper.
Python Library called bump version major or minor push tags to git hub.
Not sure what version that you have done a run on .
Do a final data run after all stat exploration, ideas, etc done.
Time for lab meeting for next semester. Push to slack.
----------
University Lawyer.
solisitation of copywrited material
doing wrong stuff, vs. knowingly knowling doing wrong stuff.
People to inform students of what is allowed and what is not allowed. Will talk to legal stuff at other big 10 conference.
Send a notice that the majority of their stuff is copywrited.
other proposed solutions
- Chad is used for cheating
- Provost looking into what can be done to students for posting course content to Chag??? 2000 level students caught cheating
- plagerism is not technically against the law?
- normal accounts cannot post solutions.
- posting questions and using the answers
- solutions posted for low level courses are reasonable.
Looking new omnibussman at MSU
following Monday a week Party for Rose.
No lab meeting next year.
Bliss Salon and Jamie Fenriss
near Myer on Saginaw west side near 69/96