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