Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Folding Programs Erik Demaine CSAIL, MIT Geometric Folding Algorithms Linkages Paper Polyhedra 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) Folding Meets Computing Algorithms Folding Algorithms Geometry Computing Folding Conformal Computing Conformal Computing Physics Mesoscale Hinged Dissection [Mao, Thalladi, Wolfe, Whitesides, Whitesides 2002] DNA Folding Synthetic DNA to fold into desired polygon [Rothemund — Nature 2006] ~100nm Self-Assembly & Nanomanufacturing Algorithms for programming matter into arbitrary shapes [Cheung, Demaine, Griffith, Jacobson et al. 2008] Self-Assembly of Sorting Circuit Self-Assembly of Sorting Circuit Folding Programs Folding assembly process is useful for more than assembly Can reprogram an already-assembled device by “feeding” program (circuit) Operating System High-level goals: ▪ 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) 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 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) One Solution Regular state (AND/OR/etc.) ▪ 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 Ongoing Work Converting data to programs Cleaner integration of logic & programming Hierarchical programming Simulation Design & develop full operating system within this framework