3 ms·
This looks fun. One could conceive of a three-pronged approach to circuit design: * Manual placement of components, based on the designer's skill and knowledg
by nicklaf 11y ago
This looks fun. One could conceive of a three-pronged approach to circuit design:
* Manual placement of components, based on the designer's skill and knowledge
* Insertion of preexisting blocks from a library
* Specification of requirements for a generated block to satisfy, triggering evolutionary search as described in the article
I'm not sure how likely beginning with an existing design would impede the evolutionary algorithm from escaping a local optimum based on a bad decision, but one could integrate the third strategy in the above list with the first two in varying degrees.
Loosely related by analogy in the software domain: superoptimization. [1]
[1] https://en.wikipedia.org/wiki/Superoptimization https://en.wikipedia.org/wiki/Superoptimization
- omgtehlion 11y agoNot exactly this. But there is already a router (piece of software that is used to desing printed board out of scematic) employing GA [1]. You mix automatic optimization with manual routing (using your skill and knowledge) and can switch between these modes at any given point. Your manual edits could be used in new generations or you could just say to autorouter: “keep away from this area”. I had some experience with it and was quite satisfied. [1] https://en.wikipedia.org/wiki/TopoR https://en.wikipedia.org/wiki/TopoR