Experiments with a universal constructor in the digihive environment
Sponsored Links
This presentation is the property of its rightful owner.
1 / 44

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


  • 49 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.

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


Experimentswith a universalconstructorintheDigiHive environment

Rafał Sienkiewicz

GdanskUniversity of Technology, Gdańsk, Poland


Agenda

  • TheDigiHive environment

    • Physics

    • Embeddedprograms

  • A universalconstructor

    • Design

    • Experiments

  • Conclusion


TheDigiHive environment

Mainfeatures, physics, programs…


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


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

  • Twoormoreparticles form a complex of particles.

  • Eachparticlecan bind bothhorizontally (6 directions) and verticallywithotherparticles


Physics - complexes

  • Twoormoreparticles form a complex of particles.

  • Eachparticlecan bind bothhorizontally (6 directions) and verticallywithotherparticles


Physics - complexes

  • Twoormoreparticles form a complex of particles.

  • Eachparticlecan bind bothhorizontally (6 directions) and verticallywithotherparticles


Example – jetpropulsionengine

Complex of particles

Particles


Example – jetpropulsionengine


Programs


Programs

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


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


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():–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 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 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 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

  • 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


Theuniversalconstructor


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)


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

PUT(01010101)

PUT(01010101)

SPLIT(NE)

PUT(01010101)

END


Constructor program example

PUT(01010101)

PUT(01010101)

SPLIT(NE)

PUT(01010101)

END


Constructor program example

PUT(01010101)

PUT(01010101)

SPLIT(NE)

PUT(01010101)

END


Constructor program example

PUT(01010101)

PUT(01010101)

SPLIT(NE)

PUT(01010101)

END


Constructor program example

PUT(01010101)

PUT(01010101)

SPLIT(NE)

PUT(01010101)

END


Constructor program example

PUT(01010101)

PUT(01010101)

SPLIT(NE)

PUT(01010101)

END


Simulationexample

Informationstring

Universal constructor

Particles


Simulationexample


Limitations


Achievingthefulluniversality

Strategy 1

Strategy 2


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 1

Informationstring

Universal constructor


Snowflake – strategy 1


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


Constructorduplication – strategy 2

Informationstring

Universal constructor


Constructorduplication – strategy 2


Furtherresearch…


Furtherresearch

  • Acceleration of execution

  • Fullself-reproduction

  • Comparingvariousstrategies of self-reproduction

  • Allowing random changes (physics, programs, …)


Thankyou!

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


  • Login