Presentation is loading. Please wait.

Presentation is loading. Please wait.

Folding Programs Erik Demaine CSAIL, MIT.

Similar presentations


Presentation on theme: "Folding Programs Erik Demaine CSAIL, MIT."— Presentation transcript:

1 Folding Programs Erik Demaine CSAIL, MIT

2 Geometric Folding Algorithms
Linkages Paper Polyhedra

3 Hinged Dissection Universality [Abbott, Abel, Charlton, Demaine, Demaine, Kominers 2008]
Theorem: For any finite set of polygons of equal area, there is a hinged dissection that can fold into any of the polygons, continuously without self-intersection Number of pieces is pseudopolynomial (optimal) Working on pseudopolynomial, which is best you can hope for (even without hinging)

4 Folding Meets Computing
Algorithms Computing Geometry Folding Conformal Computing Physics Folding Algorithms Conformal Computing

5 Mesoscale Hinged Dissection
from from from from [Mao, Thalladi, Wolfe, Whitesides, Whitesides 2002]

6 DNA Folding Synthetic DNA to fold into desired polygon [Rothemund — Nature 2006] ~100nm

7 Self-Assembly & Nanomanufacturing
Algorithms for programming matter into arbitrary shapes [Cheung, Demaine, Griffith, Jacobson et al. 2008]

8 Self-Assembly of Sorting Circuit

9 Self-Assembly of Sorting Circuit

10 Folding Programs Folding assembly process is useful for more than assembly Can reprogram an already-assembled device by “feeding” program (circuit)

11 Operating System High-level goals: Challenges: Load programs/circuits
Destroy programs/circuits Communication channels between running programs/circuits Challenges: Embedding programs onto hardware Routing “reprogramming” instructions Feedback from program to OS (spawn) xxx figure

12 Asynchronous Logic Automaton
2 bits = which gate (4) 3 bits for input 1 (8 neighbors including diagonal) 3 bits for input 2 Bit = 0 wire and 1 wire Neither occupied => ready 0 wire occupied => 0 input 1 wire occupied => 1 input Both wires occupied: unused

13 Reprogrammable Asynchronous Logic Automaton
Simple solution: Bigger rule table, more states, more wires Ideally: Simple rules Small number of additional states Use 0+1 for reprogramming; no extra wires Somewhere in the middle: von Neumann’s Universal Constructor (self-replicating cellular automaton)

14 One Solution Regular state (AND/OR/etc.) Reset state Forward state
0+1 switches to reset state Reset state Accept AND/OR/etc.; programs next regular state Then accept N/E/W/S forwarding direction Once programmed, auto-switch to forward state Forward state Send 0+1 to N/E/W/S to turn next cell to reset state Then pass on all input bits (0/1) to next cell 0+1 switches to ready state, which ignores 0/1 inputs Last node in chain sends back final 0+1 stream to switch ready state to regular state

15 Ongoing Work Converting data to programs
Cleaner integration of logic & programming Hierarchical programming Simulation Design & develop full operating system within this framework


Download ppt "Folding Programs Erik Demaine CSAIL, MIT."

Similar presentations


Ads by Google