0
$\begingroup$

What approaches are there to generate and evaluate complex structures like, let's say, syntactically correct code? I know the approach of Genetic Programming (GP) as a type of Evolutionary Algorithm, but I wonder if there are any other techniques that are being used to produce complex structures more efficiently.

Note that the syntactically correct code example is just that, an example. The code wouldn't be generated to solve a specific task, although it could try to maximize a fitness function. We could be talking about 3D models, music compositions, etc. What interests me about this issue is if there are Computational Creativity techniques being used or researched in the last years, apart from the mentioned GP.

$\endgroup$
2
  • $\begingroup$ Hello. It seems that you are aware of "generative models", so I guess you have already heard of GANs and VAEs. Is that the case? If so, what exactly are you looking for that would be different than these techniques? GP can be used to evolve programs and you're not just interested in programs, but in other structures. GANs can be used to generate content that is similar to the traning data. Maybe that's not what you are looking for and you may need to clarify exactly what you're looking for then. So, what is your ultimate goal? Do you want to generate just "random complex structures"? $\endgroup$
    – nbro
    Jul 1 '21 at 11:08
  • $\begingroup$ I was aware of GANs, but you just discovered me VAEs. I didn't mention GANs because, as you say, they require training data, while GP does not, and that's what interests me (not requiring data, only simple rules). An example goal would be to generate puzzles solvable by code: for example, generate a layout of objects and the code to make an agent take them all (something similar to what you find in CodeMonkey) $\endgroup$
    – Miguel
    Jul 1 '21 at 15:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.