One of the things that i have always wondered about and hope to create in some basic form in the future is self modifying program code. Not programs that change within memory space but programs which actually write their own code/recompile based upon the outcome of events.
Now for this to occur your firstly you have to create some form of conscious model - IE allow some logic so the program can decide what event it acts on and judge what is desirable/good as opposed to bad/not desirable. This initially would be set by the programmer. Then you also need some way to sample the environment which the program exists in - ie sensors if it were to act in the physical world or someway to reach out and sample data if it were to live just as a program entity on the web.
This is akin to living organisms. The feedback mechanism is essentially pleasure and pain at its most basic level. If things are good, our brains hardwire the event into the neuron structure. And likewise if the event is non desirable. And we have parents and education systems as well who guide us and let us identify false postives - ie we might think that drugs feel good but our parents and education system allows us to identify these false positives and signal them as dangerous.
Also most living things need sleep. Well the self modifying program as well would need time to recompile its decisions and test them before going live again.
Now If one could create a very basic model that was very sensitive to the environment it exists in - and made decisions of good/bad during its runtime - we could theoretically create a learning program that could continue to become smarter.
Its not really that simple however but the basic principles are there. For example you need some method of modifying the conscious model - so the decisions of right and wrong can evolve based on experience.
So then if the conscious model/balance is right your program could evolve and learn based on its experience and how it perceives what is good/bad. The limit for such an entity would primarily be restricted by its hardware and its sensory input - throw more cpu cycles at it, add more memory - more storage space, create a new for of sensor for feedback and the program can continue to grow. What would be the potential of such an application?
Thoughts?
NOTE! For RC Helicopters think of the gyro. This application would not necessarily be self modifying but could set parameters based upon the pilots feedback of good/bad.
For example.. to determine best flying feel, a gyro could adjust the settings of parameters based upon the pilots input while flying. For example - two buttons on your transmitter - yes, no. You select roll rate. As you fly the helicopter you give feedback to the program YES or NO as the program makes incremental changes one way or the other - until you get to the perfect setting.
Off Topic Self Modifying Programs
Discussion in 'General Subjects' started by smakmeharder, Feb 13, 2015.
Comments
Discussion in 'General Subjects' started by smakmeharder, Feb 13, 2015.