Artificial Life Systems

Slides:



Advertisements
Similar presentations
Register In computer architecture, a processor register is a small amount of storage available on the CPU whose contents can be accessed more quickly than.
Advertisements

CPU Review and Programming Models CT101 – Computing Systems.
Contents Introduction Tierra system description Mac-tierra Results Discussion.
Computational Evolution & Digital Organisms A look at a subset of Artificial Life.
Introduction to Evolutionary Computation. Questions to consider during this lesson:  - How is digital evolution similar to biological evolution? How.
© Maciej Komosiński, Walter de Back Framsticks Synthetic Evolutionary Psychology based on: works of Walter de Back Department of Philosophy & Robotics.
A Batch-Language, Vector-Based Neural Network Simulator Motivation: - general computer languages (e.g. C) lead to complex code - neural network simulators.
Chapter 9: Subprogram Control
Genetic Programming.
Introduction to Artificial Intelligence. What is Artificial Intelligence? One definition: AI is the study of how to make computers do things that people.
Evolving Motor Techniques for Artificial Life Kelley Hecker, Period 7.
Chapter 11: Artificial Intelligence
Chapter 10 Artificial Intelligence. © 2005 Pearson Addison-Wesley. All rights reserved 10-2 Chapter 10: Artificial Intelligence 10.1 Intelligence and.
Artificial Neural Nets and AI Connectionism Sub symbolic reasoning.
© Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Evolution strategies Evolution.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
Simulated Evolution in the Avida Virtual Machine Joshua Walgenbach I400/I590.
Principles of Program Design What should be taught in core programming curricula.
Emergence and self­organization in Framsticks © Maciej Komosiński.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11: Artificial Intelligence Computer Science: An Overview Tenth Edition.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Objective At the conclusion of this chapter you will be able to:
Evolutionary Computation Dean F. Hougen w/ contributions from Pedro Diaz-Gomez & Brent Eskridge Robotics, Evolution, Adaptation, and Learning Laboratory.
Evolving Virtual Creatures Karl Sims – SIGGRAPH ‘94 Presented by Andy Snyder.
Evolving Virtual Creatures by Karl Sims (1995) Adelein Rodriguez.
Evolving Motor Techniques for Artificial Life Kelley Hecker, Period 7.
Strategies and Rubrics for Teaching Chaos and Complex Systems Theories as Elaborating, Self-Organizing, and Fractionating Evolutionary Systems Fichter,
COMP 1321 Digital Infrastructure Richard Henson University of Worcester October 2012.
Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks.
CITS7212: Computational Intelligence An Overview of Core CI Technologies Lyndon While.
Thread basics. A computer process Every time a program is executed a process is created It is managed via a data structure that keeps all things memory.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Internal Programming Architecture or Model
CPIT Program Execution. Today, general-purpose computers use a set of instructions called a program to process data. A computer executes the.
Presented By: Farid, Alidoust Vahid, Akbari 18 th May IAUT University – Faculty.
CS 461 – Oct. 26 TM practice Arithmetic on a TM TM variants (handout)
Displacement (Indexed) Stack
Evolution Strategies Evolutionary Programming
Format of Assembly language
Presentation on Real Mode Memory Addressing
Chapter 11: Artificial Intelligence
Chapter 11: Artificial Intelligence
Chapter 11 Instruction Sets
Ben Saylor1, Anagha Kulkarni1, Neo Martinez2, Ilmi Yoon1
Assembly Language Programming Part 2
William Stallings Computer Organization and Architecture 8th Edition
Evolutionary Algorithms
By Daniel Gardner P.2 AP Biology
Chap 10 Malicious Software.
Artificial Life Systems
Genetic Algorithms Artificial Life
BARAK NAVEH, Digital Universes < Previous Next > BARAK NAVEH,
COMP 1321 Digital Infrastructure
Introduction to Artificial Intelligence Lecture 11: Machine Evolution
Dr. Kenneth Stanley February 6, 2006
Basics of Genetic Algorithms
Chap 10 Malicious Software.
8051 ASSEMBLY LANGUAGE PROGRAMMING
M. Gams Jozef Stefan Institute
Process.
Some Assembly (Part 2) set.html.
학습목표 공진화의 개념을 이해하고, sorting network에의 응용가능성을 점검한다
Genetic Algorithm Soft Computing: use of inexact t solution to compute hard task problems. Soft computing tolerant of imprecision, uncertainty, partial.
Type Topic in here! Created by Educational Technology Network
Dynamic Binary Translators and Instrumenters
Coevolutionary Automated Software Correction
Procedures & Macros Introduction Syntax Difference.
Presentation transcript:

Artificial Life Systems

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

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

Avida

Avida Virtual Machine Read Write heads Flow Control Instruction memory CPU Registers (3) Stacks

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

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

Replication (with copy mutation) Allocate Divide

Avida world N cells each can hold one organism World can have topologies

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.

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

Some crtisms Lack of explicit theoretical grounding Predefined organism structure Restricted ecological interactions No competition for matter and energy Evolving a self-reproductive algorithm

Framsticks

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!

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

Brain Neural nets Basic AI type neurons Function modules Sinusoidal generators Random generators Thresholding neurons Delay neurons Differentiating neurons

Receptors and Effectors G – orientation and space T – touch S – detection of energy (smell) Effectors Bending and rotation Flexors and extensors

Brain encoding Neurons are coded into the framsticks body definition X(X,RRLX[|,p:1][@,p:1](X,X,X),X) 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

Brain encoding(cont.) X[T][G][S][-3:1, -2:1, -1:1] Three sensors feeding a neuron

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

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

Experiments Pendulum-body with fuzzy conrol Genotype-phenotype encoding Predator-prey showed arms race and stable population in evolution Semiotics