back
2 comments
I was just thinking about that recently. One of the antenna's my company designed had some weird constraints based on the plastics. The engineer took a wire and bent it by hand to fit while looking at the impedance on a signal analyzer. And... it's a wire with some odd kinks in it.

Worked 'fine'

Later they redesigned the product to use a better classic PCB antenna and it 'sucked'.

Impedance is easy to measure. But this is not the only parameter. A 50 Ohm resistor has a perfect impedance, but makes a terrible antenna. I wonder how they optimized the radiation characteristic this way.
I mistyped, he uses a vector network analyzer for tuning RF stuff. Measures the amplitude and phase of a circuit and generates a smith cart in real time. They've come down in prices a lot but they used to be $50k or more.

There are also simulation tools that allow you to simulate antenna's.

This sounds closer to genetic programming -- they evolved a program that describes an antenna.

The distinction arises because the basic idea of evolutionary computing was independently explored from at least four different directions: genetic algorithms (evolving parameters of fitness functions), genetic programs (evolving program descriptions), evolution strategies (evolving vectors, often including parameters of the evolution process) and learning classifier systems (evolving populations of rules).

Edit: on the other hand, the paper linked specifically calls it out as genetic algorithms. Where's my hat, I feel peckish.

> This sounds closer to genetic programming -- they evolved a program that describes an antenna.

Based on my understanding of the paper, the members of the population were individuals which each encoded an antenna design as lengths of wire segments and rotations between segments. They weren't programs but rather what amounts to descriptions of geometric forms. So the output wasn't a program that was run to give an antenna, it was list of wire segments to assemble together in a certain way. But maybe the differences in in our interpretation comes down to mostly semantics.

On further thinking I think you're closer to it, I was blindly pattern matching on what looked like function names. Usually in GP the thing being evolved is basically an AST, though sometimes it's something like assembler. That's what I latched on to.

But seen as a string of symbol-value pairs, GA is the proper fit I think.