Download presentation
Presentation is loading. Please wait.
1
Artificial Life Systems
2
Why? Seek generalizations about self replication
Address questions we can’t do with real organisms Scale unavailable with real life Evolution Design solutions to computational problems
3
Beginnings Conway’s Life Core Wars (1960’s) Chris Langton’s Ant 1986
Steen Rasmussen observed the success for code war player replicating themselves (1990) Thomas Ray writes Tierra (early 1990’s) Digital organisms as programs (80 lines) Chris Adami used Tierra with evolution (1992) Avida (1993) with Charles Ofria and C. Titus Brown Andrew Pargallis demonstrates spontaneous generation
4
Avida
5
Avida Virtual Machine Read Write heads Flow Control Instruction memory
CPU Registers (3) Stacks
6
Genetic language Multiple instructions sets Template matching
Instructions are opcode only Organized into subsets Default subset is 26 instructions Template matching Relative addressing A series of instructions use to address a location Allows insertions and deletions via mutation
7
Example Inc – increments a register by 1 Which register?
Default is BX register If followed by nop-a instruction then increment the ax register Head are controlled by mov-head instruction Default: move the instruction to position of flow control. Nops change default
8
Replication (with copy mutation)
Allocate Divide
9
Avida world N cells each can hold one organism
World can have topologies
10
Organism Structures # --- Setup --- h-alloc # Allocate extra space at the end of the genome to copy the offspring into. h-search # Locate an A:B template (at the end of the organism) and place the Flow-Head after it nop-C # nop-A # mov-head # Place the Write-Head at the Flow-Head (which is at beginning of offspring-to-be). nop-C # [ Extra nop-C commands can be placed here w/o harming the organism! ] # --- Copy Loop --- h-search # No template, so place the Flow-Head on the next line code h-copy # Copy a single instruction from the read head to the write head (and advance both heads!) if-label # Execute the line following this template only if we have just copied an A:B template. nop-C # nop-A # h-divide # ...Divide off offspring! (note if-statement above!) mov-head # Otherwise, move the IP back to the Flow-Head at the beginning of the copy loop. nop-A # End label.
11
A creature Search # 1: Find organism end. Nop-C # 2: - Match CD:AB
Nop-D Push-Prev # 5: Move end position to Stack-A SetMemory # 6: Place FLOW-head in memory space for offspring Nop-A # Memory space labeled Nop-A Nop-A Nop-A Head-Move # 7: Move Write head to flow head position Nop-C # 8: Followed by lots of nop-c Nop-C # 8: Search # 9: Drop flow head at start of copy loop Inst-Read # 10: Inst-Write # 11: Head-Push # 12: Get current position of... Nop-C # 13: - Read-Head If-Equal # 14: Test if we are done copying... Divide # 15: ...If so, divide. Head-Move # 16: ...If not, continue with loop. Nop-A # 17: Nop-B
13
Some crtisms Lack of explicit theoretical grounding
Predefined organism structure Restricted ecological interactions No competition for matter and energy Evolving a self-reproductive algorithm
14
Framsticks
15
Developed since 1996 (Komosinski and Ulatowski) 3D worlds
Evolution driven by a complex environment Bodies are “sticks and joints” World simulation has basic physics (e.g. friction) Documentation is an issue!
18
Body specification Tree structure: X represents a line segment (stick)
XXX is three segments in line XXX(XX) is a tree structure Rotations can be added with an R modifier or commas Other modifiers plus parameter setting in string
19
Brain Neural nets Basic AI type neurons Function modules
Sinusoidal generators Random generators Thresholding neurons Delay neurons Differentiating neurons
20
Receptors and Effectors
G – orientation and space T – touch S – detection of energy (smell) Effectors Bending and rotation Flexors and extensors
21
Brain encoding Neurons are coded into the framsticks body definition
The brackets are motor neurons, p is the strength property [0:0][-1:1][-1:1] Chain of neurons [N][Sin,f0:0.02-1:0.1]… -1:0.1 is a connection weight 0.1 to the pervious neuron
22
Brain encoding(cont.) X[T][G][S][-3:1, -2:1, -1:1]
Three sensors feeding a neuron
23
Genetics Encoding shown are f1 f0 is primitive machine level
There are multiple levels - f4 supports evolution operations Each encoding has a set of genetic operators
24
Other features FrameScript for extensions
OO with methods for system events onBorn, onKill, onCollision Fuzzy controls GUI design tools Analysis tools (e.g. Brain Analysis) Brain Analysis allows probes
25
Experiments Pendulum-body with fuzzy conrol
Genotype-phenotype encoding Predator-prey showed arms race and stable population in evolution Semiotics
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.