Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE...

28
Self-replication of complex machines MUX COMP MUX d ORG ORG ORG ORG c b a d e f A C E B D F O R G C E L L M O L E C U LE

Transcript of Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE...

Page 1: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

Self-replication of complex machines

MUX

COMP

MUX

d

ORG ORG

ORG ORG

c

b

a d

e

f

A C E

B D FORG

CELL

MO

LECULE

Page 2: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

Cellular Self-Replication The molecular FPGA is used to CREATE the

array of cells in the first place, before differentiation can take place (self-replication)

Page 3: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

Self-organization

So we can make cells appear and disappear at will in a surface of silicon.

Page 4: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

Self-organization

We can then apply all sorts of nice algorithms: Coordinates

1,1 1,2

2,1

1,3

2,2

3,1

1,4

2,3

3,2

4,1

1,5

2,4

3,3

4,2

2,5

3,4

4,3

3,5

4,4 4,5

Page 5: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

Self-organization

We can then apply all sorts of nice algorithms: Coordinates Gradients

1,1 1,2

2,1

1,3

2,2

3,1

1,4

2,3

3,2

4,1

1,5

2,4

3,3

4,2

2,5

3,4

4,3

3,5

4,4 4,5

Page 6: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

Self-organization

We can then apply all sorts of nice algorithms: Coordinates Gradients L-Systems

1,1 1,2

2,1

1,3

2,2

3,1

1,4

2,3

3,2

4,1

1,5

2,4

3,3

4,2

2,5

3,4

4,3

3,5

4,4 4,5

Page 7: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

1,1 1,2

2,1

1,3

2,2

3,1

1,4

2,3

3,2

4,1

1,5

2,4

3,3

4,2

2,5

3,4

4,3

3,5

4,4 4,5

Self-organization

But all this is (relatively) useless…

A B C D E

F G H I J

K L M N O

P Q R S T

… unless the system can use the algorithms

Page 8: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

X

X

Engineering challenges Connectivity – cellular division

A B

E F

C

I

D

G

J

M

X

H

K

N

L

O P X

F

FF

Page 9: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

X

X

Engineering challenges Connectivity – cellular division

A B

E F

C

I

D

G

J

M

X

H

K

N

L

O P X

F

FF

Page 10: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

X

X

Engineering challenges Connectivity – cellular division and fault

tolerance

A B

E F

C

I

D

G

J

M

X

H

K

N

L

O P X

F

FF

LX

L

Page 11: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

X

X

Engineering challenges Connectivity – cellular division and fault

tolerance

A B

E F

C

I

D

G

J

M

X

H

K

N

L

O P X

F

FF

X

L

Page 12: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

Embryonics – The BioWatch

Page 13: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

MUXTREE Molecule The “molecular” layer of Embryonics is an FPGA

0 10 1 2 3 4

0 10 1 2 3 4

1 0

NOUT

SIN

CK

EOBUS

EOUT

EIN

WIBUS

WIN

WOUT

L2:0 R2:0

1 0 R

SB

1 0EIBUS

B

WOBUS

NOBUS NIBUS

SOBUSSIBUS

5 56 7 6 7

INITP

DQ FF

MUXTREE

MUX

0 L2:0 0 R2:0 N1:0 S1:0 E1:0W1:0 0 P R Bswitch block (SB)connection block (CB)

memory and test

1 0456789101112141618 219

CREGMOLCODE = MC19:0

2 30 1

3 12 0

NOBUS

SOBUS

0

1

3

2

EOBUS1

3

2

0

WOBUSNOUT

NIBUS

NOUT

NOUT

NOUT

EIBUS

S1:0

WIBUS

N1:0E1:0

W1:0

SIBUS

SB

Page 14: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

Kill a Molecule

Page 15: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

MUXTREE Molecule The molecules are configured and interconnected

to realize a cell

Page 16: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

MUXTREE Molecule All connections must be re-routed

Hardware re-routing is a good option because: The connections are few They rely on fixed, configuration-independent

resources (metal lines)

columnspare

active molecule

faulty molecule

spare molecule

Page 17: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

Kill Again (Kill a Cell)

Page 18: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

All connections must be re-routed (including those used to compute the coordinates)

In reality, we “cheated”, since we assumed that: The organism is one-dimensional It’s possible to route lines through a faulty cell

Self-Repair

1

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10

ORIGINAL ORG

6 10 6 10 6 10 6 10

1 2 3 4 1 2

SPARE CELLS

Direction of self-repair

1

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10

1 2 4 1 2

KILL=1

SCAR

106 10 6 101

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10

1 2 3

KILL=1

SCAR

106 10 6 101

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10

1 2 3 4

KILL=1

NEW ORG NEW ORGSCAR

106 10 6 101

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10

1 2 3 4 1

KILL=1

NEW ORG NEW ORGSCAR SPARE CELL

106 10 6 10

Page 19: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

Self-Repair The mechanism can be extended to two

dimensions, by “sacrificing” an entire column whenever a cell dies

But it represents a major loss of efficiency Hardware re-routing like in the molecules is not

an option, because these connections depend on the configuration and change from one application to the next (different cell sizes, communication patterns, etc.)

Page 20: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

S

T

T

?

Page 21: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

The problem of connectivity Connectivity is a major issue, for self-repair but

also in general for developmental systems Solutions for specific cases (e.g., RAM) are

common, but general ones are very rare (at logic level, i.e., FPGAs)

The problem is that, in conventional FPGAs, all the communication paths are part of the configuration of each individual element

One solution was proposed in the POEtic project, a EU project that ran from 2001 to 2004. It involves the development of a novel FPGA circuit for bio-inspired circuits that exploits a dynamic connection network

Page 22: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

The POEtic molecule An industry-level programmable logic element

Page 23: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

The POEtic molecule Molecules, through their configuration, can alter

their functional structure

Page 24: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

Connectivity – The POEtic approach The problem is that, in conventional FPGAs, all

the communication paths are part of the configuration of each individual element

The POEtic solution = dynamically set-up the communication paths at runtime, using a dedicated, configuration-free routing layer

Page 25: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

Connectivity – The POEtic approach In POEtic, molecular connections (gate-to-gate) are

realized conventionally and repair can use hardware re-routing. Cellular connections (processor-to-processor) are realized dynamically in the configuration-free routing layer

Page 26: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

S

T

T

Page 27: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.
Page 28: Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.

Next week We can design complex digital circuits that self-

replicate These circuits can self-repair And they can re-route their connection network

dynamically when needed

But what ARE these circuits? In the BioWatch, they were hand-designed processors. Do we need to hand-design every single circuit, or can we find a processor architecture ideally suited to this kind of non-conventional systems?