FWIW:
Notice that design works in permutation space. That is:
1. We have some variable set of components.
2. Components have pins.
3. The list of connections between pins goes potentially as (pins)! (that's the factorial operator). In a real design, the connections will be sparse, so the size of the space is on the order of, say, 4 choose 100 (that's the 'choose' operator).
Needless to say, the space is large, so you cannot memorize solutions.
That's fortunate for us engineers, who get paid to solve for points in that space.
We of course narrow down that space considerably, by applying electrical rules (any number of inputs can be connected together, and must connect to only one output; outputs cannot connect together), and using building blocks (amps, gates, current and voltage sources and sinks, switches, filters, etc.) to bring order to the mess (say, reducing a problem of 4 choose 100, to more like 3 choose 20 -- which is still pretty big to attack by brute force, mind you).
BTW, a "space" is a set of coordinates over some range. A linear space might be, for example, an array of numbers. 3D space is defined by three axes, numbered over +/-infinity. A permutation space is more specialized, but nonetheless is still just a set of coordinates. If you assign a numbered net to each pin, then all pins that have the same number are connected together on that same net; if different pins connect to that net (even if it's the same number of pins), it's a different circuit. So, different permutations are different circuits, and we have a permutation space. A permutation space is different because it's exclusive: you can't have one pin connecting to two nets at the same time, that's silly, it's just one net all shorted together. That just reduces to a simpler case.
So, any design approaches, algorithms, compiler designs, all that stuff -- anything that applies to a permutation space, can potentially apply to electronic design.
I don't know if that helps, but there's the joke about how mathematicians solve problems. You see, they never actually solve any problems, they just restate the problem in terms of some other already-solved problem, and they're done.
Tim