Genetic programming has been expanded and generalized and is now a core aspect of many AutoML systems.
As another commenter mentioned, when the solution space is comprised of algorithms, programs, or even just functions, GP is still useful.
I am using ideas inspired by, and aligned with, GP in my work today on anomaly detection for multivariate time series data.
Deep learning is not the be-all, end-all just because it outperforms other algorithms on a small subset of possible data types (primarily images, and to a lesser extent, audio).
One interesting direction is the mixture of traditional ML and GP, and some of the “deep GP” variants that combine some of GP’s strengths with some of DL’s.
https://www.computer.org/digital-library/magazines/so/call-f...
Imagine problem of domain but something definite would be nice as having trouble finding anything
Thanks
Furthermore, how do you know if your program is “correct”? a programmer may use test cases and GP the same, but a programmer doesn’t just write code to pass test cases.
DL code writing methods are fine if you just want to generate a bit of code for some that pretty much already exists, but GP is supposed to find completely new solutions to hard problems... so you run into this issue of “what does it mean to solve this problem.”
I also think it hasn’t received the funding or talent it needs to progress. Probably something will come out of the field that suddenly sparks interest and it will take off again.
That's where coding theory comes in. I did some work in this area over 20 years ago during my PhD. The natural genetic coding is a very clever thing - it doesn't code the organism directly - it codes the instructions for building an organism. So naturally, there is a hierarchy of sites on the genome. The sites that code for the earliest instructions have the most impact on the final form, sites which are used later have smaller impacts. So as a human embryo develops, it only differentiates itself from a fish embryo, or a mammal embryo or a primate embryo by stages.
So the sites used as the earliest stages of phenotype development have the biggest impact on the shape of the overall fitness landscape, with smaller impacts from sites used later. this gives rise to a fractal-type fitness landscape - which has sufficient smoothness to enable the genetic algorithm to explore efficiently.
So if you want to make GP or any other type of GA effective, you need to think about your coding schema - coding schemas that build solutions through a process rather than those that directly code the solution are more likely to give rise to suitable fitness landscapes.
So if you're new to the field, I would treat this as an interesting "what if", a vision of the direction AI could have taken... if it had ended up working. But not as a direction to invest a lot of your time in hopes of it paying off in a job.
(And of course, maybe someone will make a breakthrough which rejuvenates the field. If you want to have fun hacking with it, I would never discourage you! Just want to emphasize that it's not the current state-of-the-art, and is doesn't _look_ like the future of AI, as far as we can tell)