Experiments with a universal constructor in the digihive environment
Download
1 / 44

Experiments with a universal constructor in the DigiHive environment - PowerPoint PPT Presentation


  • 58 Views
  • Uploaded on
  • Presentation posted in: General

Experiments with a universal constructor in the DigiHive environment. Rafał Sienkiewicz Gdansk University of Technology, Gdańsk, Poland. Agenda. The DigiHive environment Physics Embedded programs A universal constructor Design Experiments Conclusion. The DigiHive environment.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

Download Presentation

Experiments with a universal constructor in the DigiHive environment

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Experiments with a universal constructor in the digihive environment
Experimentswith a universalconstructorintheDigiHive environment

Rafał Sienkiewicz

GdanskUniversity of Technology, Gdańsk, Poland


Agenda
Agenda

  • TheDigiHive environment

    • Physics

    • Embeddedprograms

  • A universalconstructor

    • Design

    • Experiments

  • Conclusion


The digihive environment
TheDigiHive environment

Mainfeatures, physics, programs…


Basic features
Basic features

  • An abstract environment designed for artificial life simulations

  • 2 dimensionallatticewithperiodicboundaryconditions

  • Largenumber of entitiescalledparticles

  • Particlescanbondtogether forming a complex of particles

  • At a higherlevel, thecomplexes of particlesmay be interpreted as a program



Physics particles
Physics - particles

  • Particlesare of 256 types, eachparticleisrelated to a set of attributes (e.g. mass)

  • Particlesaremarkedwithvelocity and position

  • Moving and collidingaccording to simplifiedNewtonianmechanics (conservation of energy and momentum)

  • Eitherelasticorinelasticcollisions


Physics complexes
Physics - complexes

  • Twoormoreparticles form a complex of particles.

  • Eachparticlecan bind bothhorizontally (6 directions) and verticallywithotherparticles


Physics complexes1
Physics - complexes

  • Twoormoreparticles form a complex of particles.

  • Eachparticlecan bind bothhorizontally (6 directions) and verticallywithotherparticles


Physics complexes2
Physics - complexes

  • Twoormoreparticles form a complex of particles.

  • Eachparticlecan bind bothhorizontally (6 directions) and verticallywithotherparticles


Example jet propulsion engine
Example – jetpropulsionengine

Complex of particles

Particles


Example jet propulsion engine1
Example – jetpropulsionengine



Programs1
Programs

  • Thestructure of a complexisinterpreted as a program writtenin a declarativelanguage (simplified Prolog)


Programs2
Programs

  • A program isable to selectivelycreate and removebondsbetweenparticlesinitsneighbourhood

  • Stage1: searching - askingaboutthetype of particle and state of itswalls (isitbound, isitadjacent)

    • Possibility of checking an optionalcondition of nonexistence of a particularcomplexorparticles (reaction inhibitor)

  • Stage 2: acting - creating and removingbondsbetweenfoundparticles


Programs3
Programs

  • Declarativelanguageprovides ”softness” – smallchangesin program codeshouldresultinsmallchangesin program activity

  • No high levelsearch and action instructions

  • Thereare no global rulesgoverningtheprograms (e.g. no fitness functionspecified)


Program example
Program example

program():–search(), action().

search():–structure(0).

structure(0):–

exists([0,0,0,0,0,0,×,×], mark V1),

exists([1,1,1,1,1,1,1,1] bound to V1 on N, mark V2),

exists([0,0,0,0,0,0,0,0], mark V5),

not(structure(1)),

not(structure(2)).

structure(1):–

exists([1,1,1,1,0,0,0,0] bound to V2 on NW, mark V3),

exists([1,1,1,1,0,0,0,0] bound to V3 on SW, mark V4),

not(structure(3)).

structure(3):–

exists([0,0,0,0,1,1,1,1] bound to V4 in S).

structure(2):–

exists([1,0,1,0,1,0,1,0]).

action():–

bind(V2 to V5 in SW)


Program example1
Program example


Program example2
Program example

program():–search(), action().

search():–structure(0).

structure(0):–

exists([0,0,0,0,0,0,×,×], mark V1),

exists([1,1,1,1,1,1,1,1]

bound to V1 in N, mark V2),

exists([0,0,0,0,0,0,0,0], mark V5),

not(structure(1)),

not(structure(2)).

structure(1):–

exists([1,1,1,1,0,0,0,0]

bound to V2 on NW, mark V3),

exists([1,1,1,1,0,0,0,0]

bound to V3 on SW, mark V4),

not(structure(3)).

structure(3):–

exists([0,0,0,0,1,1,1,1] bound to V4 in S).

structure(2):–

exists([1,0,1,0,1,0,1,0]).

action():–

bind(V2 to V5 in SW)


Program example3
Program example

program():–search(), action().

search():–structure(0).

structure(0):–

exists([0,0,0,0,0,0,×,×], mark V1),

exists([1,1,1,1,1,1,1,1]

bound to V1 in N, mark V2),

exists([0,0,0,0,0,0,0,0], mark V5),

not(structure(1)),

not(structure(2)).

structure(1):–

exists([1,1,1,1,0,0,0,0]

bound to V2 on NW, mark V3),

exists([1,1,1,1,0,0,0,0]

bound to V3 on SW, mark V4),

not(structure(3)).

structure(3):–

exists([0,0,0,0,1,1,1,1] bound to V4 in S).

structure(2):–

exists([1,0,1,0,1,0,1,0]).

action():–

bind(V2 to V5 in SW)


Levels of simulation
Levels of simulation

  • According to environment settings:

    • Particlesbehavelike an ideal gas

    • Particles form random structures (complexes)

    • Somecomplexesareinterpreted as thedeclarativeprograms, whichareable to selectivelycreateorremovebondsintheirnearestspace


Example of simulation
Example of simulation


Example of simulation1
Example of simulation


The universal constructor
Theuniversalconstructor


The universal constructor1
Theuniversalconstructor

  • Constructsvarious (but not anypossible) structuresbased on itsdescriptionfrom an informationstring (stack of particles)

  • Consistent set of programsbeingable to:

    • Find a validinformationstringinthenearestspace

    • Connectitselfintothestring and start thetranslation

    • Sequentiallyprocessthestring, buildingthedesiredstructure (describedintheinformationstring)


The universal constructor2
Theuniversalconstructor

  • Works as an interpreter of simplelanguage, withthefollowinginstructions (containedintheinformationstring):

    • PUT: adds specified particle to the stack,

    • SPLIT: splitsthecurrentlybuiltstackintotwohorizontallyconnectedstacks of particles

    • NEW: begins construction of a newcomplex, withoutdisconnectingtheconstructorfromthecurrentlyprocessedinformationstring,

    • END: disconnectstheuniversalconstructorfromtheinformationstring, and stopsthetranslation


Constructor program example
Constructor program example

PUT(01010101)

PUT(01010101)

SPLIT(NE)

PUT(01010101)

END


Constructor program example1
Constructor program example

PUT(01010101)

PUT(01010101)

SPLIT(NE)

PUT(01010101)

END


Constructor program example2
Constructor program example

PUT(01010101)

PUT(01010101)

SPLIT(NE)

PUT(01010101)

END


Constructor program example3
Constructor program example

PUT(01010101)

PUT(01010101)

SPLIT(NE)

PUT(01010101)

END


Constructor program example4
Constructor program example

PUT(01010101)

PUT(01010101)

SPLIT(NE)

PUT(01010101)

END


Constructor program example5
Constructor program example

PUT(01010101)

PUT(01010101)

SPLIT(NE)

PUT(01010101)

END


Simulation example
Simulationexample

Informationstring

Universal constructor

Particles


Simulation example1
Simulationexample



Achieving the full universality
Achievingthefulluniversality

Strategy 1

Strategy 2


Snowflake strategy 1
Snowflake – strategy 1

  • Theshape of the ”snowflake”

    cannot be built

    by theconstructor

  • Theshapecan be obtained as a result of activity of a set of 6 buildingprograms

  • The set of buildingprogramscan be build by theconstructor


Snowflake strategy 11
Snowflake – strategy 1

Informationstring

Universal constructor


Snowflake strategy 12
Snowflake – strategy 1


Constructor duplication strategy 2
Constructorduplication – strategy 2

  • It is impossible to encode the constructor’sstructure of bonds

  • The structure being built should not manifest any activity before it is completely finished

  • The universal constructor should not recognize the structure being built as a part of itself

  • Thebestapproachis to usethesecondstrategy


Constructor duplication strategy 21
Constructorduplication – strategy 2

Informationstring

Universal constructor


Constructor duplication strategy 22
Constructorduplication – strategy 2


Further research
Furtherresearch…


Further research1
Furtherresearch

  • Acceleration of execution

  • Fullself-reproduction

  • Comparingvariousstrategies of self-reproduction

  • Allowing random changes (physics, programs, …)


Thank you
Thankyou!

Pleasevisit: http://www.digihive.pl/


ad
  • Login