3 ms·
In computer science, once you understand a data structure, its algorithm is often obvious [1]. Maybe the brain will be like that too, i.e. once you get its stru
by espeed 7y ago
In computer science, once you understand a data structure, its algorithm is often obvious [1]. Maybe the brain will be like that too, i.e. once you get its structure, you get its algorithm for free.
[1] https://news.ycombinator.com/item?id=20047607 https://news.ycombinator.com/item?id=20047607
- criddell 7y agoBut examining the circuits of a computer doesn't tell you anything about a data structure, does it? What would an iPhone schematic tell you about how GarageBand works?
- jmvoodoo 7y agoIt would tell you that GarageBand was a structure of processor opcodes that executed on the processor and had the ability to interface with a storage device, a video screen and an audio processor, among other things, and that the opcodes for GarageBand were likely stored on said storage device. Maybe you wouldn't understand GarageBand yet, but you'd have a solid set of next steps for your research.
- criddell 7y agoWould the layout of transistors indicate that opcodes exist?
- espeed 7y agoHave you ever seen one of Professor Sussman's talks where he analyzes a circuit diagram? For example, see Prof Sussman's 2011 StrangeLoop talk (circuit analysis example begins at ~25 min mark)... We Really Don't Know How To Compute! https://www.infoq.com/presentations/We-Really-Dont-Know-How-To-Compute/ https://www.infoq.com/presentations/We-Really-Dont-Know-How-... If you have the hardware schematic or the physical hardware and enough time, you can figure out what the hardware does. You can determine what its constraints are, and if you understand it well enough (for simplicity's sake, let's say you understand the hardware up to the level of the engineers who designed it), you can tell what the hardware system can and can't do and what type of codes are required to make the hardware work. You can tell at a low level what the GarageBand developers had to work with when they designed their game. And once you know the required codes, you can write software to generate the codes to make it work. And if you're really good and have the right tools, you can analyze the hardware and/or model the data flows to determine what the optimal data structures must be based on the hardware capacity constraints and data flow. Google "reverse engineering hardware chip circuits" or watch Ken Shirriff's 2016 Hackaday talk... Reading Silicon: How to Reverse Engineer Integrated Circuits https://www.youtube.com/watch?v=aHx-XUA6f9g https://www.youtube.com/watch?v=aHx-XUA6f9g