Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-

genetic programming

Name: Anonymous 2013-10-05 21:16

In artificial intelligence, genetic programming (GP) is an evolutionary algorithm-based methodology inspired by biological evolution to find computer programs that perform a user-defined task. Essentially GP is a set of instructions and a fitness function to measure how well a computer has performed a task. It is a specialization of genetic algorithms (GA) where each individual is a computer program. It is a machine learning technique used to optimize a population of computer programs according to a fitness landscape determined by a program's ability to perform a given computational task.

Is this really a real thing? how do you even generate and mutate programs?

Name: Anonymous 2013-10-05 21:22

begin by installing gentoo

Name: Anonymous 2013-10-05 21:22

Ask the LORD LORD.

Name: Anonymous 2013-10-05 21:27

Is this really a real thing?
yes
how do you even generate and mutate programs?
easily, if you aint a retard

p.s. spoiler: its shit

Name: Anonymous 2013-10-05 21:36

Genetic programming is going to be a hit. Negroes will use it with the assistance of whites to code for genes that result in higher intelligence.

http://www.halfsigma.com/2007/11/dtnbp1-gene-and.html

After the first wave of genetically modified super intelligent Negroes are born, they'll be able to do it themselves.

Name: Anonymous 2013-10-05 21:44

I've never been able to do anything very interesting in software. Might be because the interpreter for my executable DNA isn't shit. But I'm not an instruction set designer. I'd love to do more work on them though.

GA on hardware: http://www.damninteresting.com/on-the-origin-of-circuits/
He cooked up a batch of primordial data-soup by generating fifty random blobs of ones and zeros. One by one his computer loaded these digital genomes into the FPGA chip, played the two distinct audio tones, and rated each genome's fitness according to how closely its output satisfied pre-set criteria. Unsurprisingly, none of the initial randomized configuration programs came anywhere close. Even the top performers were so profoundly inadequate that the computer had to choose its favorites based on tiny nuances. The genetic algorithm eliminated the worst of the bunch, and the best were allowed to mingle their virtual DNA by swapping fragments of source code with their partners. Occasional mutations were introduced into the fruit of their digital loins when the control program randomly changed a one or a zero here and there.
Finally, after just over 4,000 generations, test system settled upon the best program. When Dr. Thompson played the 1kHz tone, the microchip unfailingly reacted by decreasing its power output to zero volts. When he played the 10kHz tone, the output jumped up to five volts. He pushed the chip even farther by requiring it to react to vocal "stop" and "go" commands, a task it met with a few hundred more generations of evolution. As predicted, the principle of natural selection could successfully produce specialized circuits using a fraction of the resources a human would have required. And no one had the foggiest notion how it worked.
Dr. Thompson peered inside his perfect offspring to gain insight into its methods, but what he found inside was baffling. The plucky chip was utilizing only thirty-seven of its one hundred logic gates, and most of them were arranged in a curious collection of feedback loops. Five individual logic cells were functionally disconnected from the rest-- with no pathways that would allow them to influence the output-- yet when the researcher disabled any one of them the chip lost its ability to discriminate the tones. Furthermore, the final program did not work reliably when it was loaded onto other FPGAs of the same type.

It seems that evolution had not merely selected the best code for the task, it had also advocated those programs which took advantage of the electromagnetic quirks of that specific microchip environment. The five separate logic cells were clearly crucial to the chip's operation, but they were interacting with the main circuitry through some unorthodox method-- most likely via the subtle magnetic fields that are created when electrons flow through circuitry, an effect known as magnetic flux. There was also evidence that the circuit was not relying solely on the transistors' absolute ON and OFF positions like a typical chip; it was capitalizing upon analogue shades of gray along with the digital black and white.

Name: Anonymous 2013-10-06 19:27

>>6
sounds lame, magnetic fields shouldn't interfere
also, where can I find some example code?
I found this http://www.geneticprogramming.com/Tutorial/index.html but no example code in here, this tutorial is too incomplete!

Name: Anonymous 2013-10-07 19:37

>>4
why is it shit?

Name: Anonymous 2013-10-07 19:54

>>7
It did in 37 gates what would have taken a human thousands to do (by implementing loops apparently based on induction rather than using a clock) and you don't find that interesting?

magnetic fields shouldn't interfere
You realize that this is an optimization method, right? That's like God complaining that cells need oxygen for respiration and insisting that everything be anaerobic. We'd never have gotten past bacteria in that case. Go back to /g/ if you can't appreciate such interesting things, since it's clear you don't want anything that can't be shit out in python in ten lines.

Name: Anonymous 2013-10-07 21:00

>>9
>le pedophile pedo

Name: Anonymous 2013-10-07 22:45

>>9
I mean it shouldn't interfere because then it isn't reproducible, like it depends on the details of the hardware and isn't an algorithm per se

Name: Anonymous 2013-10-07 23:58

>>11
It's adapted the the very flaws in the hardware that it resides on. It doesn't get much more optimized than that. Consider the fact that you breathe through the same tube that your food passes through. That makes it possible to choke on food. This is true for all vertebrates that I've ever heard of, but it wasn't always the case. Many extinction events ago, during the Cambrian explosion, there were animals that had separate tubes for air and food (and also many interesting body plans (that weren't just two legs + two arm things + a torso + a head) that are now gone). But... they died off, probably because of a meteor or volcano or some sort of misguided reptilian Hitler that had to exterminate the unfit or something. Who knows. So life was stuck with an easily choke-able lifeform. It's hard for a genetic algorithm to break out of local extrema, so it just had to work around it, and thats why you have the hangy-thing in the back of your throat, because a gag reflex was the best that evolution could come up with without a major shift in body structure.

Sooooo, my point with that ramble was to bring up fitness and local maxima. You won't move out of the local maxima because to do so, you'd have to decrease fitness. You'd either have to change the fitness curve (a change of environment, like, say, an ice age in real life would) or hope that random mutation would get you out. Since it's not totally different, running the selection algorithm on the same type of hardware would be only a slight change to the fitness curve, and would probably get a working design after a few hundred generations (like breeding antibacterial resistant bacteria by changing it's environment to include antibacterials).

To solve the issue of magnetism, you'd could, I suppose, use a simulator that didn't supply the details of induction, or select for designs that don't use magnetism somehow (by simulating every design?). The design wouldn't be as efficient as the one performed on real hardware though.  Take a look at the weird antennas that NASA got at the bottom of the site I linked. Pretty kewl, but it's likely that such a simulation would take a few years on the computers you and I have. ;_;


like it depends on the details of the hardware and isn't an algorithm per se
I think that you are expecting the wrong thing here. At it's basis, a genetic algorithm is just another searching algorithm designed to find a solution. It's much faster than an exhaustive search of the solution space, but at the cost that it probably won't ever find the best answer, only a good-enough answer (one that satisfies the parameters of the selection algorithm). It would have to be a pretty simplistic problem to ever stumble on the global maxima, like the only requirement being that it select between two tones. Think of it as a binary tree search, where, once the tree is splayed, the search space is reduced by half every time you traverse a node, except you don't know what you're searching for and you don't know what's contained. But if that list is huge, it's still going to take a dickload of time.

I think you're interested in something like executable DNA to find actual algorithms. It's unlikely that it's ever going to do anything that you want. You'll probably never even stumble upon an algorithm that will produce the average of an arbitrary list of integers, since it's going to optimize for your training data. That's a problem similar to early neural nets, which caused much humiliation. They trained their network on images of tanks and images of trucks (to tell the difference; keep in mind that this was cutting edge, top secret military shit back in the 1620's or whenever, sometime before the AI winter) until it could identify them perfectly. But it couldn't work on any other data set. As it turned out, they took the pictures of the tanks on a rainy day, and the pictures of the trucks on a sunny day, and all the percepitron had learned was to tell if the image was light or dark. And thus funding was pulled and AI researchers were made the laughing stock of computer science for the first time. But it would by no means be the last.

The moral of that story is that you're probably fucked if you expect it to produce anything useful beyond a very small problem space. Sorry. A more realistic goal would be to write something yourself and let it be optimized. Let's work on that in this thread.

Name: Anonymous 2013-10-08 0:32

Project: Making fun programs with genetic algorithms by means of executable DNA

What is the problem? Really needs to be something continuous, where some answers are great, some are mediocre, and some are just terrible. It's hard to select from something that's either right or wrong with nothing making any wrong answer less wrong than any other (which means that it'd be useless to try to get a XOR out of nothing but NANDs, since it's either right or not with nothing in between).

What is the fitness criteria? How do we rank the solutions from best to worst? Statistical methods on how correct it was? A weighted average on how well it performed and stuff like execution time? But if that's the case, then what should our weights be (do we value correctness ten times more than efficiency)?

How do we purge the unfit? Do we drop the ones below a certain fitness level or increase their mutations? It's fine to just kill them off if the fitness curve never changes, but if it does then we risk a local maxima.

How do we recombine and mutate? How do the programs breed (no, really, how)? Do we combine the `DNA' by taking every other instruction and merging them? How often do we mutate? It should be frequent enough to get out of any local extrema that arises, but not enough that we're basically just bruteforcing.

What does the `DNA' look like? Read: what does our little instruction set look like? This is tricky for many reasons. There must be only one way to do things, otherwise recombination will just result in garbage, no matter how similar the output is. It's should be resistant to deleterious mutations, otherwise a something might turn a JMP into an ADD and fuck everything up.  It should be compact, since we don't have an infinite amount of memory to work with here. I'm not instruction set designer, this is someone else's problem.

Name: Anonymous 2013-10-08 0:58

**YOU HAVE BEEN VISITED BY LE TOP LEL OF COMEDY GOLD** POST THIS IS 3 threads or lose your sides!
░░░░░░░▄▀▀▀░▄▄▄▄░░░▀▀▀▀▀▀▀▀▄▄░▀
░░░░░░░█░░░░░░░░▀▀▀▀▀▄▄▄▄▄▄▄▄▀░░█
░░░░░▄▀░░░░░░░░░░▄░░░░░░░░▄▄░░░░░▀▄
░░░▄▀░░░░░▄▀▀▀█▄░▀░░░░▄▀▀▀██▀▀▄░░░░░▀
░░▄▀░░▄▄░░▀▀▀▀████▀░░░▀▄▄▀▀▀▀▄█░░░░░░█
░▄▀░▄▀█░░▄▄░░░░░░░█░░░░░▄▄▄░░░▀▀░░░░░░█
▄▀░░█░█░▀░░▀▀▄░░░░░█░░░░░░░▀▀▀▀▀▄░░░░░█
▀▄░░▀░█░░░▄░░░░░░▄▀░░░░▀▄░░░▄▄░░▀▄░█░▄▀
░░▀▄░░░░█▀▄░░░░░▀█░░░░▀▀░█▄▀▄░█░░░█░█
░░░░█░░█░▀▄▀▄▄░░░░▀▀▀░░░▄█▀░▄▀█░░░░▄
░░░░░█░░█░▀▀▄░▀▄▄▄▄▄▄▄▀█░▄█▀▄▀░░░░░
░░░░░█░░▀▄▄░░▀█░░░█░░▄▄▀▀▄▄█▀░░░░▀
░░░░▄▀░░░▀▄▀▀▄░▀▀▀▀▀▀▄▄▀▀▀▄▀░░░░▀
░░░▄▀░░░░░░▀▄░█▄▄▄▄▀▀░▀▄▀▀░░░▄▀▀
░░▄▀░░░░░░░░░▀▄▄▄▄█▄▄▀▀░░░░▄
░░█░░░░░░▀▄▄░░░▄▄▄▄▄▄▀░░░▄▀
░░█░░░░░░░░░▀▀▀▄▄▄▄▄▄▄▀▀
░░░█░░░░░░▀▀▀▀▀░░░░▄
░░░▀▀▄▄▄▄▄▄▄▄▄▀▀▀

Name: Anonymous 2013-10-08 1:39

It must piss you off, OP, that nobody answered your question.  GP can be most easily be done with LISP, but really any language can be used that can be represented as a tree.  Then trees can trade branches or nodes to mimic biological reproduction.

Name: Anonymous 2013-10-08 2:14

>>15
The second question is
how do you even generate and mutate programs?
where he defines programs as
that perform a user-defined task
. And that question has been answered, from which the answer the the first question can be inferred.

Name: Anonymous 2013-10-08 2:17

>16
Maybe if you spent less time masturbating you'd have less questions.

Name: Anonymous 2013-10-08 7:49

sexual reproduction is shit

how far back do i need to go to change evolution and make humans reproduce by sporing?

Name: Anonymous 2013-10-08 8:02

>>15
Yeah, this is bullshit.
Genomes are by no means restricted to tree representations.
Simplest and most common way is by using an array.
There's a whole bunch of ways to mutate and breed solutions.
https://en.wikipedia.org/wiki/Crossover_%28genetic_algorithm%29
https://en.wikipedia.org/wiki/Mutation_%28genetic_algorithm%29

Note that I said solutions, not programs.
Generally you have some framework algorithm that you're going to use, and then you use genetic programming to find the parameters that achieve the best results when using that algorithm.

It's just another take at optimisation problems

Name: Anonymous 2013-10-08 8:11

>>18
God created man, then from his rib He created woman

Name: Anonymous 2013-10-08 8:21

>>20
how did god create nigger?

Name: Anonymous 2013-10-08 8:23

>>21
They're just really suntanned white people.
Also Adam, Eve, and Jesus were all middle eastern

Name: Anonymous 2013-10-08 8:26

>>21
Dark matter. Niggers were an early prototype for man. God kept them around for the lulz

Name: Anonymous 2013-10-08 8:37

>>18
Might be tough.... Even some bacteria have sex[1]. Anyway, you'd have to go back about 1.2 billion years to stop it completely. Then you'd probably have to jump forward by several billion, because things move very slowly when you're working only on mutations. Sexual reproduction would appear to be Quite Important, because it's even things that can reproduce asexually, like plants, seem to prefer it. It could be like flight or swimming, where it evolved independently multiple times, in which case you have little chance of stopping it.

_________________
[1] - http://en.wikipedia.org/wiki/Bacterial_conjugation

Name: Anonymous 2013-10-08 9:07

>>24
Even the yeast in the beer I drown my sorrows in is having more sex than me. ;________________;

Name: Anonymous 2013-10-08 10:02

>>25
It gets worse: even that mold growing on the three-month-old leftovers you have in the back of your refrigerator is having sex. http://en.wikipedia.org/wiki/Mating_in_fungi

Name: Anonymous 2013-10-08 10:24

33 GET

Name: Anonymous 2013-10-08 10:30

2+2+2+2+2+2+2+2+2+2+2+2+2+2 GET

Name: Anonymous 2013-10-08 10:58

1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1 GET

Name: Anonymous 2013-10-08 11:06

2*3*5 golden ration get

Name: Anonymous 2013-10-08 11:07

5*5+5 GET

Name: Anonymous 2013-10-08 11:08

22222 GET

>>30
You got my get ;_;

Name: Anonymous 2013-10-08 11:13

dubs GET

Name: Μerchant 2013-10-08 11:23

>>33
11:13
[b]Good goyim[/β]. You lost the full GET

░░░░░░░▒▄▄▀██▀▀▄▄░░░▌▒▌░░░░▌░▄▀░
░░░░░▄▀▀▒▒░░░▀▀▄░▀▄░▌▒▌░░░░▄▀░░░
░░░░█░░░░░░░░░░░▀▄░▌▌▒▌░▄█▀░░░░░
░░░█░░░░░░░░░░▒▒▒▒▐▐▌▒▄▀░▌░░░░░▄
░░▐░░▄░▄▄▄▄▒░░▒▒▒▒▒▒▌▒▌░░▌░░░▄▀░
░░▌▀▄░▀░░░░▀░░░▒▒▒▒▒▌▒▌░░▌▄▄▀░░░
░░▌▄▐░░▌██▐▒░░░▒▒▄▀▌▌▒▌░▄▀░░░░▄▀
░▐▀░░░░░▀▀░░░░░░▒░▌▌▌▒▌▀░░░▄▄▀░░
░▌░░▄▀▄░░░░░░░▒▒▒░▀▄▌▒▌▀▄▀▐░░░░░
▐░░░▄▄▄█▒▒▒▒▒▒▒▒▒▒▐░▌▒▌░░░▐░░░░░
▀▄▄▀▄▄▄▄▄▄▄▄▒▒▒▒▒▒▌░▌▒▌░░░▐░░░░░
░░░░▀▄▄▄▄█▀▄▒▒▒▒▒▐░░▌▒▌░░░▐░░░░░
░░░░░▄▀▀▀▄▀▒▒▒▒▒▒▌░▐▌▒▌░░░▐░░░░░
░░░█▀▄░▀▀▒▒▒▒▒▒▒▐░▌▌▌▒▌░░░▐░░░░░
░▄▄▌▄░▀▄▒▒▒▒▒▒▒▐░▌█░▌▒▌░▀░▌░░░░░
▐▀▄▀▀░░░▀▄▒▒▒▒▒▌░▀░░▌▒▌░░░▌░░░░░
▌▀░▀░░░░▄▀░▀▀▄█▄█▀▄░▌▒▌░░░▌░░░░░
▀▄▀▄▀▄▀░▌▌░░░░░░▐░░░▌▒▌░░░▌░░░░░
░▀▄▀▄▀▄▀▀█░░░▐░░░▌░░▌▒▌░▀░▌░░░░░
░░░░░░░░░░▀▀▄▄▌▀▄▄▄░▌▒▌░░░▌░░░░░
░░░░░░░░░░░░░░▀▄▄▄▄▄▌▒▌░░░▌░░░░

Name: Anonymous 2013-10-08 21:01

>>8
Because it takes FOREVER.

Name: ✡卐❤ 2013-10-08 22:24

EUGENETICS PROGRAMMING

Name: Anonymous 2013-10-09 1:50

>>34
IF I SEE THAT FUCKING KIKE ONE MORE TIME...

Name: Anonymous 2013-10-09 3:43

Name: le rustle le jimmies 2013-10-09 4:17

U MAD ?

Name: Anonymous 2013-10-09 18:35

I found this http://www.cleveralgorithms.com/nature-inspired/evolution/genetic_programming.html
and made this http://bpaste.net/show/drTCe5TOehrzekcopfEz/
adding the 'if' macro and changing the target function to abs(x)
(if a b c d) works as: if (a<b) c, else d

and got this:
done! Solution: f=0, (if (- (- x 2) (- -2 x)) (* 1 x) (- (/ (- x x) x) x) x)

pretty neat, what's the next step?

Name: Anonymous 2013-10-09 18:37

>>40
killing yourself

Name: Anonymous 2013-10-09 19:07

>>41
='(

Name: Anonymous 2013-10-09 20:56

| dubs
v

Name: Anonymous 2013-10-09 21:31

>>45
thanks, I hope you enjoyed them as much as I did.

Name: Anonymous 2013-10-09 21:31

>>44
Nice dubs.

Name: New to programmings 2013-10-09 22:40

Well, I have the documents necessary to learn programming, and took some bio clases.
I'll try figuring something out I guess or die trying.

I think we need something along the lines of DNA + RNA and a 'compiler' like proteins, and that languages we use to program aren't suited to do this.

I dunno.

Name: Anonymous 2013-10-10 10:46

>>46
I was reading this
http://cswww.essex.ac.uk/staff/rpoli/gp-field-guide/21Representation.html#7_1
they seem to use lisp-like syntax and a small interpreter

Name: Anonymous 2013-10-11 17:06

Anyone ever had a genetic algorithm actually converge into a local minimum, when there was more than 6 variables to optimize?

Name: Anonymous 2013-10-11 17:17

I think I'll do some work with some circuits, and by that I mean a matrix of logic gates, with a few simple Conway's-game-of-life-esque rules on how they connect to the surrounding nodes. I'll try to make it find a simple 2-bit adder. Once it does that, select for size. Since I already have the simplest solution, I'll be able to focus on getting my interaction rules in line.

Name: 48 2013-10-11 17:24

>>49
NO! That's just useless. Why use GA for simple things, when anything your GA comes up with, your CPU already does faster? Instead, try to get an algorithm that calculates, say, the Riemann zeta function to a certain precision and is fast. Then I'll be impressed. So far I've never ever seen anything come out of GAs (or neural nets) that isn't a Rube Goldberg solution for some trivial problem.

Name: 48,50 2013-10-11 17:28

Something that produces prime numbers, detects if a number is prime, gamma function, numerical integration/differentiation function, that's the shit I want to see, not stupid logic gates that are already pretty much optimized by modern CPUs.

Name: Anonymous 2013-10-11 17:55

Something that produces repeating digits and detects if a number is dubs.

FUND IT

Name: Anonymous 2013-10-12 0:03

>>50
Because I'm working out the rules of the environment and testing them on simple things I already know the answer for, duh. Once I get the connection rules right for my adder to be build, I can start something kewler.

Name: Anonymous 2013-10-12 22:17

http://en.wikipedia.org/wiki/Grammatical_evolution
Just found out about this
You can directly map a list of integers to a always valid program, using only a few grammar rules
There's an example here http://cswww.essex.ac.uk/staff/rpoli/gp-field-guide/62ConstrainingStructures.html

Name: Anonymous 2013-10-13 3:31

Check em

Name: Anonymous 2013-10-14 12:03

>>54
but I can't seem to find papers using any cool grammars
it's only + - * / and sometimes ifs
I want some function and variable definitions and data structures with side effects damn it!

Name: Anonymous 2013-10-14 22:15

found something new and cool, Novelty Search
http://eplex.cs.ucf.edu/noveltysearch/userspage/
this one is so new it doesn't even have a wikipedia page

Name: Anonymous 2013-10-14 22:18

suck my cock dude

Name: Anonymous 2013-10-14 22:22

>>58
>le pedophile blowjobs

Name: Anonymous 2013-10-14 23:26

>le pedophile base 59 dubs

Name: Anonymous 2013-10-15 2:31

>>57
Shouldn't it be called hipster search?

Name: Anonymous 2013-10-19 6:37

DILBERT   SCOTT ADAMS

Dilbert : "EVERY TIME I THINK I'VE INVENTED SOMETHING, I FIND OUT IT ALREADY EXISTS.

Dilmom : "MAYBE THAT'S BECAUSE ALL MINDS ARE CONNECTED BY THE MORPHIC FIELD."

Dilbert : "MORPHIC FIELDS ARE PSEUDO-SCIENCE, MOM."

Dilmom : "I ALSO BLAME YOUR DAD'S CRAPPY GENES."


www.Dilbert.com

DilbertCartoonist@gmail.com

10-14-13 © 2013 Scott Adams, Inc. / Dist. by Universal Uclick

Name: Anonymous 2013-10-19 6:47

>>62
Hilarious

Name: Anonymous 2013-10-26 0:34

bump
I tried the Santa Fe Trail Problem, but GP seems to suck at it

Don't change these.
Name: Email:
Entire Thread Thread List