123person Posted January 25, 2015 Posted January 25, 2015 The program that it writes doesn't have to be a complex one -- it would just be a starting point, then the program's creations could become increasingly more complex in the years thereafter.
EdEarl Posted January 25, 2015 Posted January 25, 2015 The program that it writes doesn't have to be a complex one -- it would just be a starting point, then the program's creations could become increasingly more complex in the years thereafter. It has been tried, with limited success. When you examine the problem closely, there are challenges no one has been able to solve. For example, such a program needs to know whether a new program does something useful, and if it does, is the current program a better solution or not than one that already exists. 1
ajb Posted January 25, 2015 Posted January 25, 2015 There already exists self-modifying codes, but this is not quite what you are asking about.
123person Posted January 25, 2015 Author Posted January 25, 2015 It has been tried, with limited success. When you examine the problem closely, there are challenges no one has been able to solve. For example, such a program needs to know whether a new program does something useful, and if it does, is the current program a better solution or not than one that already exists. Do you guys know of any authors I could research?
fiveworlds Posted January 25, 2015 Posted January 25, 2015 Many authors have written code that is self-replicating. Facebook for instance increases in size each day as people add to it. -2
John Cuthber Posted January 25, 2015 Posted January 25, 2015 Even I have written code that writes code, and I'm a pretty Mickey-Mouse programmer.
fiveworlds Posted January 25, 2015 Posted January 25, 2015 (edited) There was a space game a few years ago which would increase in complexity the longer it was played you start at level 1 and there was no limit to the number of levels. Also in a large number of online games NPC characters are generated by the game for the player to fight each NPC has it's own program to follow. Some games randomly generate NPC characters you can talk to, or who will fight with you in the game. Edited January 25, 2015 by fiveworlds
Strange Posted January 25, 2015 Posted January 25, 2015 Here is an early example: http://en.wikipedia.org/wiki/The_Last_One_%28software%29 The problem is that writing code is not the hard part: the hard part is defining the problem in sufficient detail. The reason that products the The Last One fail is because you still have to define what the code has to do, in detail, in some form. And that means you end with another programming language. But there are uses for automatic generation of programs. A common one in my industry is the generation of random but valid code sequences for test purposes: the idea being to generate software tests that provide good coverage. Another example is the use of genetic methods to find the best algorithm for an application.
EdEarl Posted January 25, 2015 Posted January 25, 2015 Do you guys know of any authors I could research? I don't know of any successes that resulted in peer reviewed published papers. Related work has been done in Self Modifying Code, you can follow the references herein. I've seen papers discussing the ideas in the news a rag. Quines are interesting. I think everyone agrees that it will take the AI singularity to achieve a program that can write significant programs.
123person Posted January 25, 2015 Author Posted January 25, 2015 (edited) Here is an early example: http://en.wikipedia.org/wiki/The_Last_One_%28software%29 How did you find this? Edited January 25, 2015 by 123person
Strange Posted January 25, 2015 Posted January 25, 2015 How did you find this? There was a lot of news about it at the time.
Robittybob1 Posted January 25, 2015 Posted January 25, 2015 It has been tried, with limited success. When you examine the problem closely, there are challenges no one has been able to solve. For example, such a program needs to know whether a new program does something useful, and if it does, is the current program a better solution or not than one that already exists. I thought it could be a process of evolution. Have random additions etc and see if there is any logic in the new bit that improves or adds to the previous bits.
zapatos Posted January 26, 2015 Posted January 26, 2015 I was a programmer back in the 1980's and we were using programs that wrote programs back then.
Sensei Posted January 26, 2015 Posted January 26, 2015 (edited) There was a space game a few years ago which would increase in complexity the longer it was played you start at level 1 and there was no limit to the number of levels. Also in a large number of online games NPC characters are generated by the game for the player to fight each NPC has it's own program to follow. Some games randomly generate NPC characters you can talk to, or who will fight with you in the game. Again, and again, it has nothing to do with subject of this thread.. Learning by NPC is not implemented by self-modifying code and then execution of that code, but storing data in database. Ready code is just reading and writing database. No limit in levels - because they're randomly generated. Edited January 26, 2015 by Sensei
Endy0816 Posted January 26, 2015 Posted January 26, 2015 I thought it could be a process of evolution. Have random additions etc and see if there is any logic in the new bit that improves or adds to the previous bits. You see this with artificial life programs. Something needs to define the problem though. here's a good example: http://rednuht.org/genetic_walkers/ If you want something a bit meatier to look at: '''''''''''''''''''''''' Gene: 1 Begins at position 1 ''''''''''''''''''''''' cond dropbool -24 -749 -49 *0 inc 12 0 dup *.trefbody mod false else .shoot inc '''''''''''''''''''''''' Gene: 1 Ends at position 16 ''''''''''''''''''''''' '''''''''''''''''''''''' Gene: 2 Begins at position 17 ''''''''''''''''''''''' start '''''''''''''''''''''''' Gene: 2 Ends at position 17 ''''''''''''''''''''''' '''''''''''''''''''''''' Gene: 3 Begins at position 18 ''''''''''''''''''''''' start 7 true 236 298 282 317 mult dropbool 240 383 *370 angle xor <= 400 rnd & add store *.aimright sub -38 dec %= -44 inc ~ 48 '''''''''''''''''''''''' Gene: 3 Ends at position 46 ''''''''''''''''''''''' '''''''''''''''''''''''' Gene: 4 Begins at position 47 ''''''''''''''''''''''' start dec 1282 angle %= *-29 -- = 9 -36 '''''''''''''''''''''''' Gene: 4 Ends at position 56 ''''''''''''''''''''''' '''''''''''''''''''''''' Gene: 5 Begins at position 57 ''''''''''''''''''''''' start = >= and < dec inc 2 .sx store pow *.focuseye ++ sub stop '''''''''''''''''''''''' Gene: 5 Ends at position 71 ''''''''''''''''''''''' .robage store '''''''''''''''''''''''' Gene: 6 Begins at position 74 ''''''''''''''''''''''' else | < -45 inc store * .timer store & > '''''''''''''''''''''''' Gene: 6 Ends at position 84 ''''''''''''''''''''''' '''''''''''''''''''''''' Gene: 7 Begins at position 85 ''''''''''''''''''''''' start .shoot dec & sqr not ~ or '''''''''''''''''''''''' Gene: 7 Ends at position 92 ''''''''''''''''''''''' '''''''''''''''''''''''' Gene: 8 Begins at position 93 ''''''''''''''''''''''' cond inc floor 2 -1 ^ '''''''''''''''''''''''' Gene: 8 Ends at position 98 ''''''''''''''''''''''' '''''''''''''''''''''''' Gene: 9 Begins at position 99 ''''''''''''''''''''''' cond '''''''''''''''''''''''' Gene: 9 Ends at position 99 ''''''''''''''''''''''' '''''''''''''''''''''''' Gene: 10 Begins at position 100 ''''''''''''''''''''''' cond sqr ++ -219 overbool start store 108 181 '''''''''''''''''''''''' Gene: 10 Ends at position 108 ''''''''''''''''''''''' '''''''''''''''''''''''' Gene: 11 Begins at position 109 ''''''''''''''''''''''' cond dec false *-222 mult 1067 overbool *.aimleft else * dropbool 7 '''''''''''''''''''''''' Gene: 11 Ends at position 120 ''''''''''''''''''''''' '''''''''''''''''''''''' Gene: 12 Begins at position 121 ''''''''''''''''''''''' start dec *.dn and << 59 * -18 16 clear mod <= and <<'''''''''''''''''''''''' Gene: 12 Ends at position 134 ''''''''''''''''''''''' Code not written by any human being... More like molding clay than programming when you are working with it.
Strange Posted January 26, 2015 Posted January 26, 2015 I thought it could be a process of evolution. Have random additions etc and see if there is any logic in the new bit that improves or adds to the previous bits. http://en.wikipedia.org/wiki/Evolutionary_algorithm
Robittybob1 Posted January 26, 2015 Posted January 26, 2015 http://en.wikipedia.org/wiki/Evolutionary_algorithm I started doing something like "evolution" some years back but I was using Windows Basic (like the language of Excel macros). I thought of an Excel workbook as an organism well at least a protein and I would get a macro to write the RNA and DNA code to get the organism to live and reproduce. That was as far as I got but I was then going to try and make it evolve but gave up for some reason.
MomentTheory Posted January 28, 2015 Posted January 28, 2015 A program can only run until a solution has been fulfilled and then it will repeat, waiting for the next problem. Even if the computer program finds a solution an unknown problem, to foresee an outcome beyond the said solution is impossible. In other words, it must redefine itself prior to solving the problem, in anticipation of a solution that it did not yet solve, in order to prevent itself from looping. That would require foresight into the future, which computers do not have, yet.
Endy0816 Posted January 28, 2015 Posted January 28, 2015 Have you worked with any artificial life programs? Decent ones will run just as long as you feel like letting them without entering into any kind of loop. Programs adapting forcing other programs to adapt is the main key(digital version of the Red Queen Hypothesis). If the search space isn't static then a 'final' solution will never be reached.
Sathanas Posted February 17, 2015 Posted February 17, 2015 The program that it writes doesn't have to be a complex one -- it would just be a starting point, then the program's creations could become increasingly more complex in the years thereafter. Because a computer cannot think.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now