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

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


  • 44 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


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

Physics


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


Programs

Programs


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


Limitations

Limitations


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/


  • Login