Neural Networks e Genetic Algorithms + "little" explanation

Discussions about UT99
Post Reply
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Neural Networks e Genetic Algorithms + "little" explanation

Post by PrinceOfFunky »

Well, the title says it all, I was wondering if any of you got to meet these fantastic algorithms which can improve a software in a very good way with a lot of pros, like making it faster reducing rendering time or code-writing time.
It can be used in games, now, Idk how much UT99 would be a good example, we know that when we code into UE we have big limitations cause of the bad-written standard code and the programming language used, but most of these algorithms could break some of these limitations, simulating what we would like to se, focalizing on the idea instead than writing it.
About the last thing, it is a problem cause these algorithms are seen as black-boxes, indeed you cannot understand how they solved a problem, you just know the way they elaborate data.
About UT99, dreaming is not so bad, for example, right today I was watching this vid:
jDxsGW5KUP0
Wouldn't that be cool into Unreal Engine games?

For those who don't know well what ANNs (Artificial Neural Neworks) and Genetic Algorithms are, here's a very little overview:
ANN: Simulates a biological neural network using virtual neurons which elaborate input data (that can be given by, let's say, "senses" or by the output of other neurons). Neurons are disposed in layers, respectively an Input layer; one or more Hidden layers; Output layer. Any layer is a feature, cause depending on the path the data ran into, from a neuron of the prev layer to one of the next one, since every connection has a "weight" that is changed over time (I'm not gonna explain it all, I said a very little overview lol) the data, neuron by neuron, is elaborate differently. One of the problems about ANNs is that they work like ours NNs, they tend to find the Local Minima/Maxima instead of the Global ones, it's like when you peel a banana, you learn to do it in a way and since it works well, you don't try to find better ways to do that.
Genetic Algorithm: Simulates the genetic evolution, with all of its consequential features, like natural selection. It gives a DNA (which is usually a string composed by "genotypes" [difference by "genotypes" and "phenotypes" is that a genotype is the code that generates a phenotype, so a genotype is an encoded phenotype] which is usually a bunch of characters or digits usually.
It gives these DNAs to some entities into a so called "generation", basing on how good they went, a score is given to each of them, the ones with the best scores will reproduce meanwhile the others will "die" (this is so called Natural Selection [not so natural in this case since it's all virtual]). Reproduction works this way: One or more entities DNA's get splitted at certain points (crossover) and different pieces of these DNA's get concatenated and then a mutation happens (which, naturally, is a DNA error), a Genetic Algorithm works even without the crossover, this creates a new generation. As you can see, it leads to find the Global Minima/Maxima without stopping into Local ones, cause the natural selection will always choose the best individuals.
ANN and Genetic Algorithm: To avoid letting an ANN to fall into a Local Minima/Maxima, you can use a Genetic Algorithm which will set a DNA for a generation of clones of the same Neural Network. Usually the phenotypes are the ANNs connections weights. This leads to discard the ANNs which didn't do well as much as the others, making the ones who did survive and reproduce.
"Your stuff is known to be buggy and unfinished/not properly tested"
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Neural Networks e Genetic Algorithms + "little" explanat

Post by sektor2111 »

Not gonna think too much, but the default issue in UE1 is iterations limit crash type (posted often last time in case you did not read forum). This issue is main enemy and it drives to some "break-through" needed making things to go really slow.

Result: If you code a "chess" program in UE1, probably after your move, some nephew of yours will catch next move done by UE1 when you will rest in the grave - I'm overloading presumptions a bit here, but not that much...
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Re: Neural Networks e Genetic Algorithms + "little" explanat

Post by PrinceOfFunky »

sektor2111 wrote:Not gonna think too much, but the default issue in UE1 is iterations limit crash type (posted often last time in case you did not read forum). This issue is main enemy and it drives to some "break-through" needed making things to go really slow.

Result: If you code a "chess" program in UE1, probably after your move, some nephew of yours will catch next move done by UE1 when you will rest in the grave - I'm overloading presumptions a bit here, but not that much...
Well, computational time is less for a hardcoded AI and a Neural Network, an ANN can is composed of a bunch of neurons, the code to write is only the network and its working system, other than that there's no any other code. I don't know if this would still make UE1 slow, maybe sending data from UE1 to a third party ANN and then sending the output back to UE1 would be a solution, it would use much bandwith unless dll's would be used to pass the data around locally.
"Your stuff is known to be buggy and unfinished/not properly tested"
Post Reply